Examples of ClassOrInterfaceTypeDetailsBuilder


Examples of org.springframework.roo.classpath.details.ClassOrInterfaceTypeDetailsBuilder

    private String updateProxy(final ClassOrInterfaceTypeDetails proxy,
            final List<MethodMetadata> proxyMethods,
            final List<String> exclusionList, final List<String> readOnlyList) {
        // Create a new ClassOrInterfaceTypeDetailsBuilder for the Proxy, will
        // be overridden if the Proxy has already been created
        final ClassOrInterfaceTypeDetailsBuilder cidBuilder = new ClassOrInterfaceTypeDetailsBuilder(
                proxy);

        // Only inherit from EntityProxy if extension is not already defined
        if (!cidBuilder.getExtendsTypes().contains(OLD_ENTITY_PROXY)
                && !cidBuilder.getExtendsTypes().contains(ENTITY_PROXY)) {
            cidBuilder.addExtendsTypes(ENTITY_PROXY);
        }

        if (!cidBuilder.getExtendsTypes().contains(ENTITY_PROXY)) {
            cidBuilder.addExtendsTypes(ENTITY_PROXY);
        }

        final String destinationMetadataId = proxy.getDeclaredByMetadataId();
        final List<MethodMetadataBuilder> methods = new ArrayList<MethodMetadataBuilder>();
        for (final MethodMetadata method : proxyMethods) {
            if (exclusionList.contains(method.getMethodName().getSymbolName())) {
                continue;
            }
            final String propertyName = StringUtils.uncapitalize(BeanInfoUtils
                    .getPropertyNameForJavaBeanMethod(method).getSymbolName());
            if (exclusionList.contains(propertyName)) {
                continue;
            }

            final MethodMetadataBuilder abstractAccessorMethodBuilder = new MethodMetadataBuilder(
                    destinationMetadataId, method);
            abstractAccessorMethodBuilder
                    .setBodyBuilder(new InvocableMemberBodyBuilder());
            abstractAccessorMethodBuilder.setModifier(Modifier.ABSTRACT);
            methods.add(abstractAccessorMethodBuilder);

            if (readOnlyList.contains(propertyName)) {
                continue;
            }
            final MethodMetadataBuilder abstractMutatorMethodBuilder = new MethodMetadataBuilder(
                    destinationMetadataId, method);
            abstractMutatorMethodBuilder
                    .setBodyBuilder(new InvocableMemberBodyBuilder());
            abstractMutatorMethodBuilder.setModifier(Modifier.ABSTRACT);
            abstractMutatorMethodBuilder.setReturnType(JavaType.VOID_PRIMITIVE);
            abstractMutatorMethodBuilder
                    .setParameterTypes(AnnotatedJavaType
                            .convertFromJavaTypes(Arrays.asList(method
                                    .getReturnType())));
            abstractMutatorMethodBuilder.setParameterNames(Arrays
                    .asList(new JavaSymbolName(StringUtils
                            .uncapitalize(propertyName))));
            abstractMutatorMethodBuilder.setMethodName(new JavaSymbolName(
                    method.getMethodName().getSymbolName()
                            .replaceFirst("get", "set")));
            methods.add(abstractMutatorMethodBuilder);
        }

        cidBuilder.setDeclaredMethods(methods);
        return gwtFileManager.write(cidBuilder.build(),
                GwtUtils.PROXY_REQUEST_WARNING);
    }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.