java.lang.Object
org.mule.runtime.api.meta.model.declaration.fluent.util.DeclarationWalker
org.mule.runtime.extension.api.declaration.fluent.util.IdempotentDeclarationWalker

public class IdempotentDeclarationWalker extends org.mule.runtime.api.meta.model.declaration.fluent.util.DeclarationWalker
A DeclarationWalker which assures that each component is visited only once, making it easy to handle the fact that some components such as OperationDeclaration, SourceDeclaration, ConnectionProviderDeclaration, etc, implement the flyweight pattern, which means that the same instance might be present at different levels.

The use of this walker makes it unnecessary to manually control if a given component has already been seen.

Since:
1.0
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
    onConnectionProvider(org.mule.runtime.api.meta.model.declaration.fluent.ConnectedDeclaration owner, org.mule.runtime.api.meta.model.declaration.fluent.ConnectionProviderDeclaration declaration)
    protected void
    onConnectionProvider(org.mule.runtime.api.meta.model.declaration.fluent.ConnectionProviderDeclaration declaration)
    Invoked when an ConnectedDeclaration is found in the traversed extensionDeclaration.
    protected void
    onConstruct(org.mule.runtime.api.meta.model.declaration.fluent.ConstructDeclaration declaration)
    Invoked when a ConstructDeclaration is found in the traversed extensionDeclaration.
    protected void
    onConstruct(org.mule.runtime.api.meta.model.declaration.fluent.WithConstructsDeclaration owner, org.mule.runtime.api.meta.model.declaration.fluent.ConstructDeclaration declaration)
     
    protected void
    onFunction(org.mule.runtime.api.meta.model.declaration.fluent.FunctionDeclaration declaration)
    Invoked when an FunctionDeclaration is found in the traversed extensionModel.
    protected void
    onFunction(org.mule.runtime.api.meta.model.declaration.fluent.WithFunctionsDeclaration owner, org.mule.runtime.api.meta.model.declaration.fluent.FunctionDeclaration model)
     
    protected void
    onOperation(org.mule.runtime.api.meta.model.declaration.fluent.OperationDeclaration declaration)
    Invoked when an OperationDeclaration is found in the traversed extensionDeclaration.
    protected void
    onOperation(org.mule.runtime.api.meta.model.declaration.fluent.WithOperationsDeclaration owner, org.mule.runtime.api.meta.model.declaration.fluent.OperationDeclaration declaration)
    protected void
    onParameter(org.mule.runtime.api.meta.model.declaration.fluent.ParameterGroupDeclaration parameterGroup, org.mule.runtime.api.meta.model.declaration.fluent.ParameterDeclaration declaration)
    Invoked when an ParameterDeclaration is found in the traversed extensionDeclaration.
    protected void
    onParameter(org.mule.runtime.api.meta.model.declaration.fluent.ParameterizedDeclaration owner, org.mule.runtime.api.meta.model.declaration.fluent.ParameterGroupDeclaration parameterGroup, org.mule.runtime.api.meta.model.declaration.fluent.ParameterDeclaration declaration)
    protected void
    onParameterGroup(org.mule.runtime.api.meta.model.declaration.fluent.ParameterGroupDeclaration declaration)
    Invoked when an ParameterGroupDeclaration is found in the traversed extensionDeclaration
    protected void
    onParameterGroup(org.mule.runtime.api.meta.model.declaration.fluent.ParameterizedDeclaration owner, org.mule.runtime.api.meta.model.declaration.fluent.ParameterGroupDeclaration declaration)
    protected void
    onSource(org.mule.runtime.api.meta.model.declaration.fluent.SourceDeclaration declaration)
    Invoked when an SourceDeclaration is found in the traversed extensionDeclaration
    protected void
    onSource(org.mule.runtime.api.meta.model.declaration.fluent.WithSourcesDeclaration owner, org.mule.runtime.api.meta.model.declaration.fluent.SourceDeclaration declaration)

    Methods inherited from class org.mule.runtime.api.meta.model.declaration.fluent.util.DeclarationWalker

    onConfiguration, stop, walk

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • IdempotentDeclarationWalker

      public IdempotentDeclarationWalker()
  • Method Details

    • onSource

      protected void onSource(org.mule.runtime.api.meta.model.declaration.fluent.WithSourcesDeclaration owner, org.mule.runtime.api.meta.model.declaration.fluent.SourceDeclaration declaration)
      Overrides:
      onSource in class org.mule.runtime.api.meta.model.declaration.fluent.util.DeclarationWalker
    • onParameterGroup

      protected void onParameterGroup(org.mule.runtime.api.meta.model.declaration.fluent.ParameterizedDeclaration owner, org.mule.runtime.api.meta.model.declaration.fluent.ParameterGroupDeclaration declaration)
      Overrides:
      onParameterGroup in class org.mule.runtime.api.meta.model.declaration.fluent.util.DeclarationWalker
    • onParameter

      protected void onParameter(org.mule.runtime.api.meta.model.declaration.fluent.ParameterizedDeclaration owner, org.mule.runtime.api.meta.model.declaration.fluent.ParameterGroupDeclaration parameterGroup, org.mule.runtime.api.meta.model.declaration.fluent.ParameterDeclaration declaration)
      Overrides:
      onParameter in class org.mule.runtime.api.meta.model.declaration.fluent.util.DeclarationWalker
    • onOperation

      protected void onOperation(org.mule.runtime.api.meta.model.declaration.fluent.WithOperationsDeclaration owner, org.mule.runtime.api.meta.model.declaration.fluent.OperationDeclaration declaration)
      Overrides:
      onOperation in class org.mule.runtime.api.meta.model.declaration.fluent.util.DeclarationWalker
    • onFunction

      protected void onFunction(org.mule.runtime.api.meta.model.declaration.fluent.WithFunctionsDeclaration owner, org.mule.runtime.api.meta.model.declaration.fluent.FunctionDeclaration model)
      Overrides:
      onFunction in class org.mule.runtime.api.meta.model.declaration.fluent.util.DeclarationWalker
    • onConstruct

      protected void onConstruct(org.mule.runtime.api.meta.model.declaration.fluent.WithConstructsDeclaration owner, org.mule.runtime.api.meta.model.declaration.fluent.ConstructDeclaration declaration)
      Overrides:
      onConstruct in class org.mule.runtime.api.meta.model.declaration.fluent.util.DeclarationWalker
    • onConnectionProvider

      protected void onConnectionProvider(org.mule.runtime.api.meta.model.declaration.fluent.ConnectedDeclaration owner, org.mule.runtime.api.meta.model.declaration.fluent.ConnectionProviderDeclaration declaration)
      Overrides:
      onConnectionProvider in class org.mule.runtime.api.meta.model.declaration.fluent.util.DeclarationWalker
    • onConnectionProvider

      protected void onConnectionProvider(org.mule.runtime.api.meta.model.declaration.fluent.ConnectionProviderDeclaration declaration)
      Invoked when an ConnectedDeclaration is found in the traversed extensionDeclaration.

      This method will only be invoked once per each found instance

      Parameters:
      declaration - the ConnectionProviderDeclaration
    • onSource

      protected void onSource(org.mule.runtime.api.meta.model.declaration.fluent.SourceDeclaration declaration)
      Invoked when an SourceDeclaration is found in the traversed extensionDeclaration

      This method will only be invoked once per each found instance

      Parameters:
      declaration - the SourceDeclaration
    • onParameterGroup

      protected void onParameterGroup(org.mule.runtime.api.meta.model.declaration.fluent.ParameterGroupDeclaration declaration)
      Invoked when an ParameterGroupDeclaration is found in the traversed extensionDeclaration

      This method will only be invoked once per each found instance

      Parameters:
      declaration - the SourceDeclaration
    • onParameter

      protected void onParameter(org.mule.runtime.api.meta.model.declaration.fluent.ParameterGroupDeclaration parameterGroup, org.mule.runtime.api.meta.model.declaration.fluent.ParameterDeclaration declaration)
      Invoked when an ParameterDeclaration is found in the traversed extensionDeclaration.

      This method will only be invoked once per each found instance

      Parameters:
      parameterGroup - the ParameterGroupDeclaration in which the declaration is contained
      declaration - the ParameterDeclaration
    • onOperation

      protected void onOperation(org.mule.runtime.api.meta.model.declaration.fluent.OperationDeclaration declaration)
      Invoked when an OperationDeclaration is found in the traversed extensionDeclaration.

      This method will only be invoked once per each found instance.

      Parameters:
      declaration - the WithOperationsDeclaration
    • onConstruct

      protected void onConstruct(org.mule.runtime.api.meta.model.declaration.fluent.ConstructDeclaration declaration)
      Invoked when a ConstructDeclaration is found in the traversed extensionDeclaration.

      This method will only be invoked once per each found instance.

      Parameters:
      declaration - the WithOperationsDeclaration
    • onFunction

      protected void onFunction(org.mule.runtime.api.meta.model.declaration.fluent.FunctionDeclaration declaration)
      Invoked when an FunctionDeclaration is found in the traversed extensionModel.

      This method will only be invoked once per each found instance

      Parameters:
      declaration - the FunctionDeclaration