Class ImmutableProgramEnvir

java.lang.Object
io.resys.hdes.client.api.programs.ImmutableProgramEnvir
All Implemented Interfaces:
ProgramEnvir

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

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

  • Method Details

    • getTagName

      public String getTagName()
      Specified by:
      getTagName in interface ProgramEnvir
      Returns:
      The value of the tagName attribute
    • getValues

      public com.google.common.collect.ImmutableMap<String,ProgramEnvir.ProgramWrapper<?,?>> getValues()
      Specified by:
      getValues in interface ProgramEnvir
      Returns:
      The value of the values attribute
    • getTagsByName

      public com.google.common.collect.ImmutableMap<String,ProgramEnvir.ProgramWrapper<AstTag,TagProgram>> getTagsByName()
      Specified by:
      getTagsByName in interface ProgramEnvir
      Returns:
      The value of the tagsByName attribute
    • getFlowsByName

      public com.google.common.collect.ImmutableMap<String,ProgramEnvir.ProgramWrapper<AstFlow,FlowProgram>> getFlowsByName()
      Specified by:
      getFlowsByName in interface ProgramEnvir
      Returns:
      The value of the flowsByName attribute
    • getDecisionsByName

      public com.google.common.collect.ImmutableMap<String,ProgramEnvir.ProgramWrapper<AstDecision,DecisionProgram>> getDecisionsByName()
      Specified by:
      getDecisionsByName in interface ProgramEnvir
      Returns:
      The value of the decisionsByName attribute
    • getServicesByName

      public com.google.common.collect.ImmutableMap<String,ProgramEnvir.ProgramWrapper<AstService,ServiceProgram>> getServicesByName()
      Specified by:
      getServicesByName in interface ProgramEnvir
      Returns:
      The value of the servicesByName attribute
    • getBranchesByName

      public com.google.common.collect.ImmutableMap<String,ProgramEnvir.ProgramWrapper<AstBranch,BranchProgram>> getBranchesByName()
      Specified by:
      getBranchesByName in interface ProgramEnvir
      Returns:
      The value of the branchesByName attribute
    • withTagName

      public final ImmutableProgramEnvir withTagName(String value)
      Copy the current immutable object by setting a value for the tagName attribute. An equals check used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for tagName
      Returns:
      A modified copy of the this object
    • withValues

      public final ImmutableProgramEnvir withValues(Map<String,? extends ProgramEnvir.ProgramWrapper<?,?>> entries)
      Copy the current immutable object by replacing the values 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 values map
      Returns:
      A modified copy of this object
    • withTagsByName

      public final ImmutableProgramEnvir withTagsByName(Map<String,? extends ProgramEnvir.ProgramWrapper<AstTag,TagProgram>> entries)
      Copy the current immutable object by replacing the tagsByName 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 tagsByName map
      Returns:
      A modified copy of this object
    • withFlowsByName

      public final ImmutableProgramEnvir withFlowsByName(Map<String,? extends ProgramEnvir.ProgramWrapper<AstFlow,FlowProgram>> entries)
      Copy the current immutable object by replacing the flowsByName 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 flowsByName map
      Returns:
      A modified copy of this object
    • withDecisionsByName

      public final ImmutableProgramEnvir withDecisionsByName(Map<String,? extends ProgramEnvir.ProgramWrapper<AstDecision,DecisionProgram>> entries)
      Copy the current immutable object by replacing the decisionsByName 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 decisionsByName map
      Returns:
      A modified copy of this object
    • withServicesByName

      public final ImmutableProgramEnvir withServicesByName(Map<String,? extends ProgramEnvir.ProgramWrapper<AstService,ServiceProgram>> entries)
      Copy the current immutable object by replacing the servicesByName 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 servicesByName map
      Returns:
      A modified copy of this object
    • withBranchesByName

      public final ImmutableProgramEnvir withBranchesByName(Map<String,? extends ProgramEnvir.ProgramWrapper<AstBranch,BranchProgram>> entries)
      Copy the current immutable object by replacing the branchesByName 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 branchesByName map
      Returns:
      A modified copy of this object
    • equals

      public boolean equals(@Nullable Object another)
      This instance is equal to all instances of ImmutableProgramEnvir 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: tagName, values, tagsByName, flowsByName, decisionsByName, servicesByName, branchesByName.
      Overrides:
      hashCode in class Object
      Returns:
      hashCode value
    • toString

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

      public static ImmutableProgramEnvir copyOf(ProgramEnvir instance)
      Creates an immutable copy of a ProgramEnvir 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 ProgramEnvir instance
    • builder

      public static ImmutableProgramEnvir.Builder builder()
      Creates a builder for ImmutableProgramEnvir.
       ImmutableProgramEnvir.builder()
          .tagName(String) // required tagName
          .putValues|putAllValues(String => io.resys.hdes.client.api.programs.ProgramEnvir.ProgramWrapper&lt;?, ?&gt;) // values mappings
          .putTagsByName|putAllTagsByName(String => io.resys.hdes.client.api.programs.ProgramEnvir.ProgramWrapper&lt;io.resys.hdes.client.api.ast.AstTag, io.resys.hdes.client.api.programs.TagProgram&gt;) // tagsByName mappings
          .putFlowsByName|putAllFlowsByName(String => io.resys.hdes.client.api.programs.ProgramEnvir.ProgramWrapper&lt;io.resys.hdes.client.api.ast.AstFlow, io.resys.hdes.client.api.programs.FlowProgram&gt;) // flowsByName mappings
          .putDecisionsByName|putAllDecisionsByName(String => io.resys.hdes.client.api.programs.ProgramEnvir.ProgramWrapper&lt;io.resys.hdes.client.api.ast.AstDecision, io.resys.hdes.client.api.programs.DecisionProgram&gt;) // decisionsByName mappings
          .putServicesByName|putAllServicesByName(String => io.resys.hdes.client.api.programs.ProgramEnvir.ProgramWrapper&lt;io.resys.hdes.client.api.ast.AstService, io.resys.hdes.client.api.programs.ServiceProgram&gt;) // servicesByName mappings
          .putBranchesByName|putAllBranchesByName(String => io.resys.hdes.client.api.programs.ProgramEnvir.ProgramWrapper&lt;io.resys.hdes.client.api.ast.AstBranch, io.resys.hdes.client.api.programs.BranchProgram&gt;) // branchesByName mappings
          .build();
       
      Returns:
      A new ImmutableProgramEnvir builder