@Override public Optional<MetadataType> load(String identifier) { if (void.class.getName().equals(identifier) || Void.class.getName().equals(identifier)) { return Optional.of(createTypeBuilder().nullType().build()); } final Class<?> clazz; try { clazz = classLoader.loadClass(identifier); } catch (ClassNotFoundException e) { return Optional.empty(); } return Optional.of(load(clazz)); }
public NullTypeBuilder nullType() { final NullTypeBuilder metadataBuilder = new NullTypeBuilder(format); builder = Optional.of(metadataBuilder); return metadataBuilder; }
public static MetadataType getMetadata(String key) throws MetadataResolvingException { final ObjectTypeBuilder objectBuilder = BaseTypeBuilder.create(JAVA).objectType(); switch (key) { case MetadataConnection.CAR: objectBuilder.addField().key(TIRES).value().numberType(); objectBuilder.addField().key(BRAND).value().stringType(); break; case MetadataConnection.HOUSE: objectBuilder.addField().key(DIRECTION).value().stringType(); objectBuilder.addField().key(SIZE).value().numberType(); break; case MetadataConnection.PERSON: objectBuilder.addField().key(NAME).value().stringType(); objectBuilder.addField().key(AGE).value().numberType(); break; case MetadataConnection.NULL: return BaseTypeBuilder.create(JAVA).nullType().build(); case MetadataConnection.VOID: return BaseTypeBuilder.create(JAVA).voidType().build(); default: throw new MetadataResolvingException("Unknown key " + key, INVALID_METADATA_KEY); } return objectBuilder.build(); }
@Override public MetadataType load(Type type) { final BaseTypeBuilder<?> typeBuilder = createTypeBuilder(); if (void.class.equals(type) || Void.class.equals(type)) { return typeBuilder.nullType().build(); } final TypeHandlerManager typeHandlerManager = typeHandlerManagerFactory.createTypeHandlerManager(); typeHandlerManager.handle(type, new ParsingContext(), typeBuilder); return typeBuilder.build(); }
public static MetadataType buildOutputType(MetadataType body, MetadataType headers, MetadataType attachments, BaseTypeBuilder builder) { if (isNullType(body) && isNullType(attachments) && isNullType(headers)) { return builder.nullType().build(); } ObjectTypeBuilder object = builder.objectType(); if (!isNullType(body)) { object.addField().key(BODY_FIELD).value(body); } if (!isNullType(headers)) { object.addField().key(HEADERS_FIELD).value(headers); } if (!isNullType(attachments)) { object.addField().key(ATTACHMENTS_FIELD).value().arrayType().of(builder.binaryType()); } return object.build(); }
public static MetadataType getMetadata(String key) throws MetadataResolvingException { final ObjectTypeBuilder objectBuilder = BaseTypeBuilder.create(JAVA).objectType(); switch (key) { case MetadataConnection.CAR: objectBuilder.addField().key(TIRES).value().numberType(); objectBuilder.addField().key(BRAND).value().stringType(); break; case MetadataConnection.HOUSE: objectBuilder.addField().key(DIRECTION).value().stringType(); objectBuilder.addField().key(SIZE).value().numberType(); break; case MetadataConnection.PERSON: objectBuilder.addField().key(NAME).value().stringType(); objectBuilder.addField().key(AGE).value().numberType(); break; case MetadataConnection.NULL: return BaseTypeBuilder.create(JAVA).nullType().build(); case MetadataConnection.VOID: return BaseTypeBuilder.create(JAVA).voidType().build(); default: throw new MetadataResolvingException("Unknown key " + key, INVALID_METADATA_KEY); } return objectBuilder.build(); }