public abstract class ExtensionDefinitionParser extends Object
ComponentBuildingDefinition instances for the specific components types
(configs, operations, providers, etc) which constitute an extension.
It works under the premise that this parser will be used to generate an instance of AbstractExtensionObjectFactory,
using the AbstractExtensionObjectFactory.setParameters(Map) to provide a map of values containing the parsed
attributes.
It also gives the opportunity to generate extra ComponentBuildingDefinition which can also be registered by invoking
addDefinition(ComponentBuildingDefinition)
| Modifier and Type | Field and Description |
|---|---|
protected static String |
CURSOR_PROVIDER_FACTORY_FIELD_NAME |
protected org.mule.runtime.dsl.api.component.ComponentBuildingDefinition.Builder |
definitionBuilder |
protected org.mule.runtime.extension.api.dsl.syntax.resolver.DslSyntaxResolver |
dslResolver |
protected Map<String,String> |
infrastructureParameterMap |
protected List<ObjectParsingDelegate> |
objectParsingDelegates |
protected static String |
PARAMETERS_FIELD_NAME |
protected ExtensionParsingContext |
parsingContext |
protected ValueResolverFactory |
valueResolverFactory |
| Modifier | Constructor and Description |
|---|---|
protected |
ExtensionDefinitionParser(org.mule.runtime.dsl.api.component.ComponentBuildingDefinition.Builder definitionBuilder,
org.mule.runtime.extension.api.dsl.syntax.resolver.DslSyntaxResolver dslResolver,
ExtensionParsingContext ctx)
Creates a new instance
|
| Modifier and Type | Method and Description |
|---|---|
protected void |
addDefinition(org.mule.runtime.dsl.api.component.ComponentBuildingDefinition definition)
Adds the given
definition to the list of definitions that the parse() method generates by default |
protected void |
addParameter(String key,
org.mule.runtime.dsl.api.component.AttributeDefinition.Builder definitionBuilder) |
protected abstract org.mule.runtime.dsl.api.component.ComponentBuildingDefinition.Builder |
doParse(org.mule.runtime.dsl.api.component.ComponentBuildingDefinition.Builder definitionBuilder)
Implementations place their custom parsing logic here.
|
protected ClassLoader |
getContextClassLoader() |
protected List<org.mule.runtime.api.meta.model.parameter.ParameterModel> |
getFlatParameters(List<org.mule.runtime.api.meta.model.parameter.ParameterGroupModel> inlineGroups,
List<org.mule.runtime.api.meta.model.parameter.ParameterModel> parameters) |
protected Optional<String> |
getInfrastructureParameterName(org.mule.metadata.api.model.MetadataType fieldType) |
protected List<org.mule.runtime.api.meta.model.parameter.ParameterGroupModel> |
getInlineGroups(org.mule.runtime.api.meta.model.parameter.ParameterizedModel model) |
List<org.mule.runtime.dsl.api.component.ComponentBuildingDefinition> |
parse()
Creates a list of
ComponentBuildingDefinition built on copies of definitionBuilder. |
protected void |
parseAstParameter(org.mule.runtime.api.meta.model.parameter.ParameterModel parameterModel,
org.mule.runtime.extension.api.dsl.syntax.DslElementSyntax paramDsl)
Registers a definition for a
ParameterModel which represents an ObjectType |
protected void |
parseAstParameter(String key,
String name,
org.mule.metadata.api.model.MetadataType type,
org.mule.runtime.extension.api.dsl.syntax.DslElementSyntax dsl,
Object defaultValue,
org.mule.runtime.api.meta.ExpressionSupport expressionSupport,
boolean required,
Set<org.mule.runtime.api.meta.model.ModelProperty> modelProperties,
List<org.mule.runtime.api.meta.model.stereotype.StereotypeModel> allowedStereotypes,
boolean content) |
protected org.mule.runtime.dsl.api.component.AttributeDefinition.Builder |
parseAttributeParameter(org.mule.runtime.api.meta.model.parameter.ParameterModel parameterModel)
Registers a definition for parsing the given
parameterModel as an element attribute |
protected org.mule.runtime.dsl.api.component.AttributeDefinition.Builder |
parseAttributeParameter(String key,
String name,
org.mule.metadata.api.model.MetadataType type,
Object defaultValue,
org.mule.runtime.api.meta.ExpressionSupport expressionSupport,
boolean required,
Set<org.mule.runtime.api.meta.model.ModelProperty> modelProperties,
List<org.mule.runtime.api.meta.model.stereotype.StereotypeModel> allowedStereotypes)
Registers a definition for parsing the given
parameterModel as an element attribute |
protected void |
parseCollectionParameter(org.mule.runtime.api.meta.model.parameter.ParameterModel parameter,
org.mule.metadata.api.model.ArrayType arrayType,
org.mule.runtime.extension.api.dsl.syntax.DslElementSyntax parameterDsl)
Registers a definition for a
ParameterModel which represents an ArrayType |
protected void |
parseCollectionParameter(String key,
String name,
org.mule.metadata.api.model.ArrayType arrayType,
Object defaultValue,
org.mule.runtime.api.meta.ExpressionSupport expressionSupport,
boolean required,
boolean acceptsReferences,
org.mule.runtime.extension.api.dsl.syntax.DslElementSyntax parameterDsl,
Set<org.mule.runtime.api.meta.model.ModelProperty> modelProperties)
Registers a definition for a
ParameterModel which represents an ArrayType |
protected void |
parseFields(org.mule.metadata.api.model.ObjectType type,
org.mule.runtime.extension.api.dsl.syntax.DslElementSyntax typeDsl) |
protected void |
parseFields(org.mule.metadata.api.model.ObjectType type,
org.mule.runtime.extension.api.dsl.syntax.DslElementSyntax typeDsl,
Map<String,org.mule.runtime.api.meta.model.parameter.ParameterRole> parametersRole) |
protected void |
parseFromTextExpression(org.mule.runtime.api.meta.model.parameter.ParameterModel parameter,
org.mule.runtime.extension.api.dsl.syntax.DslElementSyntax dsl,
Supplier<org.mule.runtime.dsl.api.component.TypeConverter> typeConverter) |
protected void |
parseFromTextExpression(String key,
org.mule.runtime.extension.api.dsl.syntax.DslElementSyntax paramDsl,
Supplier<org.mule.runtime.dsl.api.component.TypeConverter> typeConverter) |
protected void |
parseInlineParameterGroup(org.mule.runtime.api.meta.model.parameter.ParameterGroupModel group) |
protected void |
parseMapParameters(org.mule.runtime.api.meta.model.parameter.ParameterModel parameter,
org.mule.metadata.api.model.ObjectType objectType,
org.mule.runtime.extension.api.dsl.syntax.DslElementSyntax paramDsl)
Registers a definition for a
ParameterModel which represents an open ObjectType |
protected void |
parseMapParameters(String key,
String name,
org.mule.metadata.api.model.ObjectType dictionaryType,
Object defaultValue,
org.mule.runtime.api.meta.ExpressionSupport expressionSupport,
boolean required,
org.mule.runtime.extension.api.dsl.syntax.DslElementSyntax paramDsl,
Set<org.mule.runtime.api.meta.model.ModelProperty> modelProperties,
List<org.mule.runtime.api.meta.model.stereotype.StereotypeModel> allowedStereotypes)
Registers a definition for a
ParameterModel which represents an open ObjectType |
protected void |
parseNestedComponents(List<? extends org.mule.runtime.api.meta.model.nested.NestableElementModel> nestedComponents)
Parses the given
nestedComponents and generates matching definitions |
protected void |
parseObject(String key,
String name,
org.mule.metadata.api.model.ObjectType type,
Object defaultValue,
org.mule.runtime.api.meta.ExpressionSupport expressionSupport,
boolean required,
boolean acceptsReferences,
org.mule.runtime.extension.api.dsl.syntax.DslElementSyntax elementDsl,
Set<org.mule.runtime.api.meta.model.ModelProperty> modelProperties,
List<org.mule.runtime.api.meta.model.stereotype.StereotypeModel> allowedStereotypes) |
protected void |
parseObjectParameter(String key,
String name,
org.mule.metadata.api.model.ObjectType type,
Object defaultValue,
org.mule.runtime.api.meta.ExpressionSupport expressionSupport,
boolean required,
boolean acceptsReferences,
org.mule.runtime.extension.api.dsl.syntax.DslElementSyntax elementDsl,
Set<org.mule.runtime.api.meta.model.ModelProperty> modelProperties,
List<org.mule.runtime.api.meta.model.stereotype.StereotypeModel> allowedStereotypes)
Registers a definition for a
ParameterModel which represents an ObjectType |
protected void |
parseParameters(List<org.mule.runtime.api.meta.model.parameter.ParameterModel> parameters)
Parsers the given
parameters and generates matching definitions |
protected void |
parseParameters(org.mule.runtime.api.meta.model.parameter.ParameterizedModel parameterizedModel) |
protected static final String CURSOR_PROVIDER_FACTORY_FIELD_NAME
protected static final String PARAMETERS_FIELD_NAME
protected final List<ObjectParsingDelegate> objectParsingDelegates
protected final org.mule.runtime.extension.api.dsl.syntax.resolver.DslSyntaxResolver dslResolver
protected final org.mule.runtime.dsl.api.component.ComponentBuildingDefinition.Builder definitionBuilder
protected final ExtensionParsingContext parsingContext
protected final ValueResolverFactory valueResolverFactory
protected ExtensionDefinitionParser(org.mule.runtime.dsl.api.component.ComponentBuildingDefinition.Builder definitionBuilder,
org.mule.runtime.extension.api.dsl.syntax.resolver.DslSyntaxResolver dslResolver,
ExtensionParsingContext ctx)
definitionBuilder - a ComponentBuildingDefinition.Builder used as a prototype to generate new definitionsdslResolver - a DslSyntaxResolver instance associated with the ExtensionModel being parsedctx - the ExtensionParsingContext in which this parser operatespublic final List<org.mule.runtime.dsl.api.component.ComponentBuildingDefinition> parse() throws ConfigurationException
ComponentBuildingDefinition built on copies of definitionBuilder. It also sets the parsed
parameters on the backing AbstractExtensionObjectFactoryComponentBuildingDefinitionConfigurationException - if a parsing error occursprotected abstract org.mule.runtime.dsl.api.component.ComponentBuildingDefinition.Builder doParse(org.mule.runtime.dsl.api.component.ComponentBuildingDefinition.Builder definitionBuilder)
throws ConfigurationException
definitionBuilder - the ComponentBuildingDefinition.Builder on which implementation are to define their stuffConfigurationException - if a parsing error occursprotected void parseNestedComponents(List<? extends org.mule.runtime.api.meta.model.nested.NestableElementModel> nestedComponents)
nestedComponents and generates matching definitionsnestedComponents - a list of NestableElementModelprotected void parseParameters(List<org.mule.runtime.api.meta.model.parameter.ParameterModel> parameters)
parameters and generates matching definitionsparameters - a list of ParameterModelprotected void parseMapParameters(org.mule.runtime.api.meta.model.parameter.ParameterModel parameter,
org.mule.metadata.api.model.ObjectType objectType,
org.mule.runtime.extension.api.dsl.syntax.DslElementSyntax paramDsl)
ParameterModel which represents an open ObjectTypeparameter - a ParameterModelobjectType - a ObjectTypeprotected void parseMapParameters(String key, String name, org.mule.metadata.api.model.ObjectType dictionaryType, Object defaultValue, org.mule.runtime.api.meta.ExpressionSupport expressionSupport, boolean required, org.mule.runtime.extension.api.dsl.syntax.DslElementSyntax paramDsl, Set<org.mule.runtime.api.meta.model.ModelProperty> modelProperties, List<org.mule.runtime.api.meta.model.stereotype.StereotypeModel> allowedStereotypes)
ParameterModel which represents an open ObjectTypekey - the key that the parsed value should have on the parsed parameter's mapname - the parameter's namedictionaryType - the parameter's open ObjectTypedefaultValue - the parameter's default valueexpressionSupport - the parameter's ExpressionSupportrequired - whether the parameter is requiredprotected void parseFields(org.mule.metadata.api.model.ObjectType type,
org.mule.runtime.extension.api.dsl.syntax.DslElementSyntax typeDsl,
Map<String,org.mule.runtime.api.meta.model.parameter.ParameterRole> parametersRole)
protected void parseFields(org.mule.metadata.api.model.ObjectType type,
org.mule.runtime.extension.api.dsl.syntax.DslElementSyntax typeDsl)
protected void parseCollectionParameter(org.mule.runtime.api.meta.model.parameter.ParameterModel parameter,
org.mule.metadata.api.model.ArrayType arrayType,
org.mule.runtime.extension.api.dsl.syntax.DslElementSyntax parameterDsl)
ParameterModel which represents an ArrayTypeparameter - a ParameterModelarrayType - an ArrayTypeprotected void parseCollectionParameter(String key, String name, org.mule.metadata.api.model.ArrayType arrayType, Object defaultValue, org.mule.runtime.api.meta.ExpressionSupport expressionSupport, boolean required, boolean acceptsReferences, org.mule.runtime.extension.api.dsl.syntax.DslElementSyntax parameterDsl, Set<org.mule.runtime.api.meta.model.ModelProperty> modelProperties)
ParameterModel which represents an ArrayTypekey - the key that the parsed value should have on the parsed parameter's mapname - the parameter's namearrayType - the parameter's ArrayTypedefaultValue - the parameter's default valueexpressionSupport - the parameter's ExpressionSupportrequired - whether the parameter is requiredprotected ClassLoader getContextClassLoader()
protected void parseFromTextExpression(org.mule.runtime.api.meta.model.parameter.ParameterModel parameter,
org.mule.runtime.extension.api.dsl.syntax.DslElementSyntax dsl,
Supplier<org.mule.runtime.dsl.api.component.TypeConverter> typeConverter)
protected void parseFromTextExpression(String key, org.mule.runtime.extension.api.dsl.syntax.DslElementSyntax paramDsl, Supplier<org.mule.runtime.dsl.api.component.TypeConverter> typeConverter)
protected org.mule.runtime.dsl.api.component.AttributeDefinition.Builder parseAttributeParameter(org.mule.runtime.api.meta.model.parameter.ParameterModel parameterModel)
parameterModel as an element attributeparameterModel - a ParameterModelAttributeDefinition.Builderprotected org.mule.runtime.dsl.api.component.AttributeDefinition.Builder parseAttributeParameter(String key, String name, org.mule.metadata.api.model.MetadataType type, Object defaultValue, org.mule.runtime.api.meta.ExpressionSupport expressionSupport, boolean required, Set<org.mule.runtime.api.meta.model.ModelProperty> modelProperties, List<org.mule.runtime.api.meta.model.stereotype.StereotypeModel> allowedStereotypes)
parameterModel as an element attributekey - the key that the parsed value should have on the parsed parameter's mapname - the parameter's nametype - the parameter's typedefaultValue - the parameter's default valueexpressionSupport - the parameter's ExpressionSupportrequired - whether the parameter is required or notAttributeDefinition.Builderprotected void parseAstParameter(String key, String name, org.mule.metadata.api.model.MetadataType type, org.mule.runtime.extension.api.dsl.syntax.DslElementSyntax dsl, Object defaultValue, org.mule.runtime.api.meta.ExpressionSupport expressionSupport, boolean required, Set<org.mule.runtime.api.meta.model.ModelProperty> modelProperties, List<org.mule.runtime.api.meta.model.stereotype.StereotypeModel> allowedStereotypes, boolean content)
protected void parseAstParameter(org.mule.runtime.api.meta.model.parameter.ParameterModel parameterModel,
org.mule.runtime.extension.api.dsl.syntax.DslElementSyntax paramDsl)
ParameterModel which represents an ObjectTypeparameterModel - a ParameterModelprotected void parseObjectParameter(String key, String name, org.mule.metadata.api.model.ObjectType type, Object defaultValue, org.mule.runtime.api.meta.ExpressionSupport expressionSupport, boolean required, boolean acceptsReferences, org.mule.runtime.extension.api.dsl.syntax.DslElementSyntax elementDsl, Set<org.mule.runtime.api.meta.model.ModelProperty> modelProperties, List<org.mule.runtime.api.meta.model.stereotype.StereotypeModel> allowedStereotypes)
ParameterModel which represents an ObjectTypekey - the key that the parsed value should have on the parsed parameter's mapname - the parameter's nametype - an ObjectTypedefaultValue - the parameter's default valueexpressionSupport - the parameter's ExpressionSupportrequired - whether the parameter is required or notmodelProperties - parameter's ModelPropertysprotected void parseObject(String key, String name, org.mule.metadata.api.model.ObjectType type, Object defaultValue, org.mule.runtime.api.meta.ExpressionSupport expressionSupport, boolean required, boolean acceptsReferences, org.mule.runtime.extension.api.dsl.syntax.DslElementSyntax elementDsl, Set<org.mule.runtime.api.meta.model.ModelProperty> modelProperties, List<org.mule.runtime.api.meta.model.stereotype.StereotypeModel> allowedStereotypes)
protected void addDefinition(org.mule.runtime.dsl.api.component.ComponentBuildingDefinition definition)
definition to the list of definitions that the parse() method generates by defaultdefinition - a ComponentBuildingDefinitionprotected void addParameter(String key, org.mule.runtime.dsl.api.component.AttributeDefinition.Builder definitionBuilder)
protected List<org.mule.runtime.api.meta.model.parameter.ParameterGroupModel> getInlineGroups(org.mule.runtime.api.meta.model.parameter.ParameterizedModel model)
protected void parseParameters(org.mule.runtime.api.meta.model.parameter.ParameterizedModel parameterizedModel)
throws ConfigurationException
ConfigurationExceptionprotected void parseInlineParameterGroup(org.mule.runtime.api.meta.model.parameter.ParameterGroupModel group)
throws ConfigurationException
ConfigurationExceptionprotected List<org.mule.runtime.api.meta.model.parameter.ParameterModel> getFlatParameters(List<org.mule.runtime.api.meta.model.parameter.ParameterGroupModel> inlineGroups, List<org.mule.runtime.api.meta.model.parameter.ParameterModel> parameters)
Copyright © 2003–2023 MuleSoft, Inc.. All rights reserved.