public static JavaClazz transition(JavaClazz from, JavaClazz to) { JavaType transitionInterface = new JavaTypeBuilder(from.getType()) .withGenericTypes(new JavaType[]{to.getType()}).build(); return new JavaClazzBuilder(from) .withType(transitionInterface) .build(); }
public TypeRef apply(TypeRef item) { if (item instanceof PrimitiveRef) { return new PrimitiveRefBuilder((PrimitiveRef) item).withDimensions(0).build(); } else if (item instanceof ClassRef) { return new ClassRefBuilder((ClassRef) item).withDimensions(0).build(); } else if (item instanceof TypeParamRef) { return new TypeParamRefBuilder((TypeParamRef) item).withDimensions(0).build(); } else { return item; } } };
private static boolean hasBuildableAnnotation(Method method) { for (AnnotationRef annotationRef : method.getAnnotations()) { if (annotationRef.getClassRef().equals(Constants.BUILDABLE_ANNOTATION.getClassRef())) { return true; } } return false; }
public A withTypeRef(TypeRef typeRef){ _visitables.remove(this.typeRef); if (typeRef instanceof VoidRef){ this.typeRef= new VoidRefBuilder((VoidRef)typeRef); _visitables.add(this.typeRef);} if (typeRef instanceof WildcardRef){ this.typeRef= new WildcardRefBuilder((WildcardRef)typeRef); _visitables.add(this.typeRef);} if (typeRef instanceof PrimitiveRef){ this.typeRef= new PrimitiveRefBuilder((PrimitiveRef)typeRef); _visitables.add(this.typeRef);} if (typeRef instanceof TypeParamRef){ this.typeRef= new TypeParamRefBuilder((TypeParamRef)typeRef); _visitables.add(this.typeRef);} if (typeRef instanceof ClassRef){ this.typeRef= new ClassRefBuilder((ClassRef)typeRef); _visitables.add(this.typeRef);} return (A) this; }
@Override public JavaMethod apply(JavaProperty property) { String methodName = "set" + property.getNameCapitalized(); return new JavaMethodBuilder() .addToModifiers(Modifier.PUBLIC) .withName(methodName) .withReturnType(VOID) .withArguments(new JavaProperty[]{property}) .addToAttributes(BODY, "this." + property.getName() + "=" + property.getName() + ";") .build(); } },
public EditableProperty build() { EditableProperty buildable = new EditableProperty(fluent.getAnnotations(), fluent.getTypeRef(), fluent.getName(), fluent.getModifiers(), fluent.getAttributes()); validate(buildable); return buildable; }
public EditableClassRef build() { EditableClassRef buildable = new EditableClassRef(fluent.getDefinition(), fluent.getFullyQualifiedName(), fluent.getDimensions(), fluent.getArguments(), fluent.getAttributes()); validate(buildable); return buildable; }
public EditablePrimitiveRef build() { EditablePrimitiveRef buildable = new EditablePrimitiveRef(fluent.getName(), fluent.getDimensions(), fluent.getAttributes()); validate(buildable); return buildable; }
public EditableTypeParamDef build() { EditableTypeParamDef buildable = new EditableTypeParamDef(fluent.getName(), fluent.getBounds(), fluent.getAttributes()); validate(buildable); return buildable; }
public EditableTypeParamRef build() { EditableTypeParamRef buildable = new EditableTypeParamRef(fluent.getName(), fluent.getDimensions(), fluent.getAttributes()); validate(buildable); return buildable; }
public EditableAnnotationRef build() { EditableAnnotationRef buildable = new EditableAnnotationRef(fluent.getClassRef(), fluent.getParameters(), fluent.getAttributes()); validate(buildable); return buildable; }
public EditableWildcardRef build() { EditableWildcardRef buildable = new EditableWildcardRef(fluent.getBounds(), fluent.getAttributes()); validate(buildable); return buildable; }
public EditableModifierSupport build() { EditableModifierSupport buildable = new EditableModifierSupport(fluent.getModifiers(), fluent.getAttributes()); validate(buildable); return buildable; }
public ModifierSupportBuilder(ModifierSupport instance) { this.fluent = this; this.withModifiers(instance.getModifiers()); this.withAttributes(instance.getAttributes()); }
public EditableSource build() { EditableSource buildable = new EditableSource(fluent.getTypes()); validate(buildable); return buildable; }
public EditableBlock build() { EditableBlock buildable = new EditableBlock(fluent.getStatements()); validate(buildable); return buildable; }
public EditableAttributeSupport build() { EditableAttributeSupport buildable = new EditableAttributeSupport(fluent.getAttributes()); validate(buildable); return buildable; }
@Override public String apply(JavaProperty item) { String prefix = item.getType().isBoolean() ? "is" : "get"; return "fluent." + prefix + item.getNameCapitalized() + "()"; } }, ","));
public EditableVoidRef build() { EditableVoidRef buildable = new EditableVoidRef(fluent.getAttributes()); validate(buildable); return buildable; }
@Override public String apply(JavaClazz item) { return item.getType().getSimpleName(); } }, "#");