Class ImmutableTenant

  • All Implemented Interfaces:
    Tenant, Serializable

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

    Use the builder to create immutable instances: ImmutableTenant.builder(). Use the static factory method to create immutable instances: ImmutableTenant.of().

    See Also:
    Serialized Form
    • Method Detail

      • getId

        public String getId()
        Specified by:
        getId in interface Tenant
        Returns:
        The value of the id attribute
      • withId

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

        public final ImmutableTenant withName​(String value)
        Copy the current immutable object by setting a present value for the optional name attribute.
        Parameters:
        value - The value for name
        Returns:
        A modified copy of this object
      • withName

        public final ImmutableTenant withName​(Optional<String> optional)
        Copy the current immutable object by setting an optional value for the name attribute. An equality check is used on inner nullable value to prevent copying of the same value by returning this.
        Parameters:
        optional - A value for name
        Returns:
        A modified copy of this object
      • equals

        public boolean equals​(@Nullable
                              Object another)
        This instance is equal to all instances of ImmutableTenant 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: id, name.
        Overrides:
        hashCode in class Object
        Returns:
        hashCode value
      • toString

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

        public static ImmutableTenant of​(String id,
                                         Optional<String> name)
        Construct a new immutable Tenant instance.
        Parameters:
        id - The value for the id attribute
        name - The value for the name attribute
        Returns:
        An immutable Tenant instance
      • copyOf

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

        public static ImmutableTenant.Builder builder()
        Creates a builder for ImmutableTenant.
         ImmutableTenant.builder()
            .id(String) // required id
            .name(String) // optional name
            .build();
         
        Returns:
        A new ImmutableTenant builder