@Override public MetadataType getOutputType(MetadataContext context, String key) throws MetadataResolvingException, ConnectionException { if (!key.equals(NATIVE_QUERY)) { throw new IllegalArgumentException("Native Query Key was not the expected one"); } final ObjectTypeBuilder objectType = context.getTypeBuilder().objectType(); objectType.addField().key("id").value().numberType(); return objectType.build(); } }
public ObjectFieldTypeBuilder required() { return required(true); }
DefaultMuleEventMetadataType(MessageMetadataType messageMetadataType, MetadataType errorType, ObjectType variables, Map<Class<? extends TypeAnnotation>, TypeAnnotation> annotations) { super(MetadataFormat.JAVA, annotations); final ObjectFieldTypeBuilder messageTypeBuilder = new ObjectFieldTypeBuilder(MetadataFormat.JAVA); messageTypeBuilder.key(MESSAGE_FIELD_NAME).value(messageMetadataType); messageTypeBuilder.required(true); this.messageMetadataType = messageTypeBuilder.build(); if (errorType != null) { final ObjectFieldTypeBuilder errorTypeBuilder = new ObjectFieldTypeBuilder(MetadataFormat.JAVA); errorTypeBuilder.key(ERROR_FIELD_NAME).value(errorType); errorTypeBuilder.required(true); errorFieldType = errorTypeBuilder.build(); } else { errorFieldType = null; } final ObjectFieldTypeBuilder variablesTypeBuilder = new ObjectFieldTypeBuilder(MetadataFormat.JAVA); variablesTypeBuilder.required(true); variablesTypeBuilder.key(VARIABLES_FIELD_NAME).value(variables); this.variables = variablesTypeBuilder.build(); }
fieldBuilder.key(name); final Optional<Accessibility> visibility = getVisibility(pd); if (visibility.isPresent()) { fieldBuilder.accessibility(visibility.get()); fieldBuilder.value(typeBuilder.get()); } else { typeHandlerManager.handle(propertyType, context, fieldBuilder.value());
final ObjectFieldTypeBuilder field = objectMetadataBuilder.addField().key(property.getKey()); field.required(requiredProperties.contains(property.getKey())); final Schema value = property.getValue(); field.value(handlerManager.handle(value, parsingContext)); for (Map.Entry<Pattern, Schema> patternSchemaEntry : entries) { final ObjectFieldTypeBuilder field = objectMetadataBuilder.addField(); field.key(patternSchemaEntry.getKey()); final Schema value = patternSchemaEntry.getValue(); field.value(handlerManager.handle(value, parsingContext));
public MuleEventMetadataTypeBuilder addVariable(String name, MetadataType metadataType) { addVariableField(name).value(metadataType); return this; }
public ObjectFieldTypeBuilder description(String lang, String content) { return with(new DescriptionAnnotation(content, lang)); }
public ObjectFieldTypeBuilder addField() { final ObjectFieldTypeBuilder fieldMetadataBuilder = new ObjectFieldTypeBuilder(format); this.fieldsBuilder.add(fieldMetadataBuilder); return fieldMetadataBuilder; }
@Override public ObjectType build() { final ArrayList<ObjectFieldType> fields = new ArrayList<>(); // This is to avoid stack overflow we create the object with no fields boolean needsInit = !result.isDefined(); final ObjectType objectType = result.get(() -> { MetadataType restrictionType = openRestriction.map(TypeBuilder::build).orElse(null); restrictionType = restrictionType == null ? openRestrictionType.orElse(null) : restrictionType; return new DefaultObjectType(fields, ordered, restrictionType, format, annotations); }); if (needsInit) { final List<ObjectFieldType> collect = fieldsBuilder.stream() .map((fieldBuilder) -> fieldBuilder.build()) .collect(toList()); fields.addAll(collect); } return objectType; }
DefaultMessageMetadataType(Optional<MetadataType> payloadMetadataType, Consumer<ObjectFieldTypeBuilder> payloadObjectFieldTypeBuilderConsumer, Optional<MetadataType> attributes, Consumer<ObjectFieldTypeBuilder> attributesObjectFieldTypeBuilderConsumer, Map<Class<? extends TypeAnnotation>, TypeAnnotation> annotations) { super(MetadataFormat.JAVA, annotations); this.payloadMetadataType = payloadMetadataType.map((type) -> { final ObjectFieldTypeBuilder objectFieldTypeBuilder = new ObjectFieldTypeBuilder(MetadataFormat.JAVA); objectFieldTypeBuilder.key(PAYLOAD_FIELD_NAME).required(true).value(type); Optional.ofNullable(payloadObjectFieldTypeBuilderConsumer) .ifPresent(objectFieldTypeBuilderConsumer -> payloadObjectFieldTypeBuilderConsumer.accept(objectFieldTypeBuilder)); return objectFieldTypeBuilder.build(); }); this.attributes = attributes.map((type) -> { final ObjectFieldTypeBuilder objectFieldTypeBuilder = new ObjectFieldTypeBuilder(MetadataFormat.JAVA); objectFieldTypeBuilder.key(ATTRIBUTES_FIELD_NAME).required(true).value(type); Optional.ofNullable(payloadObjectFieldTypeBuilderConsumer) .ifPresent(objectFieldTypeBuilderConsumer -> attributesObjectFieldTypeBuilderConsumer.accept(objectFieldTypeBuilder)); return objectFieldTypeBuilder.build(); }); }
fieldBuilder.key(name); final Optional<Accessibility> visibility = getVisibility(pd); if (visibility.isPresent()) { fieldBuilder.accessibility(visibility.get()); fieldBuilder.value(typeBuilder.get()); } else { typeHandlerManager.handle(propertyType, context, fieldBuilder.value());
public BaseTypeBuilder addVariable(String name) { return addVariableField(name).value(); }
public ObjectFieldTypeBuilder accessibility(Accessibility accessibility) { return with(new AccessibilityAnnotation(accessibility)); }
@Override public MetadataType getInputMetadata(MetadataContext context, LocationKey key) throws MetadataResolvingException, ConnectionException { checkLocationKey(key); final ObjectTypeBuilder objectBuilder = BaseTypeBuilder.create(new MetadataFormat(key.toString(), key.toString(), APPLICATION_JAVA_MIME_TYPE)).objectType(); objectBuilder.addField().key("CONTINENT").value().stringType(); objectBuilder.addField().key("COUNTRY").value().stringType(); objectBuilder.addField().key("CITY").value().stringType(); return objectBuilder.build(); }
public static MuleEventMetadataTypeBuilder fromObjectType(ObjectType eventDefinition) { MuleEventMetadataTypeBuilder builder = new MuleEventMetadataTypeBuilder(); Collection<ObjectFieldType> fields = eventDefinition.getFields(); for (ObjectFieldType field : fields) { if (field.getKey().isName()) { String fieldName = field.getKey().getName().getLocalPart(); if (fieldName.equals(DefaultMuleEventMetadataType.MESSAGE_FIELD_NAME)) { MetadataType messageType = field.getValue(); if (messageType instanceof ObjectType) { builder.message(MessageMetadataTypeBuilder.fromObjectType((ObjectType) messageType)); } } else if (fieldName.equals(DefaultMuleEventMetadataType.ERROR_FIELD_NAME)) { MetadataType errorType = field.getValue(); builder.error(errorType); } else if (fieldName.equals(DefaultMuleEventMetadataType.VARIABLES_FIELD_NAME)) { MetadataType variables = field.getValue(); if (variables instanceof ObjectType) { Collection<ObjectFieldType> allVariables = ((ObjectType) variables).getFields(); for (ObjectFieldType variable : allVariables) { final ObjectFieldTypeBuilder objectFieldTypeBuilder = builder.addVariableField(variable.getKey().getName().getLocalPart()); objectFieldTypeBuilder.value(variable.getValue()); variable.getAnnotations().forEach(objectFieldTypeBuilder::with); } } } } } return builder; }
public ObjectFieldTypeBuilder description(String content) { return with(new DescriptionAnnotation(content)); }
public ObjectFieldTypeBuilder occurrence(Number min, Number max) { return with(new FieldOccurrenceAnnotation(min, max)); }
@Override public void visitObject(ObjectType objectType) { ObjectTypeBuilder objectTypeBuilder = builder.objectType(); objectType.getFields() .stream() .filter(p -> fields.stream().anyMatch(f -> f.getName().equalsIgnoreCase(p.getKey().getName().getLocalPart()))) .forEach(p -> { ObjectFieldTypeBuilder field = objectTypeBuilder.addField(); field.key(p.getKey().getName()); field.value(p.getValue()); }); } });