@Command("new-qualifier") public void newQualifier( @Option(required = true, name = "type") final JavaResource resource, @Option(required = false, name = "overwrite") final boolean overwrite, @Option(required = false, name = "inherited") final boolean inherited ) throws FileNotFoundException { if (resource.exists() && !overwrite) { throw new RuntimeException("Type already exists [" + resource.getFullyQualifiedName() + "] Re-run with '--overwrite' to continue."); } JavaSourceFacet java = project.getFacet(JavaSourceFacet.class); JavaAnnotation qualifier = JavaParser.create(JavaAnnotation.class); qualifier.setName(java.calculateName(resource)); qualifier.setPackage(java.calculatePackage(resource)); qualifier.addAnnotation(Qualifier.class); if (inherited) { qualifier.addAnnotation(Inherited.class); } qualifier.addAnnotation(Retention.class).setEnumValue(RUNTIME); qualifier.addAnnotation(Target.class).setEnumValue(METHOD, FIELD, PARAMETER, TYPE); qualifier.addAnnotation(Documented.class); java.saveJavaSource(qualifier); pickup.fire(new PickupResource(java.getJavaResource(qualifier))); }
type = JavaParser.create(JavaAnnotation.class).setName(annotationName); type.setPackage(pckg); type.addAnnotation(Documented.class); type.addAnnotation(Retention.class).setEnumValue(retentionPolicy); type.addAnnotation(Target.class).setEnumValue(targetTypes.toArray(new ElementType[targetTypes.size()])); if (!type.hasSyntaxErrors()) for (SyntaxError error : type.getSyntaxErrors())
.addAnnotationElement(elementDef).getName(); if (parent.hasAnnotationElement(addName)) parent.addAnnotationElement(elementDef); parent.addAnnotationElement().setName(name).setType(type);
scope.setName(java.calculateName(resource)); scope.setPackage(java.calculatePackage(resource)); scope.addAnnotation(Scope.class); Annotation<JavaAnnotation> normalScope = scope.addAnnotation(NormalScope.class); if (passivating) scope.addAnnotation(Retention.class).setEnumValue(RUNTIME); scope.addAnnotation(Target.class).setEnumValue(TYPE, METHOD, FIELD); scope.addAnnotation(Documented.class);
stereotype.setName(java.calculateName(resource)); stereotype.setPackage(java.calculatePackage(resource)); stereotype.addAnnotation(Stereotype.class); if (inherited) stereotype.addAnnotation(Inherited.class); stereotype.addAnnotation(Named.class); stereotype.addAnnotation(Alternative.class); stereotype.addAnnotation(Retention.class).setEnumValue(RUNTIME); stereotype.addAnnotation(Target.class).setEnumValue(targetTypes.toArray(new ElementType[targetTypes.size()])); stereotype.addAnnotation(Documented.class);