Record Class DomainEntity<T>

java.lang.Object
java.lang.Record
net.tangly.core.domain.DomainEntity<T>
Type Parameters:
T - type of the domain entity.

public record DomainEntity<T>(@NotNull String domain, @NotNull Class<T> clazz, Provider<T> provider) extends Record
Define the meta-information describing the characteristics of a domain entity. Helper methods are provided to collect statistical information on the instances of the domain entity.
  • Constructor Details

    • DomainEntity

      public DomainEntity(@NotNull @NotNull String domain, @NotNull @NotNull Class<T> clazz, Provider<T> provider)
      Creates an instance of a DomainEntity record class.
      Parameters:
      domain - the value for the domain record component
      clazz - the value for the clazz record component
      provider - the value for the provider record component
  • Method Details

    • hasOid

      public boolean hasOid()
    • hasId

      public boolean hasId()
    • hasComments

      public boolean hasComments()
    • hasTags

      public boolean hasTags()
    • name

      public String name()
    • entitiesCount

      public long entitiesCount()
    • tagsCount

      public long tagsCount()
    • commentsCount

      public long commentsCount()
    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared with Objects::equals(Object,Object).
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • domain

      @NotNull public @NotNull String domain()
      Returns the value of the domain record component.
      Returns:
      the value of the domain record component
    • clazz

      @NotNull public @NotNull Class<T> clazz()
      Returns the value of the clazz record component.
      Returns:
      the value of the clazz record component
    • provider

      public Provider<T> provider()
      Returns the value of the provider record component.
      Returns:
      the value of the provider record component