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 org.mule.runtime.dsl.api.component.ComponentBuildingDefinition.Builder |
baseDefinitionBuilder |
protected static String |
CONFIG_PROVIDER_ATTRIBUTE_NAME |
protected static String |
CURSOR_PROVIDER_FACTORY_FIELD_NAME |
protected org.mule.runtime.extension.api.dsl.syntax.resolver.DslSyntaxResolver |
dslResolver |
protected Map<String,String> |
infrastructureParameterMap |
protected List<ObjectParsingDelegate> |
objectParsingDelegates |
protected ExtensionParsingContext |
parsingContext |
| Modifier | Constructor and Description |
|---|---|
protected |
ExtensionDefinitionParser(org.mule.runtime.dsl.api.component.ComponentBuildingDefinition.Builder baseDefinitionBuilder,
org.mule.runtime.extension.api.dsl.syntax.resolver.DslSyntaxResolver dslSyntaxResolver,
ExtensionParsingContext parsingContext)
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 String |
getChildKey(String key) |
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 baseDefinitionBuilder. |
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)
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,
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 paramDsl,
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)
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) |
protected void |
parseObjectParameter(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 |
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)
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 <T> ValueResolver<T> |
resolverOf(String parameterName,
org.mule.metadata.api.model.MetadataType expectedType,
Object value,
Object defaultValue,
org.mule.runtime.api.meta.ExpressionSupport expressionSupport,
boolean required,
Set<org.mule.runtime.api.meta.model.ModelProperty> modelProperties,
boolean acceptsReferences) |
protected static final String CONFIG_PROVIDER_ATTRIBUTE_NAME
protected static final String CURSOR_PROVIDER_FACTORY_FIELD_NAME
protected final ExtensionParsingContext parsingContext
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 baseDefinitionBuilder
protected ExtensionDefinitionParser(org.mule.runtime.dsl.api.component.ComponentBuildingDefinition.Builder baseDefinitionBuilder,
org.mule.runtime.extension.api.dsl.syntax.resolver.DslSyntaxResolver dslSyntaxResolver,
ExtensionParsingContext parsingContext)
baseDefinitionBuilder - a ComponentBuildingDefinition.Builder used as a prototype to generate new definitionsdslSyntaxResolver - a DslSyntaxResolver instance associated with the ExtensionModel being parsedparsingContext - the ExtensionParsingContext in which this parser operatespublic final List<org.mule.runtime.dsl.api.component.ComponentBuildingDefinition> parse() throws ConfigurationException
ComponentBuildingDefinition built on copies of baseDefinitionBuilder. It also sets the
parsed 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)
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, 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 <T> ValueResolver<T> resolverOf(String parameterName, org.mule.metadata.api.model.MetadataType expectedType, Object value, Object defaultValue, org.mule.runtime.api.meta.ExpressionSupport expressionSupport, boolean required, Set<org.mule.runtime.api.meta.model.ModelProperty> modelProperties, boolean acceptsReferences)
protected void parseFromTextExpression(org.mule.runtime.api.meta.model.parameter.ParameterModel parameter,
org.mule.runtime.extension.api.dsl.syntax.DslElementSyntax paramDsl,
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)
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 parseObjectParameter(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)
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)
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–2018 MuleSoft, Inc.. All rights reserved.