@Override public String toString() { StringBuilder strBuilder = new StringBuilder(entityType.getName()).append('{'); strBuilder.append( stream(entityType.getAtomicAttributes().spliterator(), false) .map( attr -> { StringBuilder attrStrBuilder = new StringBuilder(attr.getName()).append('='); if (EntityTypeUtils.isSingleReferenceType(attr)) { Entity refEntity = getEntity(attr.getName()); attrStrBuilder.append(refEntity != null ? refEntity.getIdValue() : null); } else if (EntityTypeUtils.isMultipleReferenceType(attr)) { attrStrBuilder .append('[') .append( stream(getEntities(attr.getName()).spliterator(), false) .map(Entity::getIdValue) .map(Object::toString) .collect(joining(","))) .append(']'); } else { attrStrBuilder.append(get(attr.getName())); } return attrStrBuilder.toString(); }) .collect(Collectors.joining("&"))); strBuilder.append('}'); return strBuilder.toString(); }
@Override public Iterable<String> getAttributeNames() { return EntityTypeUtils.getAttributeNames(entityType.getAtomicAttributes()); }
@Override public Iterable<String> getAttributeNames() { return stream(entityType.getAtomicAttributes().spliterator(), false).map(Attribute::getName) ::iterator; }