Class ImmutableThenaConfig

java.lang.Object
io.resys.hdes.client.spi.store.ImmutableThenaConfig
All Implemented Interfaces:
ThenaConfig

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

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

  • Method Details

    • getClient

      public ThenaClient getClient()
      Specified by:
      getClient in interface ThenaConfig
      Returns:
      The value of the client attribute
    • getRepoName

      public String getRepoName()
      Specified by:
      getRepoName in interface ThenaConfig
      Returns:
      The value of the repoName attribute
    • getHeadName

      public String getHeadName()
      Specified by:
      getHeadName in interface ThenaConfig
      Returns:
      The value of the headName attribute
    • getAuthorProvider

      public ThenaConfig.AuthorProvider getAuthorProvider()
      Specified by:
      getAuthorProvider in interface ThenaConfig
      Returns:
      The value of the authorProvider attribute
    • getGidProvider

      public ThenaConfig.GidProvider getGidProvider()
      Specified by:
      getGidProvider in interface ThenaConfig
      Returns:
      The value of the gidProvider attribute
    • getSerializer

      public ThenaConfig.Serializer getSerializer()
      Specified by:
      getSerializer in interface ThenaConfig
      Returns:
      The value of the serializer attribute
    • getDeserializer

      public ThenaConfig.Deserializer getDeserializer()
      Specified by:
      getDeserializer in interface ThenaConfig
      Returns:
      The value of the deserializer attribute
    • withClient

      public final ImmutableThenaConfig withClient(ThenaClient value)
      Copy the current immutable object by setting a value for the client attribute. A shallow reference equality check is used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for client
      Returns:
      A modified copy of the this object
    • withRepoName

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

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

      public final ImmutableThenaConfig withAuthorProvider(ThenaConfig.AuthorProvider value)
      Copy the current immutable object by setting a value for the authorProvider attribute. A shallow reference equality check is used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for authorProvider
      Returns:
      A modified copy of the this object
    • withGidProvider

      public final ImmutableThenaConfig withGidProvider(ThenaConfig.GidProvider value)
      Copy the current immutable object by setting a value for the gidProvider attribute. A shallow reference equality check is used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for gidProvider
      Returns:
      A modified copy of the this object
    • withSerializer

      public final ImmutableThenaConfig withSerializer(ThenaConfig.Serializer value)
      Copy the current immutable object by setting a value for the serializer attribute. A shallow reference equality check is used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for serializer
      Returns:
      A modified copy of the this object
    • withDeserializer

      public final ImmutableThenaConfig withDeserializer(ThenaConfig.Deserializer value)
      Copy the current immutable object by setting a value for the deserializer attribute. A shallow reference equality check is used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for deserializer
      Returns:
      A modified copy of the this object
    • equals

      public boolean equals(@Nullable Object another)
      This instance is equal to all instances of ImmutableThenaConfig 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: client, repoName, headName, authorProvider, gidProvider, serializer, deserializer.
      Overrides:
      hashCode in class Object
      Returns:
      hashCode value
    • toString

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

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

      public static ImmutableThenaConfig.Builder builder()
      Creates a builder for ImmutableThenaConfig.
       ImmutableThenaConfig.builder()
          .client(io.resys.thena.api.ThenaClient) // required client
          .repoName(String) // required repoName
          .headName(String) // required headName
          .authorProvider(io.resys.hdes.client.spi.store.ThenaConfig.AuthorProvider) // required authorProvider
          .gidProvider(io.resys.hdes.client.spi.store.ThenaConfig.GidProvider) // required gidProvider
          .serializer(io.resys.hdes.client.spi.store.ThenaConfig.Serializer) // required serializer
          .deserializer(io.resys.hdes.client.spi.store.ThenaConfig.Deserializer) // required deserializer
          .build();
       
      Returns:
      A new ImmutableThenaConfig builder