use of com.webcohesion.enunciate.modules.jackson.model.Member in project enunciate by stoicflame.
the class DataTypeImpl method getPropertyMetadata.
@Override
public Map<String, String> getPropertyMetadata() {
Map<String, String> propertyMetadata = new LinkedHashMap<String, String>();
boolean showConstraints = false;
boolean showDefaultValue = false;
for (Member member : this.typeDefinition.getMembers()) {
if (BeanValidationUtils.hasConstraints(member, member.isRequired())) {
showConstraints = true;
}
if (member.getDefaultValue() != null) {
showDefaultValue = true;
}
}
if (showConstraints) {
propertyMetadata.put("constraints", "constraints");
}
if (showDefaultValue) {
propertyMetadata.put("defaultValue", "default");
}
return propertyMetadata;
}
use of com.webcohesion.enunciate.modules.jackson.model.Member in project enunciate by stoicflame.
the class ObjectDataTypeImpl method getProperties.
@Override
public List<? extends Property> getProperties() {
List<Member> members = this.typeDefinition.getMembers();
ArrayList<Property> properties;
if (this.typeDefinition.getTypeIdInclusion() == JsonTypeInfo.As.PROPERTY) {
properties = new ArrayList<Property>(members.size() + 1);
if (this.typeDefinition.getTypeIdProperty() != null && members.stream().noneMatch(m -> this.typeDefinition.getTypeIdProperty().equals(m.getName()))) {
properties.add(new TypeReferencePropertyImpl(this.typeDefinition.getTypeIdProperty()));
}
} else {
properties = new ArrayList<Property>(members.size());
}
FacetFilter facetFilter = this.registrationContext.getFacetFilter();
for (Member member : members) {
if (!facetFilter.accept(member)) {
continue;
}
if (member.getChoices().size() > 1) {
JsonTypeInfo.As inclusion = member.getSubtypeIdInclusion();
if (inclusion == JsonTypeInfo.As.WRAPPER_ARRAY || inclusion == JsonTypeInfo.As.WRAPPER_OBJECT) {
for (Member choice : member.getChoices()) {
properties.add(new PropertyImpl(choice, registrationContext, member.isCollectionType()));
}
} else {
properties.add(new PropertyImpl(member, registrationContext));
}
} else {
properties.add(new PropertyImpl(member, registrationContext));
}
}
return properties;
}
Aggregations