Interface MappableTypeModel

All Known Subinterfaces:
PojoRawTypeModel<T>
All Known Implementing Classes:
AbstractPojoHCAnnRawTypeModel, AbstractPojoRawTypeModel, PojoSimpleHCAnnRawTypeModel

public interface MappableTypeModel
A representation of an entity type that can be mapped to an index.
See Also:
  • Method Details

    • name

      String name()
      Returns:
      A human-readable name for this type.
    • isAbstract

      boolean isAbstract()
      Returns:
      true if this type is abstract, i.e. it cannot be instantiated as-is (but may be as a subtype). false otherwise.
    • isSubTypeOf

      boolean isSubTypeOf(MappableTypeModel superTypeCandidate)
      Parameters:
      superTypeCandidate - Another type that should be assessed as a supertype.
      Returns:
      true if this type is a subtype of superTypeCandidate, i.e. if superTypeCandidate is mentioned in ascendingSuperTypes(). false otherwise.
    • ascendingSuperTypes

      Stream<? extends MappableTypeModel> ascendingSuperTypes()
      Returns:
      A stream of all supertypes of this type, from the most specific (this type) to the least specific (Object).
    • descendingSuperTypes

      Stream<? extends MappableTypeModel> descendingSuperTypes()
      Returns:
      A stream of all supertypes of this type, from the least specific (Object) to the most specific (this type).
    • toString

      String toString()
      Overrides:
      toString in class Object
      Returns:
      A human-readable description of this type.
    • equals

      boolean equals(Object obj)
      Overrides:
      equals in class Object
      Returns:
      true if obj is a MappableTypeModel referencing the exact same type with the exact same exposed metadata.
    • hashCode

      int hashCode()
      Overrides:
      hashCode in class Object