@Test public void testModuleDoubleOperationRemapping_expectsTwoRemappedOperation() { final DeclarationOperation declaresOutput = new DeclarationOperation(BaseTypeBuilder.create(MetadataFormat.JSON).binaryType().build(), BaseTypeBuilder.create(MetadataFormat.XML).numberType().build()); final DeclarationOperation declaresAttributes = new DeclarationOperation(VOID_TYPE, NUMBER_TYPE); final DeclarationOperation declaresOutputAndAttributes = new DeclarationOperation(BaseTypeBuilder.create(MetadataFormat.XML).numberType().build(), VOID_TYPE); final DeclarationOperation declaresNothing = new DeclarationOperation(VOID_TYPE, VOID_TYPE); assertModule(of("modules/declaration/declaration-two-operations.json"), declaresOutput, declaresAttributes, declaresOutputAndAttributes, declaresNothing); }
public NumberTypeBuilder numberType() { final NumberTypeBuilder metadataBuilder = new NumberTypeBuilder(format); builder = Optional.of(metadataBuilder); return metadataBuilder; }
@Override public TypeBuilder<?> handleClass(Class<?> clazz, List<Type> genericTypes, TypeHandlerManager typeHandlerManager, ParsingContext context, BaseTypeBuilder<?> typeBuilder) { final NumberTypeBuilder<? extends BaseTypeBuilder<?>> numberType = typeBuilder.numberType(); if (isInt(clazz)) { numberType.integer(); } if (clazz.getCanonicalName() != null) { numberType.id(clazz.getCanonicalName()); } return numberType; }
public NumberTypeBuilder range(Number from, Number to) { return with(new NumberRangeAnnotation(from, to)); }
@Test public void getDataTypeFromList() { Class<List> listClass = List.class; Class<Integer> integerClass = Integer.class; ArrayTypeBuilder arrayTypeBuilder = BaseTypeBuilder.create(JAVA) .arrayType() .with(new ClassInformationAnnotation(listClass)); arrayTypeBuilder.of().numberType().integer(); CollectionDataType dataType = (CollectionDataType) toDataType(arrayTypeBuilder.build()); assertThat(dataType.getType(), is(equalTo(listClass))); assertThat(dataType.getItemDataType().getType(), is(equalTo(integerClass))); }
@Override public TypeBuilder<?> handle(Schema schema, BaseTypeBuilder root, HandlerManager handlerManager, ParsingContext parsingContext) { final NumberSchema numberSchema = (NumberSchema) schema; final NumberTypeBuilder numberType = root.numberType(); Number min = null; Number max = null; if (numberSchema.getMinimum() != null) { min = numberSchema.getMinimum(); } if (numberSchema.getMaximum() != null) { max = numberSchema.getMaximum(); } if (isNotNull(min) || isNotNull(max)) { numberType.range(min, max); } if (numberSchema.requiresInteger()) { numberType.integer(); } return numberType; } }
@Override public TypeBuilder<?> handle(JsonElement jsonElement, BaseTypeBuilder root, HandlerManager handlerManager, ParsingContext parsingContext) { JsonPrimitive primitive = (JsonPrimitive) jsonElement; if (primitive.isString()) { return root.stringType(); } else if (primitive.isBoolean()) { return root.booleanType(); } else if (primitive.isNumber()) { //Check if it is an integer. If not return Number type String stringValue = primitive.getAsString(); if (isInteger(stringValue)) { return root.numberType().id("int"); } if (isDouble(stringValue)) { return root.numberType().id("double"); } else { return root.numberType(); } } return root.stringType(); }
public NumberTypeBuilder with(TypeAnnotation extension) { this.addExtension(extension); return this; }
public NumberTypeBuilder integer() { return with(new IntAnnotation()); } }
@Override public TypeBuilder<?> handleClass(Class<?> clazz, List<Type> genericTypes, TypeHandlerManager typeHandlerManager, ParsingContext context, BaseTypeBuilder typeBuilder) { final NumberTypeBuilder numberType = typeBuilder.numberType().with(new ClassInformationAnnotation(clazz)); if (isInt(clazz)) { numberType.integer(); } return numberType; }
@Test public void testModuleSingleOperationRemapping_expectsOneRemappedOperation() { final DeclarationOperation declaresOutput = new DeclarationOperation(BaseTypeBuilder.create(MetadataFormat.JSON).binaryType().build(), BaseTypeBuilder.create(MetadataFormat.XML).numberType().build()); final DeclarationOperation declaresAttributes = new DeclarationOperation(VOID_TYPE, NUMBER_TYPE); final DeclarationOperation declaresOutputAndAttributes = new DeclarationOperation(ANY_TYPE, BOOLEAN_TYPE); final DeclarationOperation declaresNothing = new DeclarationOperation(VOID_TYPE, VOID_TYPE); assertModule(of("modules/declaration/declaration-one-operation.json"), declaresOutput, declaresAttributes, declaresOutputAndAttributes, declaresNothing); }
public NumberTypeBuilder defaultValue(String defaultValue) { return with(new DefaultValueAnnotation(defaultValue)); }
@Test public void testModuleAllOperationRemapping_expectsAllRemappedOperation() { final DeclarationOperation declaresOutput = new DeclarationOperation(BaseTypeBuilder.create(MetadataFormat.JSON).binaryType().build(), BaseTypeBuilder.create(MetadataFormat.XML).numberType().build()); final DeclarationOperation declaresAttributes = new DeclarationOperation(BaseTypeBuilder.create(MetadataFormat.XML).dateType().build(), BaseTypeBuilder.create(MetadataFormat.CSV).numberType().build()); final DeclarationOperation declaresOutputAndAttributes = new DeclarationOperation(BaseTypeBuilder.create(MetadataFormat.XML).numberType().build(), VOID_TYPE); final DeclarationOperation declaresNothing = new DeclarationOperation(BaseTypeBuilder.create(MetadataFormat.JSON).stringType().build(), BaseTypeBuilder.create(MetadataFormat.CSV).stringType().build()); assertModule(of("modules/declaration/declaration-all-operations.json"), declaresOutput, declaresAttributes, declaresOutputAndAttributes, declaresNothing); }
public NumberTypeBuilder id(String typeIdentifier) { return with(new TypeIdAnnotation(typeIdentifier)); }
@Parameters(name = "isSimpleType({0})") public static Collection<Object[]> data() { return Arrays.asList(new Object[][] {{BUILDER.stringType().build(), true}, {BUILDER.numberType().build(), true}, {BUILDER.booleanType().build(), true}, {BUILDER.objectType().build(), false}, {BUILDER.arrayType().of(BUILDER.stringType()).build(), false}, {BUILDER.dateTimeType().build(), false}}); }
public NumberTypeBuilder enumOf(Number... values) { return with(new EnumAnnotation<>(values)); }
public MetadataType getIdFieldMetaDataType() { return typeBuilder.numberType().build(); }
public MetadataType getPositionFieldMetaDataType() { return typeBuilder.numberType().build(); }