private boolean extendsParcelable(final JDefinedClass jclass) { final java.util.Iterator<JClass> interfaces = jclass._extends() != null ? jclass._extends()._implements() : null; if (interfaces != null) { while (interfaces.hasNext()) { final JClass iface = interfaces.next(); if (iface.erasure().name().equals("Parcelable")) { return true; } } } return false; }
private static JDefinedClass definedClassOrNullFromType(JType type) { if (type == null || type.isPrimitive()) { return null; } JClass fieldClass = type.boxify(); JPackage jPackage = fieldClass._package(); return jPackage._getClass(fieldClass.name()); }
/** * Applies this schema rule to take the required code generation steps. * <p> * For each property present within the properties node, this rule will * invoke the 'property' rule provided by the given schema mapper. * * @param nodeName * the name of the node for which properties are being added * @param node * the properties node, containing property names and their * definition * @param jclass * the Java type which will have the given properties added * @return the given jclass */ @Override public JDefinedClass apply(String nodeName, JsonNode node, JsonNode parent, JDefinedClass jclass, Schema schema) { if (node == null) { node = JsonNodeFactory.instance.objectNode(); } for (Iterator<String> properties = node.fieldNames(); properties.hasNext(); ) { String property = properties.next(); ruleFactory.getPropertyRule().apply(property, node.get(property), node, jclass, schema); } if (ruleFactory.getGenerationConfig().isGenerateBuilders() && !jclass._extends().name().equals("Object")) { addOverrideBuilders(jclass, jclass.owner()._getClass(jclass._extends().fullName())); } ruleFactory.getAnnotator().propertyOrder(jclass, node); return jclass; }
@Override public TypeName getGeneratedJavaType() { return ClassName.get(packageName, jclass.name()); } }
/** * Removes a class from this package. */ public void remove(JClass c) { if (c._package() != this) throw new IllegalArgumentException( "the specified class is not a member of this package," + " or it is a referenced class"); // note that c may not be a member of classes. // this happens when someone is trying to remove a non generated class classes.remove(c.name()); if (upperCaseClassMap != null) upperCaseClassMap.remove(c.name().toUpperCase()); }
/** * Removes a class from this package. */ public void remove(JClass c) { if (c._package() != this) throw new IllegalArgumentException( "the specified class is not a member of this package," + " or it is a referenced class"); // note that c may not be a member of classes. // this happens when someone is trying to remove a non generated class classes.remove(c.name()); if (upperCaseClassMap != null) upperCaseClassMap.remove(c.name().toUpperCase()); }
/** * Checks if a given name is already defined as a class/interface */ public boolean isDefined(String classLocalName) { Iterator itr = classes(); while (itr.hasNext()) { if (((JClass)itr.next()).name().equals(classLocalName)) return true; } return false; }
private String createSampleContent( @Nonnull JClass domainType ) { String simpleName = NamingSupport.createVarName( domainType.name() ); return "<?xml version=\"1.0\"?>\n" + "<" + simpleName + ">\n" + "</" + simpleName + ">\n" ; } }
private boolean extendsParcelable(final JDefinedClass jclass) { final java.util.Iterator<JClass> interfaces = jclass._extends() != null ? jclass._extends()._implements() : null; if (interfaces != null) { while (interfaces.hasNext()) { final JClass iface = interfaces.next(); if (iface.erasure().name().equals("Parcelable")) { return true; } } } return false; }
@Override public String toString() { return "Candidate[" + getClassName() + " in field " + getFieldClass().name() + " " + getFieldName() + "]"; } }
@Override public String toString() { return "Candidate[" + getClassName() + " in field " + getFieldClass().name() + " " + getFieldName() + "]"; } }
private static JDefinedClass definedClassOrNullFromType(JType type) { if (type == null || type.isPrimitive()) { return null; } JClass fieldClass = type.boxify(); JPackage jPackage = fieldClass._package(); return jPackage._getClass(fieldClass.name()); }
public static String getPackagedClassName(final JClass theClass) { return (theClass.outer() == null ? theClass.fullName() : getPackagedClassName(theClass.outer()) + "$" + theClass.name()); }
public static String getClassName(final JClass theClass) { return (theClass.outer() == null ? theClass.fullName() : getClassName(theClass.outer()) + "$" + theClass.name()); }
@Nonnull @Override protected JExpression createExpectedExpression( @Nonnull JClass testClass, @Nonnull JClass domainType ) { String resourceName = domainType.name() + "_1.0.0_1.json"; JPackage testClassPackage = testClass._package(); if ( !testClassPackage.hasResourceFile( resourceName ) ) { JTextFile resource = new JTextFile( resourceName ); resource.setContents( createSampleContent( domainType ) ); testClassPackage.addResourceFile( resource ); } return testClass.dotclass().invoke( METHOD_GET_RESOURCE ).arg( resourceName ); }
@Nonnull @Override protected JExpression createExpectedExpression( @Nonnull JClass testClass, @Nonnull JClass domainType ) { String resourceName = domainType.name() + "_1.0.0_1.xml"; JPackage testClassPackage = testClass._package(); if ( !testClassPackage.hasResourceFile( resourceName ) ) { JTextFile resource = new JTextFile( resourceName ); resource.setContents( createSampleContent( domainType ) ); testClassPackage.addResourceFile( resource ); } return testClass.dotclass().invoke( METHOD_GET_RESOURCE ).arg( resourceName ); }
private void renderBuild(JDefinedClass builderClass) { JMethod buildMethod = builderClass.method(JMod.PUBLIC, builderClass.outer(), "build"); buildMethod.body().directStatement("return new " + builderClass.outer().name() + "(this);"); }