/** * {@inheritDoc} * * This implementation delegates to {@link #get(TypedName)}. */ @Override public int getInteger(TypedName<Integer> name) { return get(name); }
@Override public Set<String> keySet() { return getAttributeNames(); } }
@Override public int hashCode() { HashCodeBuilder hcb = new HashCodeBuilder(); hcb.append(getType()) .append(getId()); for (Attribute<?> av: getAttributes()) { hcb.append(av.getName()).append(av.getValue()); } return hcb.toHashCode(); }
@Override public String toString() { ToStringBuilder tsb = new ToStringBuilder(this, ToStringStyle.SHORT_PREFIX_STYLE); tsb.append("type", getType()); for (Attribute<?> av: getAttributes()) { tsb.append(av.getTypedName().toString(), av.getValue()); } return tsb.toString(); }
@Override public Object get(Object key) { if (key instanceof String) { return maybeGet((String) key); } else { return null; } }
@Override public int size() { return getTypedAttributeNames().size(); } }
@Override public boolean containsKey(Object key) { return key instanceof String && hasAttribute((String) key); }
@Override public int hashCode() { HashCodeBuilder hcb = new HashCodeBuilder(); hcb.append(getType()) .append(getId()); for (Attribute<?> av: getAttributes()) { hcb.append(av.getName()).append(av.getValue()); } return hcb.toHashCode(); }
@Override public void describeTo(DescriptionWriter writer) { writer.putField("type", getType()); for (Attribute<?> av: getAttributes()) { writer.putField(av.getTypedName().toString(), av.getValue()); } }
/** * {@inheritDoc} * * This implementation delegates to {@link #maybeGet(String)}. */ @Nonnull @Override public Object get(String attr) { Object val = maybeGet(attr); if (val == null) { throw new NoSuchAttributeException(attr); } else { return val; } }
@Override public Iterator<Attribute<?>> iterator() { return Iterators.transform(getTypedAttributeNames().iterator(), new Function<TypedName<?>, Attribute<?>>() { @Nullable @Override public Attribute<?> apply(@Nullable TypedName<?> input) { assert input != null; return Attribute.create((TypedName) input, get(input)); } }); }
@Override public boolean containsKey(Object key) { return key instanceof String && hasAttribute((String) key); }
@Override public String toString() { ToStringBuilder tsb = new ToStringBuilder(this, ToStringStyle.SHORT_PREFIX_STYLE); tsb.append("type", getType()); for (Attribute<?> av: getAttributes()) { tsb.append(av.getTypedName().toString(), av.getValue()); } return tsb.toString(); }
/** * {@inheritDoc} * * This implementation delegates to {@link #get(TypedName)}. */ @Override public double getDouble(TypedName<Double> name) { return get(name); }
/** * {@inheritDoc} * * This implementation delegates to {@link #hasAttribute(String)} */ @Override public boolean hasAttribute(TypedName<?> name) { Object value = maybeGet(name.getName()); return value != null && name.getRawType().isInstance(value); }
@Override public Iterator<Map.Entry<String, Object>> iterator() { return new EntryIter(getTypedAttributeNames().iterator()); }
@Override public int size() { return getAttributeNames().size(); } }
@Override public void describeTo(DescriptionWriter writer) { writer.putField("type", getType()); for (Attribute<?> av: getAttributes()) { writer.putField(av.getTypedName().toString(), av.getValue()); } }