Refine search
private JFieldVar addAdditionalPropertiesField(JDefinedClass jclass, JType propertyType) { JClass propertiesMapType = jclass.owner().ref(Map.class); propertiesMapType = propertiesMapType.narrow(jclass.owner().ref(String.class), propertyType.boxify()); JClass propertiesMapImplType = jclass.owner().ref(HashMap.class); propertiesMapImplType = propertiesMapImplType.narrow(jclass.owner().ref(String.class), propertyType.boxify()); JFieldVar field = jclass.field(JMod.PRIVATE, propertiesMapType, "additionalProperties"); ruleFactory.getAnnotator().additionalPropertiesField(field, jclass, "additionalProperties"); field.init(JExpr._new(propertiesMapImplType)); return field; }
itemType = ruleFactory.getSchemaRule().apply(makeSingular(nodeName), node.get("items"), node, jpackage, schema); } else { itemType = jpackage.owner().ref(Object.class); arrayType = jpackage.owner().ref(Set.class).narrow(itemType); } else { arrayType = jpackage.owner().ref(List.class).narrow(itemType);
private JType getReturnType(final JDefinedClass c, final JFieldVar field, final boolean required, final boolean usesOptional) { JType returnType = field.type(); if (ruleFactory.getGenerationConfig().isUseOptionalForGetters() || usesOptional) { if (!required && field.type().isReference()) { returnType = c.owner().ref("java.util.Optional").narrow(field.type()); } } return returnType; }
private JFieldVar addQuickLookupMap(JDefinedClass _enum, JType backingType) { JClass lookupType = _enum.owner().ref(Map.class).narrow(backingType.boxify(), _enum); JFieldVar lookupMap = _enum.field(JMod.PRIVATE | JMod.STATIC | JMod.FINAL, lookupType, "CONSTANTS"); JClass lookupImplType = _enum.owner().ref(HashMap.class).narrow(backingType.boxify(), _enum); lookupMap.init(JExpr._new(lookupImplType)); JForEach forEach = _enum.init().forEach(_enum, "c", JExpr.invoke("values")); JInvocation put = forEach.body().invoke(lookupMap, "put"); put.arg(forEach.var().ref("value")); put.arg(forEach.var()); return lookupMap; }
JClass listImplClass = fieldType.owner().ref(ArrayList.class); listImplClass = listImplClass.narrow(listGenericType); JInvocation invokeAsList = fieldType.owner().ref(Arrays.class).staticInvoke("asList"); for (JsonNode defaultValue : node) { invokeAsList.arg(getDefaultValue(listGenericType, defaultValue));
JClass setImplClass = fieldType.owner().ref(LinkedHashSet.class); setImplClass = setImplClass.narrow(setGenericType); JInvocation invokeAsList = fieldType.owner().ref(Arrays.class).staticInvoke("asList"); for (JsonNode defaultValue : node) { invokeAsList.arg(getDefaultValue(setGenericType, defaultValue));
private static JClass buildClass(JClassContainer _package, ClassOrInterfaceType c, int arrayCount) { final String packagePrefix = (c.getScope() != null) ? c.getScope().toString() + "." : ""; JClass _class = _package.owner().ref(packagePrefix + c.getName()); resolvedClass = buildClass(_package, (ClassOrInterfaceType) wildcardType.getExtends().getType(), 0).wildcard(); } else { resolvedClass = _package.owner().ref(Object.class).wildcard(); _class = _class.narrow(genericArgumentClasses);
protected void generate() { conv = createConverter(itemType); conv.addMetadata(xmlTokenName(),itemType); if(!isVariableExpansion() && toJtype.visit(itemType,null)!=cm.ref(String.class)) printError("variableExpansion=false is only allowed on String", p.decl()); if(!generateNoopConfigInjector) { JVar value = var( packer!=null ? cm.ref(List.class).narrow(conv.sourceType()) : conv.sourceType(),getXmlValue()); if(!isRequired()) body._if(value.eq(JExpr._null()))._then()._return(); if(packer!=null) handleMultiValue(value); else assign(conv.as(value,itemType)); } if(p.isKey()) addKey(); }
@Override public JType visitDeclared(DeclaredType t, Void __) { String name = n(((TypeElement) t.asElement()).getQualifiedName()); if (name.isEmpty()) throw new UnsupportedOperationException("Anonymous class: "+t); JClass base = codeModel.ref(name); if (t.getTypeArguments().isEmpty()) return base; List<JClass> typeArgs = new ArrayList<>(); t.getTypeArguments().forEach(a -> typeArgs.add((JClass) t(a, typeVars))); return base.narrow(typeArgs); }
private JFieldVar addAdditionalPropertiesField(JDefinedClass jclass, JType propertyType) { JClass propertiesMapType = jclass.owner().ref(Map.class); propertiesMapType = propertiesMapType.narrow(jclass.owner().ref(String.class), propertyType.boxify()); JClass propertiesMapImplType = jclass.owner().ref(HashMap.class); propertiesMapImplType = propertiesMapImplType.narrow(jclass.owner().ref(String.class), propertyType.boxify()); JFieldVar field = jclass.field(JMod.PRIVATE, propertiesMapType, "additionalProperties"); ruleFactory.getAnnotator().additionalPropertiesField(field, jclass, "additionalProperties"); field.init(JExpr._new(propertiesMapImplType)); return field; }