public JCMTypeWildcard(JCMTypeFactory factory, JClass type) { super(factory, type); boundType = factory.create(type._extends()); }
/** * Retrieve a List of the fields of each ancestor class. I walk up the class hierarchy * until I reach a class that isn't being generated by JAXB. */ protected List<JFieldVar> getSuperclassFields(final JDefinedClass implClass) { final List<JFieldVar> fieldList = new LinkedList<JFieldVar>(); JClass superclass = implClass._extends(); while (superclass instanceof JDefinedClass) { fieldList.addAll(0, ((JDefinedClass)superclass).fields().values()); superclass = superclass._extends(); } return fieldList; } }
public JClass _extends() { JClass base = basis._extends(); if(base==null) return base; return base.substituteParams(basis.typeParams(),args); }
public JClass _extends() { JClass base = basis._extends(); if(base==null) return base; return base.substituteParams(basis.typeParams(),args); }
public JClass _extends() { JClass base = basis._extends(); if(base==null) return base; return base.substituteParams(basis.typeParams(),args); }
public JClass _extends() { JClass base = basis._extends(); if(base==null) return base; return base.substituteParams(basis.typeParams(),args); }
public JClass _extends() { JClass base = basis._extends(); if(base==null) return base; return base.substituteParams(basis.typeParams(),args); }
private JFieldVar parentContainsField(JClass pojo, String name) { if (pojo != null && !pojo.fullName().equals(Object.class.getName())) { JClass parent = pojo._extends(); if (parent != null) { // Our parent has a parent, lets check if it has it JFieldVar parentField = parentContainsField(parent, name); if (parentField != null) { return parentField; } else { if (parent instanceof JDefinedClass) { return ((JDefinedClass) parent).fields().get(name); } } } } return null; }
public void generate(JFormatter f) { if(bound._extends()==null) f.p("?"); // instead of "? extends Object" else f.p("? extends").g(bound); } }
/** * Returns the set of all classes/interfaces that a given type * implements/extends, including itself. * * For example, if you pass java.io.FilterInputStream, then the returned * set will contain java.lang.Object, java.lang.InputStream, and * java.lang.FilterInputStream. */ private static void getAssignableTypes( JClass t, Set<JClass> s ) { if(!s.add(t)) return; // add its raw type s.add(t.erasure()); // if this type is added for the first time, // recursively process the super class. JClass _super = t._extends(); if(_super!=null) getAssignableTypes(_super,s); // recursively process all implemented interfaces Iterator<JClass> itr = t._implements(); while(itr.hasNext()) getAssignableTypes(itr.next(),s); }
/** * Returns the set of all classes/interfaces that a given type * implements/extends, including itself. * * For example, if you pass java.io.FilterInputStream, then the returned * set will contain java.lang.Object, java.lang.InputStream, and * java.lang.FilterInputStream. */ private static void getAssignableTypes( JClass t, Set<JClass> s ) { if(!s.add(t)) return; // add its raw type s.add(t.erasure()); // if this type is added for the first time, // recursively process the super class. JClass _super = t._extends(); if(_super!=null) getAssignableTypes(_super,s); // recursively process all implemented interfaces Iterator<JClass> itr = t._implements(); while(itr.hasNext()) getAssignableTypes(itr.next(),s); }
public void generate(JFormatter f) { if(bound._extends()==null) f.p("?"); // instead of "? extends Object" else f.p("? extends").g(bound); } }
public void generate(JFormatter f) { if(bound._extends()==null) f.p("?"); // instead of "? extends Object" else f.p("? extends").g(bound); } }
public void generate(JFormatter f) { if(bound._extends()==null) f.p("?"); // instead of "? extends Object" else f.p("? extends").g(bound); } }
public void generate(JFormatter f) { if(bound._extends()==null) f.p("?"); // instead of "? extends Object" else f.p("? extends").g(bound); } }
public Boolean visit(JCMTypeWildcard type) { return getType().isAssignableFrom(type.getType()._extends()); }; };
private Map<String, JVar> getSuperParametersToAdd(JClass pojo) { Map<String, JVar> tFields = new LinkedHashMap<>(); JClass parent = pojo._extends(); if (!parent.name().equals(Object.class.getSimpleName())) { parent = CodeModelHelper.findFirstClassBySimpleName(this.pojoModel, parent.name()); if (parent instanceof JDefinedClass) { JDefinedClass jParent = (JDefinedClass) parent; JMethod constructor = null; Iterator<JMethod> constructors = jParent.constructors(); while (constructors.hasNext()) { JMethod targetConstructor = constructors.next(); if (constructor == null || constructor.params().size() < targetConstructor.params().size()) { constructor = targetConstructor; } } for (JVar var : constructor.params()) { tFields.put(var.name(), var); } } } return tFields; }
@Override public JExpression f(final JBlock block, final JVar instanceParam, final JVar valueParam) { return JExpr.assign(instanceParam.ref(propertyName), JExpr._new(jaxbElementClass).arg(JExpr._this().ref("schemaName")).arg(propertyType._extends().dotclass()).arg(valueParam)); } };
JMethod generateBuildMethod(final JMethod initMethod) { final JMethod buildMethod = this.builderClass.raw.method(JMod.PUBLIC, this.definedClass, this.settings.getBuildMethodName()); if (!(this.builderClass.type._extends() == null || this.builderClass.type._extends().name().equals("java.lang.Object"))) { buildMethod.annotate(Override.class); } if (this.implement) { final JExpression buildExpression = JExpr._this().invoke(initMethod).arg(JExpr._new(this.definedClass)); if (this.settings.isCopyAlways()) { buildMethod.body()._return(buildExpression); } else if (this.definedClass.isAbstract()) { buildMethod.body()._return(JExpr.cast(this.definedClass, this.storedValueField)); } else { final JConditional jConditional = buildMethod.body()._if(this.storedValueField.eq(JExpr._null())); jConditional._then()._return(buildExpression); jConditional._else()._return(JExpr.cast(this.definedClass, this.storedValueField)); } } return buildMethod; }