Class ImmutableComposerState

java.lang.Object
io.resys.hdes.client.api.ImmutableComposerState
All Implemented Interfaces:
HdesComposer.ComposerState

@ParametersAreNonnullByDefault @Generated("org.immutables.processor.ProxyProcessor") @Immutable @CheckReturnValue public final class ImmutableComposerState extends Object implements HdesComposer.ComposerState
Immutable implementation of HdesComposer.ComposerState.

Use the builder to create immutable instances: ImmutableComposerState.builder().

  • Method Details

    • getTags

      public com.google.common.collect.ImmutableMap<String,HdesComposer.ComposerEntity<AstTag>> getTags()
      Specified by:
      getTags in interface HdesComposer.ComposerState
      Returns:
      The value of the tags attribute
    • getFlows

      public com.google.common.collect.ImmutableMap<String,HdesComposer.ComposerEntity<AstFlow>> getFlows()
      Specified by:
      getFlows in interface HdesComposer.ComposerState
      Returns:
      The value of the flows attribute
    • getServices

      public com.google.common.collect.ImmutableMap<String,HdesComposer.ComposerEntity<AstService>> getServices()
      Specified by:
      getServices in interface HdesComposer.ComposerState
      Returns:
      The value of the services attribute
    • getDecisions

      public com.google.common.collect.ImmutableMap<String,HdesComposer.ComposerEntity<AstDecision>> getDecisions()
      Specified by:
      getDecisions in interface HdesComposer.ComposerState
      Returns:
      The value of the decisions attribute
    • getBranches

      public com.google.common.collect.ImmutableMap<String,HdesComposer.ComposerEntity<AstBranch>> getBranches()
      Specified by:
      getBranches in interface HdesComposer.ComposerState
      Returns:
      The value of the branches attribute
    • withTags

      public final ImmutableComposerState withTags(Map<String,? extends HdesComposer.ComposerEntity<AstTag>> entries)
      Copy the current immutable object by replacing the tags map with the specified map. Nulls are not permitted as keys or values. A shallow reference equality check is used to prevent copying of the same value by returning this.
      Parameters:
      entries - The entries to be added to the tags map
      Returns:
      A modified copy of this object
    • withFlows

      public final ImmutableComposerState withFlows(Map<String,? extends HdesComposer.ComposerEntity<AstFlow>> entries)
      Copy the current immutable object by replacing the flows map with the specified map. Nulls are not permitted as keys or values. A shallow reference equality check is used to prevent copying of the same value by returning this.
      Parameters:
      entries - The entries to be added to the flows map
      Returns:
      A modified copy of this object
    • withServices

      public final ImmutableComposerState withServices(Map<String,? extends HdesComposer.ComposerEntity<AstService>> entries)
      Copy the current immutable object by replacing the services map with the specified map. Nulls are not permitted as keys or values. A shallow reference equality check is used to prevent copying of the same value by returning this.
      Parameters:
      entries - The entries to be added to the services map
      Returns:
      A modified copy of this object
    • withDecisions

      public final ImmutableComposerState withDecisions(Map<String,? extends HdesComposer.ComposerEntity<AstDecision>> entries)
      Copy the current immutable object by replacing the decisions map with the specified map. Nulls are not permitted as keys or values. A shallow reference equality check is used to prevent copying of the same value by returning this.
      Parameters:
      entries - The entries to be added to the decisions map
      Returns:
      A modified copy of this object
    • withBranches

      public final ImmutableComposerState withBranches(Map<String,? extends HdesComposer.ComposerEntity<AstBranch>> entries)
      Copy the current immutable object by replacing the branches map with the specified map. Nulls are not permitted as keys or values. A shallow reference equality check is used to prevent copying of the same value by returning this.
      Parameters:
      entries - The entries to be added to the branches map
      Returns:
      A modified copy of this object
    • equals

      public boolean equals(@Nullable Object another)
      This instance is equal to all instances of ImmutableComposerState that have equal attribute values.
      Overrides:
      equals in class Object
      Returns:
      true if this is equal to another instance
    • hashCode

      public int hashCode()
      Computes a hash code from attributes: tags, flows, services, decisions, branches.
      Overrides:
      hashCode in class Object
      Returns:
      hashCode value
    • toString

      public String toString()
      Prints the immutable value ComposerState with attribute values.
      Overrides:
      toString in class Object
      Returns:
      A string representation of the value
    • copyOf

      public static ImmutableComposerState copyOf(HdesComposer.ComposerState instance)
      Creates an immutable copy of a HdesComposer.ComposerState value. Uses accessors to get values to initialize the new immutable instance. If an instance is already immutable, it is returned as is.
      Parameters:
      instance - The instance to copy
      Returns:
      A copied immutable ComposerState instance
    • builder

      public static ImmutableComposerState.Builder builder()
      Creates a builder for ImmutableComposerState.
       ImmutableComposerState.builder()
          .putTags|putAllTags(String => io.resys.hdes.client.api.HdesComposer.ComposerEntity&lt;io.resys.hdes.client.api.ast.AstTag&gt;) // tags mappings
          .putFlows|putAllFlows(String => io.resys.hdes.client.api.HdesComposer.ComposerEntity&lt;io.resys.hdes.client.api.ast.AstFlow&gt;) // flows mappings
          .putServices|putAllServices(String => io.resys.hdes.client.api.HdesComposer.ComposerEntity&lt;io.resys.hdes.client.api.ast.AstService&gt;) // services mappings
          .putDecisions|putAllDecisions(String => io.resys.hdes.client.api.HdesComposer.ComposerEntity&lt;io.resys.hdes.client.api.ast.AstDecision&gt;) // decisions mappings
          .putBranches|putAllBranches(String => io.resys.hdes.client.api.HdesComposer.ComposerEntity&lt;io.resys.hdes.client.api.ast.AstBranch&gt;) // branches mappings
          .build();
       
      Returns:
      A new ImmutableComposerState builder