private Builder addItemIf(boolean condition, ItemSpec<?> spec) { if (!condition) { return this; } checkNotNull(spec, "Input display item cannot be null"); checkNotNull(spec.getValue(), "Input display value cannot be null"); if (spec.getNamespace() == null) { spec = spec.withNamespace(latestNs); } Item item = Item.create(spec, latestPath); Identifier id = Identifier.of(item.getPath(), item.getNamespace(), item.getKey()); checkArgument( !entries.containsKey(id), "Display data key (%s) is not unique within the specified path and namespace: %s%s.", item.getKey(), item.getPath(), item.getNamespace()); entries.put(id, item); return this; }
@Override public String toString() { return String.format("%s%s:%s=%s", getPath(), getNamespace().getName(), getKey(), getValue()); } }
private DisplayDataComparison checkSubset( DisplayData displayData, DisplayData included, String path) { DisplayDataComparison comparison = new DisplayDataComparison(displayData.items()); for (Item item : included.items()) { Item matchedItem = displayData .asMap() .get( DisplayData.Identifier.of( DisplayData.Path.absolute(path), item.getNamespace(), item.getKey())); if (matchedItem != null) { comparison.matched(matchedItem); } else { comparison.missing(item); } } return comparison; }
@Override protected String featureValueOf(DisplayData.Item actual) { return actual.getKey(); } };
@Test public void testAutoValue() { DisplayData data = DisplayData.from(new AutoValue_DisplayDataTest_Foo()); Item item = Iterables.getOnlyElement(data.asMap().values()); assertEquals(Foo.class, item.getNamespace()); }
@Override protected String featureValueOf(DisplayData.Item actual) { return actual.getLabel(); } };
@Override protected T featureValueOf(DisplayData.Item actual) { @SuppressWarnings("unchecked") T value = (T) actual.getValue(); return value; } };
@Override protected DisplayData.Type featureValueOf(DisplayData.Item actual) { return actual.getType(); } };
@Override protected T featureValueOf(DisplayData.Item actual) { @SuppressWarnings("unchecked") T shortValue = (T) actual.getShortValue(); return shortValue; } };
@Override protected Class<?> featureValueOf(DisplayData.Item actual) { return actual.getNamespace(); } };
@Override protected DisplayData.Path featureValueOf(DisplayData.Item actual) { return actual.getPath(); } };
@Override protected String featureValueOf(DisplayData.Item actual) { return actual.getLinkUrl(); } };