/** * Constructor * <p/> * Initializes the superclass with the built annotation map, sets the method * and declaring class abstraction and detects the actual type arguments * * @param method The underlying method * @param declaringClass The declaring class abstraction */ private EnhancedAnnotatedMethodImpl(AnnotatedMethod<X> annotatedMethod, Map<Class<? extends Annotation>, Annotation> annotationMap, Map<Class<? extends Annotation>, Annotation> declaredAnnotationMap, EnhancedAnnotatedType<X> declaringClass, ClassTransformer classTransformer) { super(annotatedMethod, annotationMap, declaredAnnotationMap, classTransformer, declaringClass); this.slim = annotatedMethod; ArrayList<EnhancedAnnotatedParameter<?, X>> parameters = new ArrayList<EnhancedAnnotatedParameter<?, X>>(annotatedMethod.getParameters().size()); validateParameterCount(annotatedMethod); for (AnnotatedParameter<X> annotatedParameter : annotatedMethod.getParameters()) { EnhancedAnnotatedParameter<?, X> parameter = EnhancedAnnotatedParameterImpl.of(annotatedParameter, this, classTransformer); parameters.add(parameter); } this.parameters = immutableListView(parameters); String propertyName = Reflections.getPropertyName(getDelegate()); if (propertyName == null) { this.propertyName = getName(); } else { this.propertyName = propertyName; } this.signature = new MethodSignatureImpl(this); }
/** * Constructor * <p/> * Initializes the superclass with the built annotation map, sets the method * and declaring class abstraction and detects the actual type arguments * * @param method The underlying method * @param declaringClass The declaring class abstraction */ private EnhancedAnnotatedMethodImpl(AnnotatedMethod<X> annotatedMethod, Map<Class<? extends Annotation>, Annotation> annotationMap, Map<Class<? extends Annotation>, Annotation> declaredAnnotationMap, EnhancedAnnotatedType<X> declaringClass, ClassTransformer classTransformer) { super(annotatedMethod, annotationMap, declaredAnnotationMap, classTransformer, declaringClass); this.slim = annotatedMethod; ArrayList<EnhancedAnnotatedParameter<?, X>> parameters = new ArrayList<EnhancedAnnotatedParameter<?, X>>(annotatedMethod.getParameters().size()); validateParameterCount(annotatedMethod); for (AnnotatedParameter<X> annotatedParameter : annotatedMethod.getParameters()) { EnhancedAnnotatedParameter<?, X> parameter = EnhancedAnnotatedParameterImpl.of(annotatedParameter, this, classTransformer); parameters.add(parameter); } this.parameters = immutableListView(parameters); String propertyName = Reflections.getPropertyName(getDelegate()); if (propertyName == null) { this.propertyName = getName(); } else { this.propertyName = propertyName; } this.signature = new MethodSignatureImpl(this); }
/** * Constructor * <p/> * Initializes the superclass with the built annotation map, sets the method * and declaring class abstraction and detects the actual type arguments * * @param method The underlying method * @param declaringClass The declaring class abstraction */ private EnhancedAnnotatedMethodImpl(AnnotatedMethod<X> annotatedMethod, Map<Class<? extends Annotation>, Annotation> annotationMap, Map<Class<? extends Annotation>, Annotation> declaredAnnotationMap, EnhancedAnnotatedType<X> declaringClass, ClassTransformer classTransformer) { super(annotatedMethod, annotationMap, declaredAnnotationMap, classTransformer, declaringClass); this.slim = annotatedMethod; ArrayList<EnhancedAnnotatedParameter<?, X>> parameters = new ArrayList<EnhancedAnnotatedParameter<?, X>>(annotatedMethod.getParameters().size()); validateParameterCount(annotatedMethod); for (AnnotatedParameter<X> annotatedParameter : annotatedMethod.getParameters()) { EnhancedAnnotatedParameter<?, X> parameter = EnhancedAnnotatedParameterImpl.of(annotatedParameter, this, classTransformer); parameters.add(parameter); } this.parameters = immutableListView(parameters); String propertyName = Reflections.getPropertyName(getDelegate()); if (propertyName == null) { this.propertyName = getName(); } else { this.propertyName = propertyName; } this.signature = new MethodSignatureImpl(this); }
/** * Constructor * <p/> * Initializes the superclass with the built annotation map, sets the method * and declaring class abstraction and detects the actual type arguments * * @param method The underlying method * @param declaringClass The declaring class abstraction */ private EnhancedAnnotatedMethodImpl(AnnotatedMethod<X> annotatedMethod, Map<Class<? extends Annotation>, Annotation> annotationMap, Map<Class<? extends Annotation>, Annotation> declaredAnnotationMap, EnhancedAnnotatedType<X> declaringClass, ClassTransformer classTransformer) { super(annotatedMethod, annotationMap, declaredAnnotationMap, classTransformer, declaringClass); this.slim = annotatedMethod; ArrayList<EnhancedAnnotatedParameter<?, X>> parameters = new ArrayList<EnhancedAnnotatedParameter<?, X>>(annotatedMethod.getParameters().size()); validateParameterCount(annotatedMethod); for (AnnotatedParameter<X> annotatedParameter : annotatedMethod.getParameters()) { EnhancedAnnotatedParameter<?, X> parameter = EnhancedAnnotatedParameterImpl.of(annotatedParameter, this, classTransformer); parameters.add(parameter); } this.parameters = immutableListView(parameters); String propertyName = Reflections.getPropertyName(getDelegate()); if (propertyName == null) { this.propertyName = getName(); } else { this.propertyName = propertyName; } this.signature = new MethodSignatureImpl(this); }
/** * Constructor * <p/> * Initializes the superclass with the built annotation map, sets the method * and declaring class abstraction and detects the actual type arguments * * @param method The underlying method * @param declaringClass The declaring class abstraction */ private EnhancedAnnotatedMethodImpl(AnnotatedMethod<X> annotatedMethod, Map<Class<? extends Annotation>, Annotation> annotationMap, Map<Class<? extends Annotation>, Annotation> declaredAnnotationMap, EnhancedAnnotatedType<X> declaringClass, ClassTransformer classTransformer) { super(annotatedMethod, annotationMap, declaredAnnotationMap, classTransformer, declaringClass); this.slim = annotatedMethod; ArrayList<EnhancedAnnotatedParameter<?, X>> parameters = new ArrayList<EnhancedAnnotatedParameter<?, X>>(annotatedMethod.getParameters().size()); validateParameterCount(annotatedMethod); for (AnnotatedParameter<X> annotatedParameter : annotatedMethod.getParameters()) { EnhancedAnnotatedParameter<?, X> parameter = EnhancedAnnotatedParameterImpl.of(annotatedParameter, this, classTransformer); parameters.add(parameter); } this.parameters = immutableListView(parameters); String propertyName = Reflections.getPropertyName(getDelegate()); if (propertyName == null) { this.propertyName = getName(); } else { this.propertyName = propertyName; } this.signature = new MethodSignatureImpl(this); }
/** * Constructor * <p/> * Initializes the superclass with the built annotation map, sets the method * and declaring class abstraction and detects the actual type arguments * * @param method The underlying method * @param declaringClass The declaring class abstraction */ private EnhancedAnnotatedMethodImpl(AnnotatedMethod<X> annotatedMethod, Map<Class<? extends Annotation>, Annotation> annotationMap, Map<Class<? extends Annotation>, Annotation> declaredAnnotationMap, EnhancedAnnotatedType<X> declaringClass, ClassTransformer classTransformer) { super(annotatedMethod, annotationMap, declaredAnnotationMap, classTransformer, declaringClass); this.slim = annotatedMethod; ArrayList<EnhancedAnnotatedParameter<?, X>> parameters = new ArrayList<EnhancedAnnotatedParameter<?, X>>(annotatedMethod.getParameters().size()); validateParameterCount(annotatedMethod); for (AnnotatedParameter<X> annotatedParameter : annotatedMethod.getParameters()) { EnhancedAnnotatedParameter<?, X> parameter = EnhancedAnnotatedParameterImpl.of(annotatedParameter, this, classTransformer); parameters.add(parameter); } this.parameters = immutableListView(parameters); String propertyName = Reflections.getPropertyName(getDelegate()); if (propertyName == null) { this.propertyName = getName(); } else { this.propertyName = propertyName; } this.signature = new MethodSignatureImpl(this); }