Interface Index

All Superinterfaces:
ModelElement
All Known Implementing Classes:
IndexImpl

public interface Index extends ModelElement
Describes a database index.
Author:
harald
  • Method Details

    • getEntity

      Entity getEntity()
      Gets the entity this index belongs to.
      Returns:
      the entity
    • createDatabaseIndexName

      String createDatabaseIndexName(Entity entity)
      Creates the database index name for given entity.
      Parameters:
      entity - the entity
      Returns:
      the effective sql name
    • getComment

      String getComment()
      Gets the comment.
      Returns:
      the comment
    • isUnique

      boolean isUnique()
      Returns whether the index is unique.
      Returns:
      true if unique, else non-unique
    • getFilterCondition

      String getFilterCondition()
      Gets the optional filter condition.
      Returns:
      the condition, null if none
    • getAttributes

      List<IndexAttribute> getAttributes()
      Gets the index attributes.
      Returns:
      the attributes
    • validate

      void validate() throws ModelException
      Validates the index.
      Throws:
      ModelException - if validation failed
    • sqlCreateIndex

      String sqlCreateIndex(Backend backend, Entity entity)
      Creates the index creation sql code.
      Parameters:
      backend - the backend to create sql code for
      entity - the entity to create the index for
      Returns:
      the SQL code