Package org.springframework.roo.classpath.details

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


            final MethodMetadata method = entityMemberDetails.getMethod(
                    requiredAccessorName, new ArrayList<JavaType>());
            if (method != null) {
                if (Modifier.isPublic(method.getModifier())) {
                    // Method exists and is public so return it
                    return new MethodMetadataBuilder(method);
                }

                // Method is not public so make the required accessor name
                // unique
                requiredAccessorName = new JavaSymbolName(
                        requiredAccessorName.getSymbolName() + "_");
            }
        }

        // We declared the field in this ITD, so produce a public accessor for
        // it
        final InvocableMemberBodyBuilder bodyBuilder = new InvocableMemberBodyBuilder();
        bodyBuilder.appendFormalLine("return this."
                + identifierField.getFieldName().getSymbolName() + ";");

        return new MethodMetadataBuilder(getId(), Modifier.PUBLIC,
                requiredAccessorName, identifierField.getFieldType(),
                bodyBuilder);
    }
View Full Code Here


            final MethodMetadata method = entityMemberDetails.getMethod(
                    requiredMutatorName, parameterTypes);
            if (method != null) {
                if (Modifier.isPublic(method.getModifier())) {
                    // Method exists and is public so return it
                    return new MethodMetadataBuilder(method);
                }

                // Method is not public so make the required mutator name unique
                requiredMutatorName = new JavaSymbolName(
                        requiredMutatorName.getSymbolName() + "_");
            }
        }

        // We declared the field in this ITD, so produce a public mutator for it
        final InvocableMemberBodyBuilder bodyBuilder = new InvocableMemberBodyBuilder();
        bodyBuilder.appendFormalLine("this."
                + identifierField.getFieldName().getSymbolName() + " = id;");

        return new MethodMetadataBuilder(getId(), Modifier.PUBLIC,
                requiredMutatorName, JavaType.VOID_PRIMITIVE,
                AnnotatedJavaType.convertFromJavaTypes(parameterTypes),
                parameterNames, bodyBuilder);
    }
View Full Code Here

            final MethodMetadata method = entityMemberDetails.getMethod(
                    requiredAccessorName, new ArrayList<JavaType>(), getId());
            if (method != null) {
                if (Modifier.isPublic(method.getModifier())) {
                    // Method exists and is public so return it
                    return new MethodMetadataBuilder(method);
                }

                // Method is not public so make the required accessor name
                // unique
                requiredAccessorName = new JavaSymbolName(
                        requiredAccessorName.getSymbolName() + "_");
            }
        }

        // We declared the field in this ITD, so produce a public accessor for
        // it
        final InvocableMemberBodyBuilder bodyBuilder = new InvocableMemberBodyBuilder();
        bodyBuilder.appendFormalLine("return this."
                + versionField.getFieldName().getSymbolName() + ";");

        return new MethodMetadataBuilder(getId(), Modifier.PUBLIC,
                requiredAccessorName, versionField.getFieldType(), bodyBuilder);
    }
View Full Code Here

            final MethodMetadata method = entityMemberDetails.getMethod(
                    requiredMutatorName, parameterTypes, getId());
            if (method != null) {
                if (Modifier.isPublic(method.getModifier())) {
                    // Method exists and is public so return it
                    return new MethodMetadataBuilder(method);
                }

                // Method is not public so make the required mutator name unique
                requiredMutatorName = new JavaSymbolName(
                        requiredMutatorName.getSymbolName() + "_");
            }
        }

        // We declared the field in this ITD, so produce a public mutator for it
        final InvocableMemberBodyBuilder bodyBuilder = new InvocableMemberBodyBuilder();
        bodyBuilder.appendFormalLine("this."
                + versionField.getFieldName().getSymbolName() + " = version;");

        return new MethodMetadataBuilder(getId(), Modifier.PUBLIC,
                requiredMutatorName, JavaType.VOID_PRIMITIVE,
                AnnotatedJavaType.convertFromJavaTypes(parameterTypes),
                parameterNames, bodyBuilder);
    }
View Full Code Here

        final JavaType collection = new JavaType(
                COLLECTION.getFullyQualifiedTypeName(), 0, DataType.TYPE, null,
                Arrays.asList(destination));

        final MethodMetadataBuilder methodBuilder = new MethodMetadataBuilder(
                getId(), Modifier.PUBLIC | Modifier.STATIC, methodName,
                collection,
                AnnotatedJavaType.convertFromJavaTypes(parameterType),
                parameterNames, bodyBuilder);
        methodBuilder.putCustomData(CustomDataJsonTags.FROM_JSON_ARRAY_METHOD,
                null);
        return methodBuilder;
    }
