public boolean hasExpander(Class<?> type) { checkNotNull(type); for (EntityExpanderResolver resolver : resolvers) { if (resolver.hasExpander(type)) { return true; } } return false; }
private void expandFields(Collection<Field> expandableFields, Object entity, ExpandParameter expandParameter, EntityExpanderResolver expanderResolver) { for (Field field : expandableFields) { final Expandable expandable = getExpandable(field); if (expandParameter.shouldExpand(expandable) && expanderResolver.hasExpander(field.getType())) { // we know the expander is not null, as per ExpanderResolver contract final EntityExpander<Object> entityExpander = expanderResolver.getExpander(field.getType()); final ExpandContext<Object> context = new DefaultExpandContext<Object>(getFieldValue(field, entity), expandable, expandParameter); setFieldValue(field, entity, entityExpander.expand(context, expanderResolver, this)); } } }