public MApiModelBuilder(MComplexType type, String name) { this.type = type; this.name = Strings.isEmpty(name) ? type.getName() : name; this.title = type.getTitle(); this.summary = type.getSummary(); this.description = type.getDescription(); this.entity = type.isEntity(); boolean annotatedOnly = false; if(null != type.getJavaType()) { this.javaTypes.add(type.getJavaType()); ApiModel a = type.getJavaType().getAnnotation(ApiModel.class); if(null != a) { this.name = Strings.firstNotEmpty(a.name(), a.value(), this.name); this.description = Strings.firstNotEmpty(a.desc(), this.description); annotatedOnly = a.explicitProperties(); } } for (MProperty mp : type.getProperties()) { if(annotatedOnly) { BeanProperty bp = mp.getBeanProperty(); if(null != bp && !bp.isAnnotationPresent(ApiProperty.class)) { continue; } } addProperty(new MApiPropertyBuilder(mp)); } }
public MApiPropertyBuilder readProperty(String name, Map<String,Object> map, SwaggerExtension ex) { MApiPropertyBuilder mp = new MApiPropertyBuilder(); JsonObject p = JsonObject.of(map); readParameterBase(name, p, mp, ex); mp.setName(name); //yaml read all values to string. mp.setIdentity(p.getBoolean(X_IDENTITY, false)); mp.setUnique(p.getBoolean(X_UNIQUE, false)); mp.setSortable(p.get(X_SORTABLE, Boolean.class)); mp.setFilterable(p.get(X_FILTERABLE, Boolean.class)); mp.setCreatable(p.get(X_CREATABLE, Boolean.class)); mp.setUpdatable(p.get(X_UPDATABLE, Boolean.class)); mp.setExpandable(p.get(X_EXPANDABLE, Boolean.class)); return mp; }
public MApiModelBuilder toApiModel(MetaApi api, MetaModel mm) { MApiModelBuilder m = new MApiModelBuilder(); MetaUtils.copyNamed(mm, m); if(null != mm.getMappingClass()) { m.addJavaType(mm.getMappingClass()); } mm.getProperties().values().forEach(mp -> { MApiPropertyBuilder p = new MApiPropertyBuilder(); MetaUtils.copyNamed(mp, p); mp.setApiProperty(p); p.setType(mp.getResolvedType()); p.setFormat(mp.getFormat()); p.setRequired(mp.getRequired()); p.setReadOnly(mp.getReadOnly()); p.setFile(mp.isFile()); p.setBeanProperty(mp.getMappingProperty()); p.setDefaultValue(mp.getDefaults()); p.setEnumValues(mp.getEnums()); if(p.isReadOnly()) { p.setRequired(false); } MApiValidationBuilder v = new MApiValidationBuilder(); p.setValidation(v); MetaUtils.tryCopyValidation(mp, v); MetaUtils.tryCopyValidation(mp.getResolvedFormat(), v); m.addProperty(p); }); mm.setApiModel(m); return m; }
MApiPropertyBuilder p = new MApiPropertyBuilder();