View Full Code Here

                + ".class).deserialize(json);");

        final List<JavaSymbolName> parameterNames = Arrays
                .asList(new JavaSymbolName("json"));

        final MethodMetadataBuilder methodBuilder = new MethodMetadataBuilder(
                getId(), Modifier.PUBLIC | Modifier.STATIC, methodName,
                destination,
                AnnotatedJavaType.convertFromJavaTypes(parameterType),
                parameterNames, bodyBuilder);
        methodBuilder.putCustomData(CustomDataJsonTags.FROM_JSON_METHOD, null);
        return methodBuilder;
    }
View Full Code Here

                        (!includeParams ? "" : ".include(fields)")
                        + ".exclude(\"*.class\")"
                        + (annotationValues.isDeepSerialize() ? ".deepSerialize(collection)"
                                : ".serialize(collection)") + ";");

        final MethodMetadataBuilder methodBuilder = new MethodMetadataBuilder(
                getId(), Modifier.PUBLIC | Modifier.STATIC, methodName, STRING,
                parameterTypes, parameterNames, bodyBuilder);
        methodBuilder.putCustomData(CustomDataJsonTags.TO_JSON_ARRAY_METHOD,
                null);
        return methodBuilder;
    }
View Full Code Here

        if (includeParams) {
            parameterTypes.add(new AnnotatedJavaType(JavaType.STRING_ARRAY));
            parameterNames.add(new JavaSymbolName("fields"));
        }

        final MethodMetadataBuilder methodBuilder = new MethodMetadataBuilder(
                getId(), Modifier.PUBLIC, methodName, STRING, parameterTypes,
                parameterNames, bodyBuilder);
        methodBuilder.putCustomData(CustomDataJsonTags.TO_JSON_METHOD, null);
        return methodBuilder;
    }
View Full Code Here

            str = "ReflectionToStringBuilder.toString(this, ToStringStyle."
                    + STYLE + ");";
        }
        bodyBuilder.appendFormalLine("return " + str);

        return new MethodMetadataBuilder(getId(), Modifier.PUBLIC, methodName,
                STRING, bodyBuilder);
    }
