Package adalid.core

Class Key

All Implemented Interfaces:
Wrappable, Artifact

public class Key extends AbstractArtifact
Author:
Jorge Campins
  • Constructor Details

    • Key

      public Key()
  • Method Details

    • getKeyFeatures

      public String getKeyFeatures(String prefix, String suffix)
      Specified by:
      getKeyFeatures in interface Artifact
      Overrides:
      getKeyFeatures in class AbstractArtifact
      Parameters:
      prefix - prefijo
      suffix - sufijo
      Returns:
      the key features
    • getKeyFieldsList

      public List<KeyField> getKeyFieldsList()
      Returns:
      the key fields
    • isUnique

      public boolean isUnique()
      Returns:
      the unique indicator
    • setUnique

      public void setUnique(boolean unique)
      El método setUnique se utiliza para establecer la unicidad de la clave. Las claves únicas no permiten valores duplicados en las propiedades que las integran.
      Parameters:
      unique - true, si la clave es única; de lo contrario false
    • isNullsNotDistinct

      public boolean isNullsNotDistinct()
    • setNullsNotDistinct

      public void setNullsNotDistinct(boolean nullsNotDistinct)
      El método setNullsNotDistinct se utiliza para definir la forma en la que se deben manejar los valores nulos en restricciones e índices únicos. Si el manejador de base de datos de su aplicación es PostgreSQL, de manera predeterminada los valores nulos en una columna única no se consideran iguales, lo que permite múltiples valores nulos en la columna. A partir de la versión 15 de PostgreSQL, setNullsNotDistinct(true) permite modificar esto, haciendo que el índice trate los nulos como iguales. Un índice único de varias columnas solo rechazará los casos en los que todas las columnas indexadas sean iguales en varias filas.
      Parameters:
      nullsNotDistinct - true, si los valores nulos se deben tratar como iguales; de lo contrario false
    • newKeyField

      public void newKeyField(Property property)
      El método newKeyField se utiliza para agregar propiedades a la clave. Las claves pueden estar integradas por una o más propiedades, y para cada propiedad se puede establecer el orden en el índice correspondiente. La posición relativa de cada propiedad en el índice está determinado por la secuencia en la que se agregan a la clave.
      Parameters:
      property - propiedad de la entidad; el orden en el índice será ascendente.
    • newKeyField

      public void newKeyField(Property property, SortOption sortOption)
      El método newKeyField se utiliza para agregar propiedades a la clave. Las claves pueden estar integradas por una o más propiedades, y para cada propiedad se puede establecer el orden en el índice correspondiente. La posición relativa de cada propiedad en el índice está determinado por la secuencia en la que se agregan a la clave.
      Parameters:
      property - propiedad de la entidad.
      sortOption - especifica el orden de la propiedad en el índice. Su valor es uno de los elementos de la enumeración SortOption. Seleccione ASC o DESC para establecer el orden como ascendente o descendente, respectivamente.
    • newKeyField

      public void newKeyField(Property... property)
      El método newKeyField se utiliza para agregar propiedades a la clave. Las claves pueden estar integradas por una o más propiedades, y para cada propiedad se puede establecer el orden en el índice correspondiente. La posición relativa de cada propiedad en el índice está determinado por la secuencia en la que se agregan a la clave.
      Parameters:
      property - una o más propiedades de la entidad; el orden en el índice será ascendente.
    • isValidKeyFor

      public boolean isValidKeyFor(PersistentEntity entity)
    • invalidPropertyNames

      public List<String> invalidPropertyNames(PersistentEntity entity)
    • invalidProperties

      public List<Property> invalidProperties(PersistentEntity entity)
    • dubiousPropertyNames

      public List<String> dubiousPropertyNames(PersistentEntity entity)
    • dubiousProperties

      public List<Property> dubiousProperties(PersistentEntity entity)
    • isUniqueKeyWithNullProperties

      public boolean isUniqueKeyWithNullProperties()
    • isSingleProperty

      public boolean isSingleProperty()
    • getTheProperty

      public Property getTheProperty()