public List<MethodMetadata> getMethods() { final List<MethodMetadata> result = new ArrayList<MethodMetadata>(); for (final MemberHoldingTypeDetails memberHoldingTypeDetails : details) { result.addAll(memberHoldingTypeDetails.getDeclaredMethods()); } return result; }
public List<MethodMetadata> getMethods() { final List<MethodMetadata> result = new ArrayList<MethodMetadata>(); MemberHoldingTypeDetails current = this; while (current != null) { for (final MethodMetadata method : current.getDeclaredMethods()) { result.add(method); } if (current instanceof ClassOrInterfaceTypeDetails) { current = ((ClassOrInterfaceTypeDetails) current).getSuperclass(); } else { current = null; } } return result; }
/** * Locates all methods on the specified {@link MemberHoldingTypeDetails} based * on the method name. * * @param memberHoldingTypeDetails the {@link MemberHoldingTypeDetails} to * search; can be <code>null</code> * @param methodName to locate; can be <code>null</code> * @return the list of methods, or <code>null</code> if the given name was * <code>null</code> or it was simply not found */ public static List<MethodMetadata> getDeclaredMethods( final MemberHoldingTypeDetails memberHoldingTypeDetails, final JavaSymbolName methodName) { if (memberHoldingTypeDetails == null) { return null; } List<MethodMetadata> methods = new ArrayList<MethodMetadata>(); for (final MethodMetadata method : memberHoldingTypeDetails.getDeclaredMethods()) { if (method.getMethodName().equals(methodName)) { methods.add(method); } } if (!methods.isEmpty()) { return methods; } return null; }
/** * Locates a method on the specified {@link MemberHoldingTypeDetails} based * on the method name. * * @param memberHoldingTypeDetails the {@link MemberHoldingTypeDetails} to * search; can be <code>null</code> * @param methodName to locate; can be <code>null</code> * @return the method, or <code>null</code> if the given name was * <code>null</code> or it was simply not found */ public static MethodMetadata getDeclaredMethod( final MemberHoldingTypeDetails memberHoldingTypeDetails, final JavaSymbolName methodName) { if (memberHoldingTypeDetails == null) { return null; } for (final MethodMetadata method : memberHoldingTypeDetails.getDeclaredMethods()) { if (method.getMethodName().equals(methodName)) { return method; } } return null; }
/** * Locates the specified method. * * @param memberHoldingTypeDetails the {@link MemberHoldingTypeDetails} to * search; can be <code>null</code> * @param methodName to locate; can be <code>null</code> * @param parameters to locate (can be null if there are no parameters) * @return the method, or <code>null</code> if the given name was * <code>null</code> or it was simply not found */ public static MethodMetadata getDeclaredMethod( final MemberHoldingTypeDetails memberHoldingTypeDetails, final JavaSymbolName methodName, List<JavaType> parameters) { if (memberHoldingTypeDetails == null) { return null; } if (parameters == null) { parameters = new ArrayList<JavaType>(); } for (final MethodMetadata method : memberHoldingTypeDetails.getDeclaredMethods()) { if (method.getMethodName().equals(methodName)) { final List<JavaType> parameterTypes = AnnotatedJavaType.convertFromAnnotatedJavaTypes(method.getParameterTypes()); if (parameterTypes.equals(parameters)) { return method; } } } return null; }
private void init(final MemberHoldingTypeDetails existing) { for (final ConstructorMetadata element : existing.getDeclaredConstructors()) { declaredConstructors.add(new ConstructorMetadataBuilder(element)); } for (final FieldMetadata element : existing.getDeclaredFields()) { declaredFields.add(new FieldMetadataBuilder(element)); } for (final MethodMetadata element : existing.getDeclaredMethods()) { declaredMethods.add(new MethodMetadataBuilder(element)); } for (final ClassOrInterfaceTypeDetails element : existing.getDeclaredInnerTypes()) { declaredInnerTypes.add(new ClassOrInterfaceTypeDetailsBuilder(element)); } for (final InitializerMetadata element : existing.getDeclaredInitializers()) { declaredInitializers.add(new InitializerMetadataBuilder(element)); } extendsTypes.addAll(existing.getExtendsTypes()); implementsTypes.addAll(existing.getImplementsTypes()); }
public List<MethodMetadata> matches( final List<MemberHoldingTypeDetails> memberHoldingTypeDetailsList, final Map<String, String> pluralMap) { final List<FieldMetadata> fields = getFieldsInterestedIn(memberHoldingTypeDetailsList); final List<MethodMetadata> methods = new ArrayList<MethodMetadata>(); final Set<JavaSymbolName> methodNames = new HashSet<JavaSymbolName>(); final JavaSymbolName userDefinedMethodName = getUserDefinedMethod(memberHoldingTypeDetailsList, pluralMap); if (userDefinedMethodName == null) { for (final FieldMetadata field : fields) { methodNames.add(new JavaSymbolName(getPrefix() + StringUtils.capitalize(field.getFieldName().getSymbolName()))); } } else { methodNames.add(new JavaSymbolName(userDefinedMethodName.getSymbolName() + additionalSuffix)); } for (final MemberHoldingTypeDetails memberHoldingTypeDetails : memberHoldingTypeDetailsList) { for (final MethodMetadata method : memberHoldingTypeDetails.getDeclaredMethods()) { if (methodNames.contains(method.getMethodName())) { methods.add(method); } } } return methods; } }
public List<MethodMetadata> getMethods() { final List<MethodMetadata> result = new ArrayList<MethodMetadata>(); for (final MemberHoldingTypeDetails memberHoldingTypeDetails : details) { result.addAll(memberHoldingTypeDetails.getDeclaredMethods()); } return result; }
/** * {@inheritDoc} * <p> * Search all methods in class and related AJs. * </p> */ public List<MethodMetadata> getMethodsInAll(JavaType name) { List<MethodMetadata> methods = new ArrayList<MethodMetadata>(); for (MemberHoldingTypeDetails member : getMemberDetails(name)) { methods.addAll(member.getDeclaredMethods()); } return methods; }
public List<MethodMetadata> getMethods() { final List<MethodMetadata> result = new ArrayList<MethodMetadata>(); MemberHoldingTypeDetails current = this; while (current != null) { for (final MethodMetadata method : current.getDeclaredMethods()) { result.add(method); } if (current instanceof ClassOrInterfaceTypeDetails) { current = ((ClassOrInterfaceTypeDetails) current).getSuperclass(); } else { current = null; } } return result; }
/** * Locates all methods on the specified {@link MemberHoldingTypeDetails} based * on the method name. * * @param memberHoldingTypeDetails the {@link MemberHoldingTypeDetails} to * search; can be <code>null</code> * @param methodName to locate; can be <code>null</code> * @return the list of methods, or <code>null</code> if the given name was * <code>null</code> or it was simply not found */ public static List<MethodMetadata> getDeclaredMethods( final MemberHoldingTypeDetails memberHoldingTypeDetails, final JavaSymbolName methodName) { if (memberHoldingTypeDetails == null) { return null; } List<MethodMetadata> methods = new ArrayList<MethodMetadata>(); for (final MethodMetadata method : memberHoldingTypeDetails.getDeclaredMethods()) { if (method.getMethodName().equals(methodName)) { methods.add(method); } } if (!methods.isEmpty()) { return methods; } return null; }
/** * @return all public mutator methods defined by the class and all superclasses, sorted alphabetically (never null, but may be empty) */ public List<MethodMetadata> getPublicMutators() { // We keep these in a TreeMap so the methods are output in alphabetic order /** key: string based method name, value: MethodMetadata */ TreeMap<String, MethodMetadata> map = new TreeMap<String, MethodMetadata>(); for (MemberHoldingTypeDetails holder : memberHoldingTypeDetails) { for (MethodMetadata method : holder.getDeclaredMethods()) { String mutatorName = method.getMethodName().getSymbolName(); if (Modifier.isPublic(method.getModifier()) && method.getParameterTypes().size() == 1 && mutatorName.startsWith("set")) { // We've got a public, single parameter, set method map.put(mutatorName, method); } } } return new ArrayList<MethodMetadata>(map.values()); }
/** * @param sortByAccessorName indicated to sort the returned accessors by getter name * @return all public accessor methods defined by the class and all superclasses (never null, but may be empty) */ public List<MethodMetadata> getPublicAccessors(boolean sortByAccessorName) { // We keep these in a TreeMap so the methods are output in alphabetic order /** key: string based method name, value: MethodMetadata */ TreeMap<String, MethodMetadata> map = new TreeMap<String, MethodMetadata>(); List<MethodMetadata> sortedByDetectionOrder = new ArrayList<MethodMetadata>(); for (MemberHoldingTypeDetails holder : memberHoldingTypeDetails) { for (MethodMetadata method : holder.getDeclaredMethods()) { String accessorName = method.getMethodName().getSymbolName(); if (Modifier.isPublic(method.getModifier()) && method.getParameterTypes().size() == 0 && (accessorName.startsWith("get") || accessorName.startsWith("is"))) { // We've got a public, no parameter, get|is method if (sortByAccessorName) { map.put(accessorName, method); } else { sortedByDetectionOrder.add(method); } } } } if (sortByAccessorName) { return new ArrayList<MethodMetadata>(map.values()); } return sortedByDetectionOrder; }
/** * {@inheritDoc} * <p> * Search the method by name in class and related AJs. * </p> */ public MethodMetadata getMethodByNameInAll(JavaType serviceClass, JavaSymbolName methodName) { MethodMetadata method = null; Iterator<MemberHoldingTypeDetails> members = getMemberDetails( serviceClass).iterator(); while (method == null && members.hasNext()) { @SuppressWarnings("unchecked") List<MethodMetadata> methods = (List<MethodMetadata>) members .next().getDeclaredMethods(); Iterator<MethodMetadata> methodsIter = methods.iterator(); while (method == null && methodsIter.hasNext()) { MethodMetadata tmpMethod = methodsIter.next(); if (tmpMethod.getMethodName().getSymbolName() .equals(methodName.getSymbolName())) { method = tmpMethod; } } } return method; }
/** * Locates a method on the specified {@link MemberHoldingTypeDetails} based * on the method name. * * @param memberHoldingTypeDetails the {@link MemberHoldingTypeDetails} to * search; can be <code>null</code> * @param methodName to locate; can be <code>null</code> * @return the method, or <code>null</code> if the given name was * <code>null</code> or it was simply not found */ public static MethodMetadata getDeclaredMethod( final MemberHoldingTypeDetails memberHoldingTypeDetails, final JavaSymbolName methodName) { if (memberHoldingTypeDetails == null) { return null; } for (final MethodMetadata method : memberHoldingTypeDetails.getDeclaredMethods()) { if (method.getMethodName().equals(methodName)) { return method; } } return null; }
/** * Locates the specified method. * * @param memberHoldingTypeDetails the {@link MemberHoldingTypeDetails} to * search; can be <code>null</code> * @param methodName to locate; can be <code>null</code> * @param parameters to locate (can be null if there are no parameters) * @return the method, or <code>null</code> if the given name was * <code>null</code> or it was simply not found */ public static MethodMetadata getDeclaredMethod( final MemberHoldingTypeDetails memberHoldingTypeDetails, final JavaSymbolName methodName, List<JavaType> parameters) { if (memberHoldingTypeDetails == null) { return null; } if (parameters == null) { parameters = new ArrayList<JavaType>(); } for (final MethodMetadata method : memberHoldingTypeDetails.getDeclaredMethods()) { if (method.getMethodName().equals(methodName)) { final List<JavaType> parameterTypes = AnnotatedJavaType.convertFromAnnotatedJavaTypes(method.getParameterTypes()); if (parameterTypes.equals(parameters)) { return method; } } } return null; }
private void init(final MemberHoldingTypeDetails existing) { for (final ConstructorMetadata element : existing.getDeclaredConstructors()) { declaredConstructors.add(new ConstructorMetadataBuilder(element)); } for (final FieldMetadata element : existing.getDeclaredFields()) { declaredFields.add(new FieldMetadataBuilder(element)); } for (final MethodMetadata element : existing.getDeclaredMethods()) { declaredMethods.add(new MethodMetadataBuilder(element)); } for (final ClassOrInterfaceTypeDetails element : existing.getDeclaredInnerTypes()) { declaredInnerTypes.add(new ClassOrInterfaceTypeDetailsBuilder(element)); } for (final InitializerMetadata element : existing.getDeclaredInitializers()) { declaredInitializers.add(new InitializerMetadataBuilder(element)); } extendsTypes.addAll(existing.getExtendsTypes()); implementsTypes.addAll(existing.getImplementsTypes()); }
public List<MethodMetadata> matches( final List<MemberHoldingTypeDetails> memberHoldingTypeDetailsList, final Map<String, String> pluralMap) { final List<FieldMetadata> fields = getFieldsInterestedIn(memberHoldingTypeDetailsList); final List<MethodMetadata> methods = new ArrayList<MethodMetadata>(); final Set<JavaSymbolName> methodNames = new HashSet<JavaSymbolName>(); final JavaSymbolName userDefinedMethodName = getUserDefinedMethod(memberHoldingTypeDetailsList, pluralMap); if (userDefinedMethodName == null) { for (final FieldMetadata field : fields) { methodNames.add(new JavaSymbolName(getPrefix() + StringUtils.capitalize(field.getFieldName().getSymbolName()))); } } else { methodNames.add(new JavaSymbolName(userDefinedMethodName.getSymbolName() + additionalSuffix)); } for (final MemberHoldingTypeDetails memberHoldingTypeDetails : memberHoldingTypeDetailsList) { for (final MethodMetadata method : memberHoldingTypeDetails.getDeclaredMethods()) { if (methodNames.contains(method.getMethodName())) { methods.add(method); } } } return methods; } }
.getDetails()) { for (MethodMetadata method : memberHoldingTypeDetails .getDeclaredMethods()) { if (BeanInfoUtils.isAccessorMethod(method)) {