View Full Code Here

           
            final InvocableMemberBodyBuilder hasPermissionBodyBuilder = new InvocableMemberBodyBuilder();
           
            hasPermissionBodyBuilder.append("\n\t\treturn checkManagedPermissions(authentication, targetObject, permission);");

            MethodMetadataBuilder hasPermissionMethodMetadataBuilder = new MethodMetadataBuilder(
                    getId(), PUBLIC, hasPermissionMethodName, JavaType.BOOLEAN_PRIMITIVE,
                    AnnotatedJavaType
                            .convertFromJavaTypes(hasPermissionParameterTypes),
                    hasPermissionParameterNames, hasPermissionBodyBuilder);

            builder.addMethod(hasPermissionMethodMetadataBuilder.build());
        }
       
        //Creates method hasPermission(Authentication authentication, Serializable targetId, String targetType, Object permission)
        hasPermissionParameterTypes = new ArrayList<JavaType>();
        hasPermissionParameterTypes.add(AUTHENTICATION);
        hasPermissionParameterTypes.add(JavaType.SERIALIZABLE);
        hasPermissionParameterTypes.add(JavaType.STRING);
        hasPermissionParameterTypes.add(JavaType.OBJECT);

        if (!governorDetails.isMethodDeclaredByAnother(hasPermissionMethodName,
                hasPermissionParameterTypes, getId())) {
            final InvocableMemberBodyBuilder hasPermissionBodyBuilder2 = new InvocableMemberBodyBuilder();
            hasPermissionBodyBuilder2.append(String.format("\n\t\treturn %s;\n",annotationValues.getDefaultReturnValue()));

            List<JavaSymbolName> hasPermissionParameterNames2 = new ArrayList<JavaSymbolName>();
            hasPermissionParameterNames2.add(new JavaSymbolName(
                    "authentication"));
            hasPermissionParameterNames2.add(new JavaSymbolName("targetId"));
            hasPermissionParameterNames2.add(new JavaSymbolName("targetType"));
            hasPermissionParameterNames2.add(new JavaSymbolName("permission"));

            MethodMetadataBuilder hasPermissionMethodMetadataBuilder2 = new MethodMetadataBuilder(
                    getId(),
                    PUBLIC,
                    new JavaSymbolName("hasPermission"),
                    JavaType.BOOLEAN_PRIMITIVE,
                    AnnotatedJavaType
                            .convertFromJavaTypes(hasPermissionParameterTypes),
                    hasPermissionParameterNames2, hasPermissionBodyBuilder2);

            builder.addMethod(hasPermissionMethodMetadataBuilder2.build());
        }
       
        List<JavaType> checkManagedPermissionsParameterTypes = new ArrayList<JavaType>();
        checkManagedPermissionsParameterTypes.add(AUTHENTICATION);
        checkManagedPermissionsParameterTypes.add(JavaType.OBJECT);
        checkManagedPermissionsParameterTypes.add(JavaType.OBJECT);

        JavaSymbolName checkManagedPermissionsMethodName = new JavaSymbolName("checkManagedPermissions");
       
        if (!governorDetails.isMethodDeclaredByAnother(checkManagedPermissionsMethodName,
            checkManagedPermissionsParameterTypes, getId())) {
         
          List<JavaSymbolName> checkManagedPermissionsParameterNames = new ArrayList<JavaSymbolName>();
          checkManagedPermissionsParameterNames
                    .add(new JavaSymbolName("authentication"));
          checkManagedPermissionsParameterNames.add(new JavaSymbolName("targetObject"));
          checkManagedPermissionsParameterNames.add(new JavaSymbolName("permission"));
           
            final InvocableMemberBodyBuilder checkManagedPermissionsBodyBuilder = new InvocableMemberBodyBuilder();
            boolean firstPass = true;
            for (Entry<JavaType, String> entrySet : domainTypeToPlurals.entrySet()) {
              for (Permission permission : Permission.values()){
              String permissionName = permission.getName(entrySet.getKey(), entrySet.getValue());
            if (permissionName == null) {
              continue;
            }
                checkManagedPermissionsBodyBuilder.append(String.format("\n\t\t%sif(permission.equals(\"%s\")){",firstPass ? "" : "else ", permissionName));
                checkManagedPermissionsBodyBuilder.append(String.format("\n\t\t\treturn %s(authentication, (%s)targetObject);", permissionName, entrySet.getKey().getFullyQualifiedTypeName()));
                checkManagedPermissionsBodyBuilder.append("\n\t\t}");
              }
              firstPass = false;
            }
            checkManagedPermissionsBodyBuilder.append(String.format("\n\t\treturn %s;\n",annotationValues.getDefaultReturnValue()));

            MethodMetadataBuilder hasPermissionMethodMetadataBuilder = new MethodMetadataBuilder(
                    getId(), PUBLIC, checkManagedPermissionsMethodName, JavaType.BOOLEAN_PRIMITIVE,
                    AnnotatedJavaType
                            .convertFromJavaTypes(checkManagedPermissionsParameterTypes),
                            checkManagedPermissionsParameterNames, checkManagedPermissionsBodyBuilder);

            builder.addMethod(hasPermissionMethodMetadataBuilder.build());
           
        }
       
        for (Entry<JavaType, String> entrySet : domainTypeToPlurals.entrySet()) {
          for (Permission permission : Permission.values()){
          String permissionName = permission.getName(entrySet.getKey(), entrySet.getValue());
        if (permissionName == null) {
          continue;
        }
            JavaSymbolName isAllowedMethodName = new JavaSymbolName(permissionName);
            List<JavaType> isAllowedParameterTypes = new ArrayList<JavaType>();
            isAllowedParameterTypes.add(AUTHENTICATION);
            isAllowedParameterTypes.add(entrySet.getKey());
            if (!governorDetails.isMethodDeclaredByAnother(isAllowedMethodName, isAllowedParameterTypes, getId())) {
              List<JavaSymbolName> isAllowedParameterNames = new ArrayList<JavaSymbolName>();
              isAllowedParameterNames.add(new JavaSymbolName("authentication"));
              isAllowedParameterNames.add(JavaSymbolName.getReservedWordSafeName(entrySet.getKey()));
                 
                  final InvocableMemberBodyBuilder isAllowedBodyBuilder = new InvocableMemberBodyBuilder();
                  isAllowedBodyBuilder.append(String.format("\n\t\treturn %s;\n",annotationValues.getDefaultReturnValue()));
 
                  MethodMetadataBuilder isAllowedMethodMetadataBuilder = new MethodMetadataBuilder(
                          getId(), PUBLIC, isAllowedMethodName, JavaType.BOOLEAN_PRIMITIVE,
                          AnnotatedJavaType
                                  .convertFromJavaTypes(isAllowedParameterTypes),
                                  isAllowedParameterNames, isAllowedBodyBuilder);
 
                  builder.addMethod(isAllowedMethodMetadataBuilder.build());
            }
          }
        }
       
        itdTypeDetails = builder.build();
View Full Code Here

TOP

Related Classes of org.springframework.roo.classpath.details.MethodMetadataBuilder

Copyright © 2018 www.massapicom. 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.