JCodeModel cm = new JCodeModel(); JDefinedClass dc = cm._class("foo.Bar"); JMethod m = dc.method(0, int.class, "foo"); m.body()._return(JExpr.lit(5)); File file = new File("./target/classes"); file.mkdirs(); cm.build(file);
private JDefinedClass createEnum(JsonNode node, String nodeName, JClassContainer container) throws ClassAlreadyExistsException { try { if (node.has("javaType")) { String fqn = node.get("javaType").asText(); if (isPrimitive(fqn, container.owner())) { throw new GenerationException("Primitive type '" + fqn + "' cannot be used as an enum."); } try { Class<?> existingClass = Thread.currentThread().getContextClassLoader().loadClass(fqn); throw new ClassAlreadyExistsException(container.owner().ref(existingClass)); } catch (ClassNotFoundException e) { return container.owner()._class(fqn, ClassType.ENUM); } } else { try { return container._class(JMod.PUBLIC, getEnumName(nodeName, node, container), ClassType.ENUM); } catch (JClassAlreadyExistsException e) { throw new GenerationException(e); } } } catch (JClassAlreadyExistsException e) { throw new ClassAlreadyExistsException(e.getExistingClass()); } }
private void annotateMetatadataValidator(JDefinedClass clazz) { if (clazz.name().equals("PodTemplateSpec")) { return; } for (Map.Entry<String, JFieldVar> f : clazz.fields().entrySet()) { if (f.getKey().equals("metadata") && f.getValue().type().name().equals("ObjectMeta")) { try { JAnnotationUse annotation = f.getValue().annotate(new JCodeModel()._class("io.fabric8.kubernetes.api.model.validators.CheckObjectMeta")); if (isMinimal(clazz)) { annotation.param("minimal", true); } else { annotation .param("regexp", "^" + getObjectNamePattern(clazz) + "$") .param("max", getObjectNameMaxLength(clazz)); } } catch (JClassAlreadyExistsException e) { e.printStackTrace(); } return; } } }
injector = cm._class(name+"Injector"); String elementName = c.name(); if(c.local()) {
public JCodeModel generate(JCodeModel jCodeModel, RefHelper ref) throws IOException { logger = LoggerFactory.getLogger(getClass()); try { jClass = jCodeModel._class(appDetails.getRestClientPackage(), INTERFACE); /* * @Rest( rootUrl = "<ROOT_URL>", converters = * StringHttpMessageConverter.class) */ JAnnotationUse rest = jClass.annotate(ref.rest()); rest.param("rootUrl", appDetails.getRestTemplateUrl()); rest.param("converters", ref.stringHttpMessageConverter().dotclass()); // TODO search the JMod for interface method JMethod mainMethod = jClass.method(JMod.ABSTRACT | JMod.PUBLIC, jCodeModel.VOID, "main"); JAnnotationUse get = mainMethod.annotate(ref.get()); get.param("value", "/"); } catch (JClassAlreadyExistsException e1) { logger.error("Classname already exists", e1); } return jCodeModel; } }
public JCodeModel generate(JCodeModel jCodeModel, RefHelper ref) throws IOException { logger = LoggerFactory.getLogger(getClass()); try { jClass = jCodeModel._class(appDetails.getApplicationPackage()); jClass._extends(ref.application()); jClass.annotate(ref.reportsCrashes()).param("formKey", "YOUR_FORM_KEY"); JMethod onCreateMethod = jClass.method(JMod.PUBLIC, jCodeModel.VOID, "onCreate"); onCreateMethod.annotate(ref.override()); JBlock onCreateMethodBody = onCreateMethod.body(); onCreateMethodBody.staticInvoke(ref.acra(), "init").arg(JExpr._this()); onCreateMethodBody.invoke(JExpr._super(), "onCreate"); } catch (JClassAlreadyExistsException e1) { logger.error("Classname already exists", e1); } return jCodeModel; }
.param("builderPackage", "io.fabric8.kubernetes.api.builder") .annotationParam("inline", Inline.class) .param("type", new JCodeModel()._class("io.fabric8.kubernetes.api.model.Doneable")) .param("prefix", "Doneable") .param("value", "done");
/** * Creates a new generated class. * * @exception JClassAlreadyExistsException * When the specified class/interface was already created. */ public JDefinedClass _class(String fullyqualifiedName) throws JClassAlreadyExistsException { return _class(fullyqualifiedName,ClassType.CLASS); }
/** * Creates a new generated class. * * @exception JClassAlreadyExistsException * When the specified class/interface was already created. */ public JDefinedClass _class(String fullyqualifiedName) throws JClassAlreadyExistsException { return _class(fullyqualifiedName,ClassType.CLASS); }
/** * Creates a new generated class. * * @exception JClassAlreadyExistsException * When the specified class/interface was already created. */ public JDefinedClass _class(String fullyqualifiedName,ClassType t) throws JClassAlreadyExistsException { return _class( JMod.PUBLIC, fullyqualifiedName, t ); }
/** * Creates a new generated class. * * @exception JClassAlreadyExistsException * When the specified class/interface was already created. */ public JDefinedClass _class(String fullyqualifiedName) throws JClassAlreadyExistsException { return _class(fullyqualifiedName,ClassType.CLASS); }
/** * Creates a new generated class. * * @exception JClassAlreadyExistsException * When the specified class/interface was already created. */ public JDefinedClass _class(String fullyqualifiedName,ClassType t) throws JClassAlreadyExistsException { return _class( JMod.PUBLIC, fullyqualifiedName, t ); }
private void startGeneration(JCodeModel jCodeModel) { try { jClass = jCodeModel._class(appDetails.getActivityPackage()); createActivity(); afterViewsBody = createAfterViewsMethod(); if (!appDetails.isSample()) { JFieldVar textViewField = null; if (!appDetails.isViewPager()) { textViewField = createTextViewField("hello"); codeModelHelper.doViewById(afterViewsBody, "hello", textViewField); } if (appDetails.isRestTemplate() && appDetails.isAndroidAnnotations()) { addRestClient(textViewField); } if (appDetails.isTabNavigation() || appDetails.isListNavigation()) { createAndInitLocationsField(); } if (appDetails.isViewPager()) { addViewPager(jCodeModel); } createConfigureActionBar(); } createOnCreateOptionsMenu(); } catch (JClassAlreadyExistsException e1) { LOGGER.error("Classname already exists", e1); } }
JDefinedClass getClazz(ClassType t) { if (clazz != null) return clazz; try { JCodeModel codeModel = Ring.get(JCodeModel.class); clazz = codeModel._class(name, t); clazz.hide(); return clazz; } catch (JClassAlreadyExistsException e) { return e.getExistingClass(); } } }
@Nonnull public JDefinedClass generateSerializerTest( @Nonnull String serializerClassName, @Nonnull DomainObjectDescriptor domainObjectDescriptor ) throws JClassAlreadyExistsException { JClass domainType = codeGenerator.ref( domainObjectDescriptor.getQualifiedName() ); JClass serializerClass = codeGenerator.ref( serializerClassName ); //the class JDefinedClass testClass = codeModel._class( createSerializerTestName( serializerClassName ) )._extends( createExtendsClass( domainType, serializerClass ) ); //getSerializer createGetSerializerMethod( testClass, serializerClass, domainType ); createDataPoint( testClass, serializerClass, domainType, domainObjectDescriptor ); return testClass; }
public JCodeModel generate(JCodeModel jCodeModel, RefHelper ref) throws IOException { try { jClass = jCodeModel._class(appDetails.getViewPagerAdapterPackage());
JCodeModel model = new JCodeModel(); JClass mapper = model.directClass("com.another.Mapper"); JClass factory = model.directClass("com.another.MapperSingleton"); JDefinedClass dc = model._class("com.example.Something"); JMethod method = dc.method(JMod.PUBLIC | JMod.STATIC, mapper, "testMethod"); method.body()._return(factory.staticInvoke("getMapperInstance")); model.build(destinationDirectory);
jClass = jCodeModel._class(appDetails.getSampleFragmentPackage());
private void createReportingVectorClass(JCodeModel codeModel, String name, JPrimitiveType type) throws JClassAlreadyExistsException { JDefinedClass clazz = codeModel._class(JMod.ABSTRACT | JMod.PUBLIC, "org.jpmml.evaluator.Reporting" + name, ClassType.CLASS); clazz._extends(codeModel.ref("org.jpmml.evaluator." + name)); JFieldVar expressionField = clazz.field(JMod.PRIVATE, String.class, "expression", JExpr.lit("")); createNewReportMethod(clazz); createOperationMethods(clazz, name, type); createValueMethods(clazz, type); createReportMethod(clazz); createAccessorMethods(clazz, expressionField); }