private void emitUnionSpecification(final UnionTypeDefinition typeDefinition) { for (final TypeDefinition<?> subtype : typeDefinition.getTypes()) { // FIXME: BUG-2444: What if we have locally modified types here? // is solution to look-up in schema path? emitTypeNode(typeDefinition.getPath(), subtype); } }
static int hashCode(final UnionTypeDefinition type) { return Objects.hash(type.getPath(), type.getUnknownSchemaNodes(), type.getBaseType(), type.getUnits().orElse(null), type.getDefaultValue().orElse(null), type.getTypes()); }
static int hashCode(final UnionTypeDefinition type) { return Objects.hash(type.getPath(), type.getUnknownSchemaNodes(), type.getBaseType(), type.getUnits().orElse(null), type.getDefaultValue().orElse(null), type.getTypes()); }
private Type createReturnTypeForUnion(final GeneratedTOBuilder genTOBuilder, final UnionTypeDefinition typeDef, final GeneratedTypeBuilder typeBuilder, final Module parentModule) { final GeneratedTOBuilder returnTypeBuilder = typeProvider.newGeneratedTOBuilder(genTOBuilder.getIdentifier()); returnTypeBuilder.setIsUnion(true); addCodegenInformation(returnTypeBuilder, parentModule, typeDef); returnTypeBuilder.setSchemaPath(typeDef.getPath()); returnTypeBuilder.setModuleName(parentModule.getName()); final GeneratedTransferObject returnType = returnTypeBuilder.build(); genTOBuilder.setTypedef(true); genTOBuilder.setIsUnion(true); AbstractTypeProvider.addUnitsToGenTO(genTOBuilder, typeDef.getUnits().orElse(null)); createUnionBuilder(genTOBuilder, typeBuilder, returnType, parentModule); return returnType; }
unionGenTOBuilder.setDescription(typedef.getDescription()); unionGenTOBuilder.setReference(typedef.getReference()); unionGenTOBuilder.setSchemaPath(typedef.getPath().getPathFromRoot()); unionGenTOBuilder.setModuleName(module.getName()); } else {
unionGenTOBuilder.setSchemaPath(typedef.getPath()); unionGenTOBuilder.setModuleName(module.getName()); addCodegenInformation(unionGenTOBuilder, typedef);