private String addArrayMarshaller(final MetaClass type, final boolean gwtTarget) { final String varName = getVarName(type); if (!arrayMarshallers.contains(varName)) { final String marshallerClassName = getMarshallerImplClassName(type, gwtTarget); final InnerClass arrayMarshaller = new InnerClass(generateArrayMarshaller(type, marshallerClassName, gwtTarget)); classStructureBuilder.declaresInnerClass(arrayMarshaller); addConditionalAssignment(type, Stmt.newObject(QualifyingMarshallerWrapper.class, Stmt.newObject(arrayMarshaller.getType()), type .asClass())); } arrayMarshallers.add(varName); return varName; }
private String addArrayMarshaller(final MetaClass type, final boolean gwtTarget) { final String varName = getVarName(type); if (!arrayMarshallers.contains(varName)) { final String marshallerClassName = getMarshallerImplClassName(type, gwtTarget); final InnerClass arrayMarshaller = new InnerClass(generateArrayMarshaller(type, marshallerClassName, gwtTarget)); classStructureBuilder.declaresInnerClass(arrayMarshaller); addConditionalAssignment(type, Stmt.newObject(QualifyingMarshallerWrapper.class, Stmt.newObject(arrayMarshaller.getType()), type .asClass())); } arrayMarshallers.add(varName); return varName; }
private MetaClass addFactoryDeclaration(final String factoryName, final MetaClass typeCreatedByFactory, final IOCProcessingContext processingContext) { final ClassStructureBuilder<?> builder = processingContext.getBootstrapBuilder(); final BuildMetaClass factory = ClassBuilder .define(factoryName, parameterizedAs(Factory.class, typeParametersOf(typeCreatedByFactory))) .publicScope().abstractClass().body().getClassDefinition(); builder.declaresInnerClass(new InnerClass(factory)); return factory; }
@Test public void testDefineClassWithInnerClass() { final ClassStructureBuilder<?> innerClass = ClassBuilder.define("Inner") .publicScope().body(); final String cls = ClassBuilder.define("foo.bar.Baz") .publicScope() .body() .declaresInnerClass(new InnerClass(innerClass.getClassDefinition())) .toJavaString(); assertEquals("failed to generate class with method using inner class", CLASS_DECLARING_INNER_CLASS, cls); }
public void addMarshaller(final MetaClass type) { if (!mappingContext.isRendered(type)) { mappingContext.markRendered(type); BuildMetaClass customMarshaller = null; if (target == MarshallerOutputTarget.GWT) { customMarshaller = ClassBuilder .define(MARSHALLER_NAME_PREFIX + getVarName(type)).packageScope() .abstractClass() .implementsInterface( MetaClassFactory.get(GeneratedMarshaller.class)) .body().getClassDefinition(); } else { final MappingStrategy strategy = MappingStrategyFactory .createStrategy(false, GeneratorMappingContextFactory.getFor(context, target), type); final String marshallerClassName = generateMarshallerImplClassName(type, target == MarshallerOutputTarget.GWT); final ClassStructureBuilder<?> marshaller = strategy.getMapper().getMarshaller(marshallerClassName); customMarshaller = marshaller.getClassDefinition(); } classStructureBuilder.declaresInnerClass(new InnerClass(customMarshaller)); addMarshaller(customMarshaller, type); } }
public void addMarshaller(final MetaClass type) { if (!mappingContext.isRendered(type)) { mappingContext.markRendered(type); BuildMetaClass customMarshaller = null; if (target == MarshallerOutputTarget.GWT) { customMarshaller = ClassBuilder .define(MARSHALLER_NAME_PREFIX + getVarName(type)).packageScope() .abstractClass() .implementsInterface( MetaClassFactory.get(GeneratedMarshaller.class)) .body().getClassDefinition(); } else { final MappingStrategy strategy = MappingStrategyFactory .createStrategy(false, GeneratorMappingContextFactory.getFor(context, target), type); final String marshallerClassName = generateMarshallerImplClassName(type, target == MarshallerOutputTarget.GWT); final ClassStructureBuilder<?> marshaller = strategy.getMapper().getMarshaller(marshallerClassName); customMarshaller = marshaller.getClassDefinition(); } classStructureBuilder.declaresInnerClass(new InnerClass(customMarshaller)); addMarshaller(customMarshaller, type); } }
implementAccessibleMethods(proxyImpl, injectable, bodyBlockBuilder.getClassDefinition()); bodyBlockBuilder.declaresInnerClass(new InnerClass(proxyImpl.getClassDefinition()));
bodyBlockBuilder.declaresInnerClass(new InnerClass(generatedValidatorBuilder.getClassDefinition()));
classStructureBuilder.declaresInnerClass(new InnerClass(arrayMarshaller)); classStructureBuilder.declaresInnerClass(new InnerClass(arrayMarshaller));
classStructureBuilder.declaresInnerClass(new InnerClass(arrayMarshaller)); classStructureBuilder.declaresInnerClass(new InnerClass(arrayMarshaller));