@Override public TypeBuilder getRamlSyntax() { return TypeBuilder.type(ramlSyntax); }
static public TypeBuilder type(String type) { return new TypeBuilder(type); }
@Override protected Node createValueNode() { if ( types != null ) { return types.buildNode(); } else { return super.createValueNode(); } } }
private TypeDeclarationBuilder handleEnum(final RamlType quickType, final RamlAdjuster adjuster) { Class<? extends Enum> c = (Class<? extends Enum>) quickType.type(); TypeBuilder typeBuilder = TypeBuilder.type().enumValues( FluentIterable.of(c.getEnumConstants()).transform(new Function<Enum, String>() { @Nullable @Override public String apply(@Nullable Enum o) { return adjuster.adjustEnumValue(quickType.type(), o.name()); } }).toArray(String.class) ); adjuster.adjustType(quickType.type(), quickType.getRamlSyntax().id(), typeBuilder); return TypeDeclarationBuilder.typeDeclaration(quickType.getRamlSyntax().id()).ofType(typeBuilder); }
private void writeFormParam(RamlResourceMethod method, BodyBuilder body) throws IOException { TypeBuilder typeBuilder = TypeBuilder.type("object"); List<RamlFormParameter> formData = method.getFormParameters(); for (RamlFormParameter formDatum : formData) { typeBuilder.withProperty(TypePropertyBuilder.property(formDatum.getName(), RamlTypes.fromType(formDatum.getType()) .getRamlSyntax())); } body.ofType(typeBuilder); }
if ( quickType.isScalar()) { return TypeDeclarationBuilder.typeDeclaration(quickType.getRamlSyntax().id()).ofType(quickType.getRamlSyntax()); builder.withProperty(adjusterFactory.createAdjuster(ramlType.type()).adjustScalarProperty(typeDeclaration, property, typePropertyBuilder)); } else { builder.withProperty(adjusterFactory.createAdjuster(ramlType.type()).adjustComposedProperty(typeDeclaration, property, typePropertyBuilder));
@Override public TypeBuilder writeType(final TypeRegistry registry, RamlEntity type) { AdjusterFactory factory = new AdjusterFactory() { @Override public RamlAdjuster createAdjuster(Class<?> clazz) { return new PojoToRamlExtensionFactory(topPackage).createAdjusters(clazz); } }; final PojoToRaml pojoToRaml = PojoToRamlBuilder.create(new PojoToRamlClassParserFactory(topPackage), factory); TypeBuilder name = pojoToRaml.name(type.getType()); registry.registerType(name.id(), type); return name; }
@Override public TypeBuilder adjustType(Type actualType, String typeName, TypeBuilder typeBuilder) { try { ModelEmitterAnnotations.annotate(supportedAnnotations, RamlType.this, typeBuilder); } catch (IOException e) { e.printStackTrace(); } if (descriptor.describe().isPresent()) { typeBuilder.description(descriptor.describe().get()); } return typeBuilder; }
@Override public TypeBuilder getRamlSyntax() { return TypeBuilder.arrayOf(type.getRamlSyntax()); }
@Override public TypeBuilder getRamlSyntax() { String format = foundType.formats.get(type); if ( format == null ) { return foundType.getRamlSyntax(); } else { return foundType.getRamlSyntax().with(PropertyValueBuilder.property("format", format)); } }
private void writeMultiPartFormData(RamlResourceMethod method, BodyBuilder body) throws IOException { TypeBuilder typeBuilder = TypeBuilder.type("object"); List<RamlMultiFormDataParameter> formData = method.getMultiFormDataParameter(); for (RamlMultiFormDataParameter formDatum : formData) { Type type = formDatum.getPartEntity().getType(); TypeHandler typeHandler = pickTypeHandler(type); typeBuilder.withProperty(TypePropertyBuilder.property(formDatum.getName(), typeHandler.writeType(typeRegistry, formDatum.getPartEntity()))); } body.ofType(typeBuilder); }
@Override public TypeBuilder adjustType(Type actualType, String typeName, TypeBuilder typeBuilder) { try { ModelEmitterAnnotations.annotate(supportedAnnotations, RamlType.this, typeBuilder); } catch (IOException e) { e.printStackTrace(); } if (descriptor.describe().isPresent()) { typeBuilder.description(descriptor.describe().get()); } return typeBuilder; }
@Override public TypeBuilder name(Type type) { if ( type instanceof Class) { return name((Class<?>)type); } else { if ( type instanceof ParameterizedType ) { ParameterizedType pt = (ParameterizedType) type; if ( pt.getRawType() instanceof Class && Collection.class.isAssignableFrom((Class)pt.getRawType()) && pt.getActualTypeArguments().length == 1) { Class<?> cls = (Class<?>) pt.getActualTypeArguments()[0]; TypeBuilder builder = name(cls); return TypeBuilder.arrayOf(builder); } else { throw new IllegalArgumentException("can't parse type " + pt); } } else { throw new IllegalArgumentException("can't parse type " + type); } } }
@Override public TypeBuilder getRamlSyntax() { return TypeBuilder.type(actualRamlName); }
@Override protected Node createValueNode() { if ( types != null ) { return types.buildNode(); } else { return super.createValueNode(); } } }
static public TypeBuilder type(String... types) { return new TypeBuilder(types); }
public ParameterBuilder ofType(String name) { this.type = TypeBuilder.type(name); return this; }
@Override public KeyValueNode buildNode() { KeyValueNode node = super.buildNode(); node.setValue(type.buildNode()); if ( ! annotations.isEmpty() ) { for (AnnotationBuilder annotation : annotations) { node.getValue().addChild(annotation.buildNode()); } } return node; }
static public TypeBuilder arrayOf(TypeBuilder builder) { return new TypeBuilder(builder); }
@Override public TypeBuilder getRamlSyntax() { return TypeBuilder.type(actualRamlName); }