public static <O extends JavaType<O>> String rebuildGenericNameWithArrays(String resolvedTypeName, Type<O> type) { StringBuilder resolvedType = new StringBuilder(stripArray(resolvedTypeName)); resolvedType.append(getGenerics(type.toString())); for (int j = 0; j < getArrayDimension(type.getName()); j++) { resolvedType.append("[]"); } return resolvedType.toString(); }
public static <O extends JavaType<O>> String rebuildGenericNameWithArrays(String resolvedTypeName, Type<O> type) { StringBuilder resolvedType = new StringBuilder(stripArray(resolvedTypeName)); resolvedType.append(getGenerics(type.toString())); for (int j = 0; j < getArrayDimension(type.getName()); j++) { resolvedType.append("[]"); } return resolvedType.toString(); }
public static String resolveIdType(JavaClass<?> entity) { for (Member<?> member : entity.getMembers()) { if (member.hasAnnotation(Id.class)) { if (member instanceof Method) { return ((Method<?, ?>) member).getReturnType().getName(); } if (member instanceof Field) { return ((Field<?>) member).getType().getName(); } } } return "Object"; } }
@Override public String toSignature() { StringBuilder signature = new StringBuilder(); signature.append(Visibility.PACKAGE_PRIVATE.equals(this.getVisibility().scope()) ? "" : this.getVisibility() .scope()); signature.append(" "); signature.append(this.getName()).append("("); List<ParameterSource<O>> parameters = this.getParameters(); for (ParameterSource<O> p : parameters) { signature.append(p.getType().getName()); if (parameters.indexOf(p) < (parameters.size() - 1)) { signature.append(", "); } } signature.append(") : ").append((this.getReturnType() == null ? "void" : this.getReturnType().getName())); return signature.toString(); }
@Override public String toSignature() { StringBuilder signature = new StringBuilder(); signature.append(Visibility.PACKAGE_PRIVATE.equals(this.getVisibility().scope()) ? "" : this.getVisibility() .scope()); signature.append(" "); signature.append(this.getName()).append("("); List<ParameterSource<O>> parameters = this.getParameters(); for (ParameterSource<O> p : parameters) { signature.append(p.getType().getName()); if (parameters.indexOf(p) < (parameters.size() - 1)) { signature.append(", "); } } signature.append(") : ").append((this.getReturnType() == null ? "void" : this.getReturnType().getName())); return signature.toString(); }
@Override public boolean hasMethodSignature(final Method<?, ?> method) { for (MethodSource<O> local : getMethods()) { if (local.getName().equals(method.getName())) { Iterator<ParameterSource<O>> localParams = local.getParameters().iterator(); for (Parameter<? extends JavaType<?>> methodParam : method.getParameters()) { if (localParams.hasNext() && Strings.areEqual(localParams.next().getType().getName(), methodParam.getType().getName())) { continue; } return false; } return !localParams.hasNext(); } } return false; }
@Override public boolean hasMethodSignature(final Method<?, ?> method) { for (MethodSource<Body> local : getMethods()) { if (local.getName().equals(method.getName())) { final Iterator<ParameterSource<Body>> localParams = local.getParameters().iterator(); for (Parameter<? extends JavaType<?>> methodParam : method.getParameters()) { if (localParams.hasNext() && Strings.areEqual(localParams.next().getType().getName(), methodParam.getType().getName())) { continue; } return false; } return !localParams.hasNext(); } } return false; }
@Override public boolean hasMethodSignature(final Method<?, ?> method) { for (MethodSource<Body> local : getMethods()) { if (local.getName().equals(method.getName())) { final Iterator<ParameterSource<Body>> localParams = local.getParameters().iterator(); for (Parameter<? extends JavaType<?>> methodParam : method.getParameters()) { if (localParams.hasNext() && Strings.areEqual(localParams.next().getType().getName(), methodParam.getType().getName())) { continue; } return false; } return !localParams.hasNext(); } } return false; }
@Override public boolean hasMethodSignature(final Method<?, ?> method) { for (MethodSource<O> local : getMethods()) { if (local.getName().equals(method.getName())) { Iterator<ParameterSource<O>> localParams = local.getParameters().iterator(); for (Parameter<? extends JavaType<?>> methodParam : method.getParameters()) { if (localParams.hasNext() && Strings.areEqual(localParams.next().getType().getName(), methodParam.getType().getName())) { continue; } return false; } return !localParams.hasNext(); } } return false; }
@Override public boolean hasMethodSignature(final Method<?, ?> method) { for (MethodSource<Body> local : getMethods()) { if (local.getName().equals(method.getName())) { final Iterator<ParameterSource<Body>> localParams = local.getParameters().iterator(); for (Parameter<? extends JavaType<?>> methodParam : method.getParameters()) { if (localParams.hasNext() && Strings.areEqual(localParams.next().getType().getName(), methodParam.getType().getName())) { continue; } return false; } return !localParams.hasNext(); } } return false; }
public boolean isEquals(MethodSource<?> method) { return method.getName().equals("equals") && (method.getParameters() == null || method.getParameters().size() == 1) && method.getReturnType() != null && method.getReturnType().isPrimitive() && "boolean".equals(method.getReturnType().getName()); }
public boolean isHashCode(MethodSource<?> method) { return method.getName().equals("hashCode") && (method.getParameters() == null || method.getParameters().size() == 0) && method.getReturnType() != null && method.getReturnType().isPrimitive() && "int".equals(method.getReturnType().getName()); }
public List<ObjectProperty> parseManagedTypesProperties(JavaClassSource javaClassSource, ClassTypeResolver classTypeResolver) throws ModelDriverException { List<FieldSource<JavaClassSource>> fields = javaClassSource.getFields(); List<ObjectProperty> properties = new ArrayList<ObjectProperty>(); ObjectProperty property; for (FieldSource<JavaClassSource> field : fields) { if (DriverUtils.isManagedType(field.getType(), classTypeResolver)) { property = parseProperty(field, classTypeResolver); properties.add(property); } else { logger.debug("field: " + field + "with fieldName: " + field.getName() + " won't be loaded by the diver because type: " + field.getType().getName() + " isn't a managed type."); } } return properties; }
private List<ResolvedProperty> getProperties(JavaClassSource nestedType) { final List<ResolvedProperty> properties = new ArrayList<>(); final Set<String> names = new HashSet<>(); do { for (PropertySource<JavaClassSource> propertySource : nestedType.getProperties()) { // NOTE: fields with no setters are skipped if (propertySource.isMutable() && !names.contains(propertySource.getName())) { properties.add(new ResolvedProperty(getSimpleJavaType(resolveParamType(nestedType, propertySource.getType().getName())), propertySource)); names.add(propertySource.getName()); } } nestedType = readJavaType(nestedType.getSuperType()); } while (nestedType != null); return properties; }
private String resolveTypeLiteralName(TypeLiteral typeLiteral) { final Type<O> type = new TypeImpl<O>(getOrigin(), typeLiteral.getType()); if (type.isPrimitive()) { final Class<?>[] primitiveTypes = { boolean.class, byte.class, short.class, int.class, long.class, float.class, double.class }; for (Class<?> c : primitiveTypes) { if (c.getSimpleName().equals(type.getName())) { return c.getName(); } } return null; } final String classname = type.getQualifiedName(); return getOrigin().resolveType(classname); }
private String resolveTypeLiteralName(TypeLiteral typeLiteral) { final Type<O> type = new TypeImpl<O>(getOrigin(), typeLiteral.getType()); if (type.isPrimitive()) { final Class<?>[] primitiveTypes = { boolean.class, byte.class, short.class, int.class, long.class, float.class, double.class }; for (Class<?> c : primitiveTypes) { if (c.getSimpleName().equals(type.getName())) { return c.getName(); } } return null; } final String classname = type.getQualifiedName(); return getOrigin().resolveType(classname); }
@Override public String toSignature() { String signature = (Visibility.PACKAGE_PRIVATE.equals(this.getVisibility().scope()) ? "" : this.getVisibility() .scope()) + " "; signature += this.getName() + "("; List<ParameterSource<O>> parameters = this.getParameters(); for (ParameterSource<O> p : parameters) { signature += p.getType().getName(); if (parameters.indexOf(p) < (parameters.size() - 1)) { signature += ", "; } } signature += ") : " + (this.getReturnType() == null ? "void" : this.getReturnType().getName()); return signature; }
@SuppressWarnings("rawtypes") @Override public O setName(final String name) { AbstractTypeDeclaration typeDeclaration = getDeclaration(); TypeImpl<O> type = new TypeImpl(this, null, name); typeDeclaration.setName(unit.getAST().newSimpleName(type.getName())); if (typeDeclaration instanceof TypeDeclaration) { TypeDeclaration td = (TypeDeclaration) typeDeclaration; for (Type<?> arg : type.getTypeArguments()) { TypeParameter typeParameter = unit.getAST().newTypeParameter(); typeParameter.setName(unit.getAST().newSimpleName(arg.getName())); td.typeParameters().add(typeParameter); } } return updateTypeNames(name); }
@SuppressWarnings("rawtypes") @Override public O setName(final String name) { AbstractTypeDeclaration typeDeclaration = getBodyDeclaration(); TypeImpl<O> type = new TypeImpl(this, null, name); typeDeclaration.setName(unit.getAST().newSimpleName(type.getName())); if (typeDeclaration instanceof TypeDeclaration) { TypeDeclaration td = (TypeDeclaration) typeDeclaration; for (Type arg : type.getTypeArguments()) { TypeParameter typeParameter = unit.getAST().newTypeParameter(); typeParameter.setName(unit.getAST().newSimpleName(arg.getName())); td.typeParameters().add(typeParameter); } } return updateTypeNames(name); }
public void visit(FieldSource<? extends JavaSource> fieldSource) { Type fieldType = fieldSource.getType(); String fieldClassName; // the javadoc for Named.getName() is misleading: // the FieldSource.getName() (which is implemented by FieldImpl.getName()) // returns the (fully-qualified!) name of the field String fieldName = fieldSource.getName(); resParts.addPart(fieldName, PartType.FIELD); if (fieldType.isPrimitive()) { fieldClassName = fieldType.getName(); } else { fieldClassName = fieldType.getQualifiedName(); } addJavaResourceReference(fieldClassName); // Field annotations for (AnnotationSource annoSource : fieldSource.getAnnotations()) { visit(annoSource); } }