Class AbstractImmutableModel

java.lang.Object
org.mule.runtime.extension.api.model.AbstractImmutableModel
All Implemented Interfaces:
org.mule.runtime.api.meta.DescribedObject, org.mule.runtime.api.meta.model.EnrichableModel
Direct Known Subclasses:
AbstractNamedImmutableModel, ImmutableOutputModel

public abstract class AbstractImmutableModel extends Object implements org.mule.runtime.api.meta.DescribedObject, org.mule.runtime.api.meta.model.EnrichableModel
Base class for immutable implementations of a DescribedObject EnrichableModel model
Since:
1.0
  • Field Details

    • description

      protected String description
    • modelProperties

      protected final Map<Class<? extends org.mule.runtime.api.meta.model.ModelProperty>,org.mule.runtime.api.meta.model.ModelProperty> modelProperties
  • Constructor Details

    • AbstractImmutableModel

      protected AbstractImmutableModel(String description, Set<org.mule.runtime.api.meta.model.ModelProperty> modelProperties)
      Creates a new instance
      Parameters:
      description - the model's description
      modelProperties - A Set of custom properties which extend this model
  • Method Details

    • checkArgument

      protected static void checkArgument(boolean condition, String message)
    • getDescription

      public final String getDescription()
      Specified by:
      getDescription in interface org.mule.runtime.api.meta.DescribedObject
    • getModelProperty

      public <T extends org.mule.runtime.api.meta.model.ModelProperty> Optional<T> getModelProperty(Class<T> propertyType)
      Specified by:
      getModelProperty in interface org.mule.runtime.api.meta.model.EnrichableModel
    • getModelProperties

      public Set<org.mule.runtime.api.meta.model.ModelProperty> getModelProperties()
      Specified by:
      getModelProperties in interface org.mule.runtime.api.meta.model.EnrichableModel
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • copy

      protected <T> Set<T> copy(Set<T> values)
    • copy

      protected <T> List<T> copy(List<T> values)