private void processTypeFields(TypeElement type, MojoDescriptor descriptor) {
// non-static fields
for (Element member : type.getEnclosedElements()) {
if (member instanceof VariableElement) {
Parameter parameter = member.getAnnotation(Parameter.class);
Component component = member.getAnnotation(Component.class);
if (parameter != null && component != null) {
// TODO error marker
}
if (parameter != null) {
descriptor.addParameter(toParameterDescriptor((VariableElement) member, parameter));
} else if (component != null) {
descriptor.addRequirement(toComponentDescriptor((VariableElement) member, component));
}
}
}
}
java类org.apache.maven.plugins.annotations.Component的实例源码
MojoDescriptorGleaner.java 文件源码
项目:takari-lifecycle
阅读 27
收藏 0
点赞 0
评论 0
MojoDescriptorGleaner.java 文件源码
项目:takari-lifecycle
阅读 25
收藏 0
点赞 0
评论 0
private Set<TypeElement> getAnnotatedTypes(RoundEnvironment roundEnv) {
Set<TypeElement> types = new HashSet<>();
roundEnv.getElementsAnnotatedWith(Mojo.class).forEach(type -> types.add((TypeElement) type));
addAnnotatedMembers(types, roundEnv, Parameter.class);
addAnnotatedMembers(types, roundEnv, Component.class);
return types;
}
MojoDescriptorGleaner.java 文件源码
项目:takari-lifecycle
阅读 27
收藏 0
点赞 0
评论 0
@Override
public Set<String> getSupportedAnnotationTypes() {
Set<String> types = new HashSet<>();
types.add(Mojo.class.getName());
types.add(Parameter.class.getName());
types.add(Component.class.getName());
return types;
}
MojoDescriptorGleaner.java 文件源码
项目:takari-lifecycle
阅读 22
收藏 0
点赞 0
评论 0
private MojoRequirement toComponentDescriptor(VariableElement field, Component component) {
MojoRequirement result = new MojoRequirement();
result.setFieldName(field.getSimpleName().toString());
result.setRole(getComponentRole(field, component));
result.setRoleHint(component.hint());
return result;
}
MojoDescriptorGleaner.java 文件源码
项目:takari-lifecycle
阅读 23
收藏 0
点赞 0
评论 0
private String getComponentRole(VariableElement field, Component component) {
String role;
try {
role = component.role().getName();
} catch (MirroredTypeException e) {
role = e.getTypeMirror().toString();
}
if (!Object.class.getName().equals(role)) {
return role;
}
return getTypeString(field.asType());
}