public ClassStructureBuilder<?> generate() { final String safeProxyClassName = remote.getFullyQualifiedName().replace('.', '_') + "Impl"; final ClassStructureBuilder<?> classBuilder = ClassBuilder.define(safeProxyClassName, AbstractRpcProxy.class) .packageScope() .implementsInterface(remote) .body(); for (final MetaMethod method : remote.getMethods()) { if (ProxyUtil.shouldProxyMethod(method)) { generateMethod(classBuilder, method); } } return classBuilder; }
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; }
public static ClassStructureBuilder<?> implement(final Class<?> clazz) { return ClassBuilder.define(clazz.getPackage().getName() + "." + clazz.getSimpleName() + "Impl") .publicScope() .implementsInterface(clazz) .body(); }
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; }
public static ClassStructureBuilder<?> implement(final Class<?> clazz) { return ClassBuilder.define(clazz.getPackage().getName() + "." + clazz.getSimpleName() + "Impl") .publicScope() .implementsInterface(clazz) .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 ClassStructureBuilder<?> implement(final Class<?> clazz, final String implClassName) { return ClassBuilder.define(clazz.getPackage().getName() + "." + implClassName) .publicScope() .implementsInterface(clazz) .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 ClassStructureBuilder<?> implement(final Class<?> clazz, final String implClassName) { return ClassBuilder.define(clazz.getPackage().getName() + "." + implClassName) .publicScope() .implementsInterface(clazz) .body(); }
.define(getTemplateTypeName(type)).publicScope().interfaceDefinition(); if (!customProvider) { ifaceDef.implementsInterface(Template.class); ifaceDef.implementsInterface(TemplateStyleSheet.class); .implementsInterface(ClientBundle.class).body();
public static ClassStructureBuilder<?> implement(final Class<?> clazz, final String implPackageName, final String implClassName) { return ClassBuilder.define(implPackageName + "." + implClassName) .publicScope() .implementsInterface(clazz) .body(); }
.define(getTemplateTypeName(type)).publicScope().interfaceDefinition(); if (!customProvider) { ifaceDef.implementsInterface(Template.class); ifaceDef.implementsInterface(TemplateStyleSheet.class); .implementsInterface(ClientBundle.class).body();
public static ClassStructureBuilder<?> implement(final Class<?> clazz, final String implPackageName, final String implClassName) { return ClassBuilder.define(implPackageName + "." + implClassName) .publicScope() .implementsInterface(clazz) .body(); }
.interfaceDefinition().implementsInterface(Validator.class).body();
public ClassStructureBuilder<?> generate() { final String safeProxyClassName = remote.getFullyQualifiedName().replace('.', '_') + "Impl"; final ClassStructureBuilder<?> classBuilder = ClassBuilder.define(safeProxyClassName, AbstractRpcProxy.class) .packageScope() .implementsInterface(remote) .body(); for (final MetaMethod method : remote.getMethods()) { if (ProxyUtil.shouldProxyMethod(method)) { generateMethod(classBuilder, method); } } return classBuilder; }
@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); }
public static ClassStructureBuilder<?> implement(final MetaClass cls) { return new ClassBuilder<DefaultClassStructureBuilder>(cls.getFullyQualifiedName() + "Impl", null, Context.create() .autoImport()) .publicScope() .implementsInterface(cls).body(); }
@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); }
public static ClassStructureBuilder<?> implement(final MetaClass cls) { return new ClassBuilder<DefaultClassStructureBuilder>(cls.getFullyQualifiedName() + "Impl", null, Context.create() .autoImport()) .publicScope() .implementsInterface(cls).body(); }
@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); }