private void updateChanges(final JavaType javaType, final boolean remove) { for (final String requestingClass : changeMap.keySet()) { if (remove) { changeMap.get(requestingClass).remove(javaType.getFullyQualifiedTypeName()); } else { changeMap.get(requestingClass).add(javaType.getFullyQualifiedTypeName()); } } } }
public static void verifyReservedJavaKeywordsNotPresent(final JavaType javaType) { Validate.notNull(javaType, "Java type required"); for (final String s : javaType.getFullyQualifiedTypeName().split("\\.")) { if (RESERVED_JAVA_KEYWORDS.contains(s)) { throw new IllegalStateException("Reserved Java keyword '" + s + "' is not permitted within fully qualified type name"); } } }
/** Return {@link JavaType} which is a Widcard of generics with "supper" * value. * * By exampe: JavaType.listOf(JavaType.wilcardSupper(JavaType.NUMBER)) generates List<? supper Number> * * @param supperOf * @return */ public static JavaType wilcardSupper(final JavaType supperOf) { return new JavaType(supperOf.getFullyQualifiedTypeName(), 0, DataType.TYPE, JavaType.WILDCARD_SUPER_ARG, null); }
@Override public ClassOrInterfaceTypeDetails getRepository(JavaType domainType) { Validate.notNull(domainType, "domainType is required"); Collection<ClassOrInterfaceTypeDetails> repositories = getRepositories(domainType); if (repositories.isEmpty()) { return null; } else if (repositories.size() > 1) { throw new IllegalStateException("Found " + repositories.size() + " repositories for " + domainType.getFullyQualifiedTypeName()); } return repositories.iterator().next(); }
@Override protected void onAddImplementType(final JavaType type) { Validate .isTrue( !governor.getImplementsTypes().contains(type), "Type '%s' already declared in implements types list in target type '%s' (ITD target '%s')", type, governor.getName().getFullyQualifiedTypeName(), aspect.getFullyQualifiedTypeName()); Validate.isTrue(!getImplementsTypes().contains(type), "Type '%s' already declared in implements types list in ITD (ITD target '%s')", type, aspect.getFullyQualifiedTypeName()); }
@Override public ClassOrInterfaceTypeDetails getService(final JavaType domainType) { Validate.notNull(domainType, "domainType is required"); Collection<ClassOrInterfaceTypeDetails> repositories = getServices(domainType); if (repositories.isEmpty()) { return null; } else if (repositories.size() > 1) { throw new IllegalStateException("Found " + repositories.size() + " services for " + domainType.getFullyQualifiedTypeName()); } return repositories.iterator().next(); }
public EmbeddedIdHolder(final FieldMetadata embeddedIdField, final List<FieldMetadata> idFields) { Validate.notNull(embeddedIdField, "Identifier type required"); Validate.notNull(idFields, "Fields for %s required", embeddedIdField.getFieldType() .getFullyQualifiedTypeName()); this.embeddedIdField = embeddedIdField; this.idFields = idFields; }
private void validateNumericAnnotationAttribute(final String fieldName, final String annotationName, final String attributeName, final Object object) { Validate.isTrue(NumberUtils.isNumber(object.toString()), "%s '%s' attribute for field '%s' in backing type %s must be numeric", annotationName, attributeName, fieldName, entity.getFullyQualifiedTypeName()); }
@Override public String toString() { final StringBuilder builder = new StringBuilder(); builder.append("key: ").append(type.getFullyQualifiedTypeName()); builder.append(", value: ").append(name.getSymbolName()); return builder.toString(); } }
@Override public ClassOrInterfaceTypeDetails getServiceImpl(final JavaType serviceType) { Validate.notNull(serviceType, "serviceType is required"); Collection<ClassOrInterfaceTypeDetails> repositories = getServices(serviceType); if (repositories.isEmpty()) { return null; } else if (repositories.size() > 1) { throw new IllegalStateException("Found " + repositories.size() + " serviceImpl for " + serviceType.getFullyQualifiedTypeName()); } return repositories.iterator().next(); }
@Override protected void onAddExtendsTypes(final JavaType type) { Validate.isTrue(!governor.getExtendsTypes().contains(type), "Type '%s' already declared in extends types list in target type '%s' (ITD target '%s')", type, governor.getName().getFullyQualifiedTypeName(), aspect.getFullyQualifiedTypeName()); Validate.isTrue(!getExtendsTypes().contains(type), "Type '%s' already declared in extends types list in ITD (ITD target '%s')", type, aspect.getFullyQualifiedTypeName()); }
@Override public JavaType getInitializer() { final List<JavaType> params = new ArrayList<JavaType>(); params.add(getGenericParameterTypeName()); return new JavaType(HASH_SET.getFullyQualifiedTypeName(), 0, DataType.TYPE, null, params); }
private boolean isExceptionAnnotatedWithResponseStatus(JavaType exception) { ClassOrInterfaceTypeDetails exceptionCid = typeLocationService.getTypeDetails(exception); Validate.notNull(exceptionCid, String.format("Can't found class: %s", exception.getFullyQualifiedTypeName())); AnnotationMetadata annotation = exceptionCid.getAnnotation(SpringJavaType.RESPONSE_STATUS); if (annotation == null) { return false; } return true; }
private JavaType getDomainTypeOfFinderMethod(MethodMetadata method) { JavaType returnType = method.getReturnType(); if (returnType.getFullyQualifiedTypeName().equals( SpringJavaType.PAGE.getFullyQualifiedTypeName())) { if (returnType.getParameters() != null && returnType.getParameters().size() == 1) { return returnType.getParameters().get(0); } } else if (returnType.getEnclosingType() != null) { return returnType.getBaseType(); } return null; }
@Override public String getBaseUrlControllerForFinder(JavaType controller, String finder) { ClassOrInterfaceTypeDetails cid = getTypeLocationService().getTypeDetails(controller); Validate.notNull(cid, "%s not found", controller.getFullyQualifiedTypeName()); return getBaseUrlControllerForFinder(cid, finder); }
@Override public String getBaseUrlForController(JavaType controller) { ClassOrInterfaceTypeDetails cid = getTypeLocationService().getTypeDetails(controller); Validate.notNull(cid, "%s not found", controller.getFullyQualifiedTypeName()); return getBaseUrlForController(cid); }
public JavaType getItdJavaType(final ItdMetadataProvider metadataProvider) { Validate.notNull(metadataProvider, "Metadata provider required"); return new JavaType(PhysicalTypeIdentifier.getJavaType(getId()).getFullyQualifiedTypeName() + "_Roo_" + metadataProvider.getItdUniquenessFilenameSuffix()); }
private FieldMetadata getConcurrencyTemplateField() { JavaType concurrencyTemplateType = new JavaType( SpringletsJavaType.SPRINGLETS_CONCURRENCY_TEMPLATE.getFullyQualifiedTypeName(), 0, DataType.TYPE, null, Arrays.asList(entity)); return new FieldMetadataBuilder(getId(), Modifier.PRIVATE + Modifier.FINAL, CONCURRENCY_TEMPLATE_FIELD_NAME, concurrencyTemplateType, String.format("new %s<%s>(this)", getNameOfJavaType(SpringletsJavaType.SPRINGLETS_CONCURRENCY_TEMPLATE), entity.getSimpleTypeName())).build(); }
private FieldMetadataBuilder getMultipleEntityIdField(final JavaSymbolName fieldName) { builder.getImportRegistrationResolver().addImport(HASH_SET); return new FieldMetadataBuilder(getId(), Modifier.PRIVATE, fieldName, new JavaType( SET.getFullyQualifiedTypeName(), 0, DataType.TYPE, null, Collections.singletonList(GAE_DATASTORE_KEY)), "new HashSet<Key>()"); }
/** * Returns the non-primitive type that represent this type if it is primitive. Otherwise, returns itself. * @return */ public JavaType toObjectType() { if (isPrimitive()) { return new JavaType(getFullyQualifiedTypeName(), getArray(), DataType.TYPE, getArgName(), getParameters(), getModule()); } return this; }