.define(getTemplateTypeName(type)).publicScope().interfaceDefinition(); if (!customProvider) { ifaceDef.implementsInterface(Template.class); ifaceDef.implementsInterface(TemplateStyleSheet.class); .implementsInterface(ClientBundle.class).body();
.define(getTemplateTypeName(type)).publicScope().interfaceDefinition(); if (!customProvider) { ifaceDef.implementsInterface(Template.class); ifaceDef.implementsInterface(TemplateStyleSheet.class); .implementsInterface(ClientBundle.class).body();
.interfaceDefinition().implementsInterface(Validator.class).body();
/** * Create an inner interface for the given {@link MessageBundle} class and its corresponding JSON * resource. * * @param bundlePath * path to the message bundle */ private BuildMetaClass generateMessageBundleResourceInterface(final String bundlePath) { final ClassStructureBuilder<?> componentMessageBundleResource = ClassBuilder .define(getMessageBundleTypeName(bundlePath)).publicScope() .interfaceDefinition().implementsInterface(MessageBundle.class) .implementsInterface(ClientBundle.class).body() .publicMethod(TextResource.class, "getContents") .annotatedWith(new Source() { @Override public Class<? extends Annotation> annotationType() { return Source.class; } @Override public String[] value() { return new String[] { bundlePath }; } }).finish(); return componentMessageBundleResource.getClassDefinition(); }
public static BuildMetaClass createArrayMarshallerClass(final MetaClass type) { final BuildMetaClass arrayMarshaller = ClassBuilder .define(MARSHALLER_NAME_PREFIX + getVarName(type)).packageScope() .abstractClass() .implementsInterface( MetaClassFactory.get(GeneratedMarshaller.class)) .body().getClassDefinition(); return arrayMarshaller; }
/** * Create an inner interface for the given {@link MessageBundle} class and its corresponding JSON * resource. * * @param bundlePath * path to the message bundle */ private BuildMetaClass generateMessageBundleResourceInterface(final String bundlePath) { final ClassStructureBuilder<?> componentMessageBundleResource = ClassBuilder .define(getMessageBundleTypeName(bundlePath)).publicScope() .interfaceDefinition().implementsInterface(MessageBundle.class) .implementsInterface(ClientBundle.class).body() .publicMethod(TextResource.class, "getContents") .annotatedWith(new Source() { @Override public Class<? extends Annotation> annotationType() { return Source.class; } @Override public String[] value() { return new String[] { bundlePath }; } }).finish(); return componentMessageBundleResource.getClassDefinition(); }
public static BuildMetaClass createArrayMarshallerClass(final MetaClass type) { final BuildMetaClass arrayMarshaller = ClassBuilder .define(MARSHALLER_NAME_PREFIX + getVarName(type)).packageScope() .abstractClass() .implementsInterface( MetaClassFactory.get(GeneratedMarshaller.class)) .body().getClassDefinition(); return arrayMarshaller; }
@Test public void testCollidingImportsWithInnerClassFirst() { final String cls = ClassBuilder.define("my.test.Clazz") .publicScope() .implementsInterface(TestInterface.class) .implementsInterface(org.jboss.errai.codegen.test.model.TestInterface.class) .implementsInterface(Serializable.class) .body() .privateField("name", String.class) .finish() .toJavaString(); assertEquals("failed to generate class with colliding imports", CLASS_WITH_COLLIDING_IMPORTS_WITH_INNER_CLASS_FIRST, cls); }
@Test public void testCollidingImportsWithInnerClass() { final String cls = ClassBuilder.define("my.test.Clazz") .publicScope() .implementsInterface(org.jboss.errai.codegen.test.model.TestInterface.class) .implementsInterface(TestInterface.class) .implementsInterface(Serializable.class) .body() .privateField("name", String.class) .finish() .toJavaString(); assertEquals("failed to generate class with colliding imports", CLASS_WITH_COLLIDING_IMPORTS_WITH_INNER_CLASS, cls); }
@Test public void testDefineClassImplementingMultipleInterfaces() { final String cls = ClassBuilder.define("org.foo.Bar") .publicScope() .implementsInterface(Serializable.class) .implementsInterface(Cloneable.class) .body() .privateField("name", String.class) .finish() .toJavaString(); assertEquals("failed to generate class definition implementing multiple interfaces", CLASS_IMPLEMENTING_MULTIPLE_INTERFACES, 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); } }
.privateScope() .implementsInterface(parameterizedAs(Proxy.class, typeParametersOf(injectedType))) .implementsInterface(injectedType).body(); declareAndInitializeProxyHelper(injectable, proxyImpl); } else if (requiresProxy && isProxiableClass(injectable)) {