@Override public int hashCode() { return AnnotationUtil.calculateHashCode(getValues()); }
@Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (!AnnotationValue.class.isInstance(obj)) { return false; } AnnotationValue other = AnnotationValue.class.cast(obj); Map<CharSequence, Object> otherValues = other.getValues(); Map<CharSequence, Object> values = getValues(); if (values.size() != otherValues.size()) { return false; } // compare annotation member values for (Map.Entry<CharSequence, Object> member : values.entrySet()) { Object value = member.getValue(); Object otherValue = otherValues.get(member.getKey()); if (!AnnotationUtil.areEqual(value, otherValue)) { return false; } } return true; }
@Override public <T extends Annotation> T[] synthesizeAnnotationsByType(Class<T> annotationClass) { Environment environment = getEnvironment(); if (environment != null) { List<AnnotationValue<T>> values = annotationMetadata.getAnnotationValuesByType(annotationClass); return values.stream() .map(entries -> AnnotationMetadataSupport.buildAnnotation(annotationClass, EnvironmentConvertibleValuesMap.of(environment, entries.getValues()))) .toArray(value -> (T[]) Array.newInstance(annotationClass, value)); } else { return annotationMetadata.synthesizeAnnotationsByType(annotationClass); } }
@Override public <T extends Annotation> T[] synthesizeDeclaredAnnotationsByType(Class<T> annotationClass) { Environment environment = getEnvironment(); if (environment != null) { List<AnnotationValue<T>> values = annotationMetadata.getDeclaredAnnotationValuesByType(annotationClass); return values.stream() .map(entries -> AnnotationMetadataSupport.buildAnnotation(annotationClass, EnvironmentConvertibleValuesMap.of(environment, entries.getValues()))) .toArray(value -> (T[]) Array.newInstance(annotationClass, value)); } else { return annotationMetadata.synthesizeDeclaredAnnotationsByType(annotationClass); } }
@Override public <T extends Annotation> T[] synthesizeAnnotationsByType(Class<T> annotationClass) { Environment environment = getEnvironment(); if (environment != null) { List<AnnotationValue<T>> values = annotationMetadata.getAnnotationValuesByType(annotationClass); return values.stream() .map(entries -> AnnotationMetadataSupport.buildAnnotation(annotationClass, EnvironmentConvertibleValuesMap.of(environment, entries.getValues()))) .toArray(value -> (T[]) Array.newInstance(annotationClass, value)); } else { return annotationMetadata.synthesizeAnnotationsByType(annotationClass); } }
@Override public <T extends Annotation> T[] synthesizeDeclaredAnnotationsByType(Class<T> annotationClass) { Environment environment = getEnvironment(); if (environment != null) { List<AnnotationValue<T>> values = annotationMetadata.getDeclaredAnnotationValuesByType(annotationClass); return values.stream() .map(entries -> AnnotationMetadataSupport.buildAnnotation(annotationClass, EnvironmentConvertibleValuesMap.of(environment, entries.getValues()))) .toArray(value -> (T[]) Array.newInstance(annotationClass, value)); } else { return annotationMetadata.synthesizeDeclaredAnnotationsByType(annotationClass); } }
/** * Default constructor. * * @param environment The environment * @param target The target */ EnvironmentAnnotationValue(Environment environment, AnnotationValue<A> target) { super(target, AnnotationMetadataSupport.getDefaultValues(target.getAnnotationName()), EnvironmentConvertibleValuesMap.of( environment, target.getValues() )); }
/** * Default constructor. * * @param environment The environment * @param target The target */ EnvironmentAnnotationValue(Environment environment, AnnotationValue<A> target) { super(target, AnnotationMetadataSupport.getDefaultValues(target.getAnnotationName()), EnvironmentConvertibleValuesMap.of( environment, target.getValues() )); }
io.micronaut.core.annotation.AnnotationValue[] values = (io.micronaut.core.annotation.AnnotationValue[]) value; for (io.micronaut.core.annotation.AnnotationValue av : values) { OptionalValues<Object> aliasForValues = OptionalValues.of(Object.class, av.getValues()); processAnnotationAlias( metadata, metadata.addDeclaredAnnotation( mappedAnnotationName, av.getValues() ); } else { metadata.addAnnotation( mappedAnnotationName, av.getValues() );
io.micronaut.core.annotation.AnnotationValue[] values = (io.micronaut.core.annotation.AnnotationValue[]) value; for (io.micronaut.core.annotation.AnnotationValue av : values) { OptionalValues<Object> aliasForValues = OptionalValues.of(Object.class, av.getValues()); processAnnotationAlias( metadata, metadata.addDeclaredAnnotation( mappedAnnotationName, av.getValues() ); } else { metadata.addAnnotation( mappedAnnotationName, av.getValues() );
io.micronaut.core.annotation.AnnotationValue data = (io.micronaut.core.annotation.AnnotationValue) value; String annotationName = data.getAnnotationName(); Map<CharSequence, Object> values = data.getValues(); Type annotationValueType = Type.getType(io.micronaut.core.annotation.AnnotationValue.class); methodVisitor.newInstance(annotationValueType);
io.micronaut.core.annotation.AnnotationValue data = (io.micronaut.core.annotation.AnnotationValue) value; String annotationName = data.getAnnotationName(); Map<CharSequence, Object> values = data.getValues(); Type annotationValueType = Type.getType(io.micronaut.core.annotation.AnnotationValue.class); methodVisitor.newInstance(annotationValueType);