Interface DomainType<BASIC,DOMAIN>

Type Parameters:
BASIC - the basic type
DOMAIN - the domain type
All Known Implementing Classes:
AbstractDomainType

public interface DomainType<BASIC,DOMAIN>
A description for a domain type.

The implementation class is not required to be thread safe.

  • Method Details

    • getBasicClass

      Class<?> getBasicClass()
      Returns the basic class.

      This method may return a primitive type, so the return type is not Class<BASIC> but Class<?>.

      Returns:
      the basic class
    • getDomainClass

      Class<DOMAIN> getDomainClass()
      Returns the domain class.
      Returns:
      the domain class
    • createScalar

      Scalar<BASIC,DOMAIN> createScalar()
      Create a scalar.
      Returns:
      the scalar
    • createScalar

      Scalar<BASIC,DOMAIN> createScalar(DOMAIN value)
      Create a scalar that has the initial value.
      Parameters:
      value - the initial value
      Returns:
      the scalar
    • createOptionalScalar

      Scalar<BASIC,Optional<DOMAIN>> createOptionalScalar()
      Create an optional scalar.
      Returns:
      the optional scalar
    • createOptionalScalar

      Scalar<BASIC,Optional<DOMAIN>> createOptionalScalar(DOMAIN value)
      Create an optional scalar that has the initial value.
      Parameters:
      value - the initial value
      Returns:
      the optional scalar
    • createScalarSupplier

      default Supplier<Scalar<BASIC,DOMAIN>> createScalarSupplier()
    • createOptionalScalarSupplier

      default Supplier<Scalar<BASIC,Optional<DOMAIN>>> createOptionalScalarSupplier()