Class Index

java.lang.Object
io.github.mfvanek.pg.model.index.Index
All Implemented Interfaces:
IndexNameAware, TableNameAware, Comparable<Index>
Direct Known Subclasses:
IndexWithSize

@Immutable public class Index extends Object implements TableNameAware, IndexNameAware, Comparable<Index>
A base representation of database index.
See Also:
  • Constructor Details

    • Index

      protected Index(@Nonnull String tableName, @Nonnull String indexName)
  • Method Details

    • getTableName

      @Nonnull public String getTableName()
      Gets table name.
      Specified by:
      getTableName in interface TableNameAware
      Returns:
      table name
    • getIndexName

      @Nonnull public String getIndexName()
      Gets index name.
      Specified by:
      getIndexName in interface IndexNameAware
      Returns:
      index name
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • innerToString

      protected String innerToString()
    • equals

      public final boolean equals(Object other)
      Overrides:
      equals in class Object
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class Object
    • compareTo

      public int compareTo(@Nonnull Index other)
      Specified by:
      compareTo in interface Comparable<Index>
    • of

      public static Index of(@Nonnull String tableName, @Nonnull String indexName)
      Constructs an Index object.
      Parameters:
      tableName - table name; should be non blank.
      indexName - index name; should be non blank.
      Returns:
      Index