Class ImmutablePaginatedDto<PAGINATED_OBJECT>

java.lang.Object
fr.enedis.chutney.server.core.domain.tools.ImmutablePaginatedDto<PAGINATED_OBJECT>
All Implemented Interfaces:
PaginatedDto<PAGINATED_OBJECT>

@Generated(from="PaginatedDto", generator="Immutables") @ParametersAreNonnullByDefault @Generated("org.immutables.processor.ProxyProcessor") @Immutable @CheckReturnValue public final class ImmutablePaginatedDto<PAGINATED_OBJECT> extends Object implements PaginatedDto<PAGINATED_OBJECT>
Immutable implementation of PaginatedDto.

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

  • Method Details

    • totalCount

      public long totalCount()
      Specified by:
      totalCount in interface PaginatedDto<PAGINATED_OBJECT>
      Returns:
      The value of the totalCount attribute
    • data

      public List<PAGINATED_OBJECT> data()
      Specified by:
      data in interface PaginatedDto<PAGINATED_OBJECT>
      Returns:
      The value of the data attribute
    • withTotalCount

      public final ImmutablePaginatedDto<PAGINATED_OBJECT> withTotalCount(long value)
      Copy the current immutable object by setting a value for the totalCount attribute. A value equality check is used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for totalCount
      Returns:
      A modified copy or the this object
    • withData

      Copy the current immutable object with elements that replace the content of data.
      Parameters:
      elements - The elements to set
      Returns:
      A modified copy of this object
    • withData

      public final ImmutablePaginatedDto<PAGINATED_OBJECT> withData(Iterable<? extends PAGINATED_OBJECT> elements)
      Copy the current immutable object with elements that replace the content of data. A shallow reference equality check is used to prevent copying of the same value by returning this.
      Parameters:
      elements - An iterable of data elements to set
      Returns:
      A modified copy or this if not changed
    • equals

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

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

      public static <PAGINATED_OBJECT> ImmutablePaginatedDto<PAGINATED_OBJECT> copyOf(PaginatedDto<PAGINATED_OBJECT> instance)
      Creates an immutable copy of a PaginatedDto value. Uses accessors to get values to initialize the new immutable instance. If an instance is already immutable, it is returned as is.
      Type Parameters:
      PAGINATED_OBJECT - generic parameter PAGINATED_OBJECT
      Parameters:
      instance - The instance to copy
      Returns:
      A copied immutable PaginatedDto instance
    • builder

      public static <PAGINATED_OBJECT> ImmutablePaginatedDto.Builder<PAGINATED_OBJECT> builder()
      Creates a builder for ImmutablePaginatedDto.
       ImmutablePaginatedDto.<PAGINATED_OBJECT>builder()
          .totalCount(long) // required totalCount
          .addData|addAllData(PAGINATED_OBJECT) // data elements
          .build();
       
      Type Parameters:
      PAGINATED_OBJECT - generic parameter PAGINATED_OBJECT
      Returns:
      A new ImmutablePaginatedDto builder