Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Start cleanup of AnnotationTarget #507

Merged
merged 3 commits into from
Jul 29, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package jakarta.enterprise.inject.build.compatible.spi;

import jakarta.enterprise.lang.model.AnnotationAttribute;
import jakarta.enterprise.lang.model.AnnotationMember;
import jakarta.enterprise.lang.model.AnnotationInfo;
import jakarta.enterprise.lang.model.declarations.ClassInfo;
import java.lang.annotation.Annotation;
Expand All @@ -9,9 +9,9 @@
// TODO better name?
// TODO devise a builder-style API instead (see also Annotations)
public interface AnnotationConfig {
void addAnnotation(Class<? extends Annotation> annotationType, AnnotationAttribute... attributes);
void addAnnotation(Class<? extends Annotation> annotationType, AnnotationMember... attributes);

void addAnnotation(ClassInfo<?> annotationType, AnnotationAttribute... attributes);
void addAnnotation(ClassInfo<?> annotationType, AnnotationMember... attributes);

void addAnnotation(AnnotationInfo annotation);

Expand Down
Original file line number Diff line number Diff line change
@@ -1,84 +1,84 @@
package jakarta.enterprise.inject.build.compatible.spi;

import jakarta.enterprise.lang.model.AnnotationAttribute;
import jakarta.enterprise.lang.model.AnnotationAttributeValue;
import jakarta.enterprise.lang.model.AnnotationMember;
import jakarta.enterprise.lang.model.AnnotationMemberValue;
import jakarta.enterprise.lang.model.AnnotationInfo;
import jakarta.enterprise.lang.model.declarations.ClassInfo;
import java.lang.annotation.Annotation;
import java.util.List;

// TODO devise a builder-style API instead (see also AnnotationConfig)
public interface Annotations {
AnnotationAttributeValue value(boolean value);
AnnotationMemberValue value(boolean value);

AnnotationAttributeValue value(byte value);
AnnotationMemberValue value(byte value);

AnnotationAttributeValue value(short value);
AnnotationMemberValue value(short value);

AnnotationAttributeValue value(int value);
AnnotationMemberValue value(int value);

AnnotationAttributeValue value(long value);
AnnotationMemberValue value(long value);

AnnotationAttributeValue value(float value);
AnnotationMemberValue value(float value);

AnnotationAttributeValue value(double value);
AnnotationMemberValue value(double value);

AnnotationAttributeValue value(char value);
AnnotationMemberValue value(char value);

AnnotationAttributeValue value(String value);
AnnotationMemberValue value(String value);

AnnotationAttributeValue value(Enum<?> enumValue);
AnnotationMemberValue value(Enum<?> enumValue);

AnnotationAttributeValue value(Class<? extends Enum<?>> enumType, String enumValue);
AnnotationMemberValue value(Class<? extends Enum<?>> enumType, String enumValue);

AnnotationAttributeValue value(ClassInfo<?> enumType, String enumValue);
AnnotationMemberValue value(ClassInfo<?> enumType, String enumValue);

AnnotationAttributeValue value(Class<?> value);
AnnotationMemberValue value(Class<?> value);

AnnotationAttributeValue annotationValue(Class<? extends Annotation> annotationType, AnnotationAttribute... attributes);
AnnotationMemberValue annotationValue(Class<? extends Annotation> annotationType, AnnotationMember... attributes);

AnnotationAttributeValue annotationValue(ClassInfo<?> annotationType, AnnotationAttribute... attributes);
AnnotationMemberValue annotationValue(ClassInfo<?> annotationType, AnnotationMember... attributes);

AnnotationAttributeValue annotationValue(AnnotationInfo annotation);
AnnotationMemberValue annotationValue(AnnotationInfo annotation);

AnnotationAttributeValue annotationValue(Annotation annotation);
AnnotationMemberValue annotationValue(Annotation annotation);

AnnotationAttribute attribute(String name, boolean value);
AnnotationMember attribute(String name, boolean value);

AnnotationAttribute attribute(String name, byte value);
AnnotationMember attribute(String name, byte value);

AnnotationAttribute attribute(String name, short value);
AnnotationMember attribute(String name, short value);

AnnotationAttribute attribute(String name, int value);
AnnotationMember attribute(String name, int value);

AnnotationAttribute attribute(String name, long value);
AnnotationMember attribute(String name, long value);

AnnotationAttribute attribute(String name, float value);
AnnotationMember attribute(String name, float value);

AnnotationAttribute attribute(String name, double value);
AnnotationMember attribute(String name, double value);

AnnotationAttribute attribute(String name, char value);
AnnotationMember attribute(String name, char value);

AnnotationAttribute attribute(String name, String value);
AnnotationMember attribute(String name, String value);

AnnotationAttribute attribute(String name, Enum<?> enumValue);
AnnotationMember attribute(String name, Enum<?> enumValue);

AnnotationAttribute attribute(String name, Class<? extends Enum<?>> enumType, String enumValue);
AnnotationMember attribute(String name, Class<? extends Enum<?>> enumType, String enumValue);

AnnotationAttribute attribute(String name, ClassInfo<?> enumType, String enumValue);
AnnotationMember attribute(String name, ClassInfo<?> enumType, String enumValue);

AnnotationAttribute attribute(String name, Class<?> value);
AnnotationMember attribute(String name, Class<?> value);

AnnotationAttribute arrayAttribute(String name, AnnotationAttributeValue... values);
AnnotationMember arrayAttribute(String name, AnnotationMemberValue... values);

AnnotationAttribute arrayAttribute(String name, List<AnnotationAttributeValue> values);
AnnotationMember arrayAttribute(String name, List<AnnotationMemberValue> values);

AnnotationAttribute annotationAttribute(String name, Class<? extends Annotation> annotationType,
AnnotationAttribute... attributes);
AnnotationMember annotationAttribute(String name, Class<? extends Annotation> annotationType,
AnnotationMember... attributes);

AnnotationAttribute annotationAttribute(String name, ClassInfo<?> annotationType, AnnotationAttribute... attributes);
AnnotationMember annotationAttribute(String name, ClassInfo<?> annotationType, AnnotationMember... attributes);

AnnotationAttribute annotationAttribute(String name, AnnotationInfo annotation);
AnnotationMember annotationAttribute(String name, AnnotationInfo annotation);

AnnotationAttribute annotationAttribute(String name, Annotation annotation);
AnnotationMember annotationAttribute(String name, Annotation annotation);
}
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@
* a parameter of type {@link Types Types}. It provides factory methods for the void type, primitive types,
* class types, array types, parameterized types and wildcard types.
* <p>
* If you need to create instances of {@link jakarta.enterprise.lang.model.AnnotationAttribute AnnotationAttribute} or
* {@link jakarta.enterprise.lang.model.AnnotationAttributeValue AnnotationAttributeValue}, you can also declare
* If you need to create instances of {@link jakarta.enterprise.lang.model.AnnotationMember AnnotationAttribute} or
* {@link jakarta.enterprise.lang.model.AnnotationMemberValue AnnotationAttributeValue}, you can also declare
* a parameter of type {@link Annotations Annotations}. It provides factory methods for all kinds of annotation attributes.
*/
@Target(ElementType.METHOD)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package jakarta.enterprise.inject.build.compatible.spi;

import jakarta.enterprise.lang.model.AnnotationAttribute;
import jakarta.enterprise.lang.model.AnnotationMember;
import jakarta.enterprise.lang.model.AnnotationInfo;
import jakarta.enterprise.lang.model.declarations.ClassInfo;
import jakarta.enterprise.lang.model.types.Type;
Expand All @@ -25,9 +25,9 @@ public interface SyntheticBeanBuilder<T> {

// can be called multiple times and is additive
// TODO methods to add multiple qualifiers at once?
SyntheticBeanBuilder<T> qualifier(Class<? extends Annotation> qualifierAnnotation, AnnotationAttribute... attributes);
SyntheticBeanBuilder<T> qualifier(Class<? extends Annotation> qualifierAnnotation, AnnotationMember... attributes);

SyntheticBeanBuilder<T> qualifier(ClassInfo<?> qualifierAnnotation, AnnotationAttribute... attributes);
SyntheticBeanBuilder<T> qualifier(ClassInfo<?> qualifierAnnotation, AnnotationMember... attributes);

SyntheticBeanBuilder<T> qualifier(AnnotationInfo qualifierAnnotation);

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package jakarta.enterprise.inject.build.compatible.spi;

import jakarta.enterprise.lang.model.AnnotationAttribute;
import jakarta.enterprise.lang.model.AnnotationMember;
import jakarta.enterprise.lang.model.AnnotationInfo;
import jakarta.enterprise.lang.model.declarations.ClassInfo;
import jakarta.enterprise.lang.model.types.Type;
Expand Down Expand Up @@ -40,9 +40,9 @@ public interface SyntheticObserverBuilder {

// can be called multiple times and is additive
// TODO methods to add multiple qualifiers at once?
SyntheticObserverBuilder qualifier(Class<? extends Annotation> qualifierAnnotation, AnnotationAttribute... attributes);
SyntheticObserverBuilder qualifier(Class<? extends Annotation> qualifierAnnotation, AnnotationMember... attributes);

SyntheticObserverBuilder qualifier(ClassInfo<?> qualifierAnnotation, AnnotationAttribute... attributes);
SyntheticObserverBuilder qualifier(ClassInfo<?> qualifierAnnotation, AnnotationMember... attributes);

SyntheticObserverBuilder qualifier(AnnotationInfo qualifierAnnotation);

Expand Down

This file was deleted.

This file was deleted.

Loading