View Javadoc

1   package uba.db.column;
2   
3   import java.io.Serializable;
4   
5   import org.apache.commons.lang.builder.EqualsBuilder;
6   import org.apache.commons.lang.builder.HashCodeBuilder;
7   
8   /***
9    * Representa las restricciones que tiene el valor de una columna. (por ejemplo 
10   * si puede ser o no null).
11   *
12   * @version $Revision: 1.3 $
13   */
14  public class ColumnConstraint implements Serializable {
15      private static final long serialVersionUID = 3978146564730336824L;
16  
17      /***
18       * Instancia de ColumnConstraint, para una columna que no puede ser nula.
19       */
20      public static final ColumnConstraint NOT_NULL = new ColumnConstraint(true);
21  
22      /***
23       * Instancia de ColumnConstraint, para en la cual no se especifico ningún constraint.
24       * (por default los valores de las columnas pueden ser nulos).
25       */
26      public static final ColumnConstraint DEFAULT = new ColumnConstraint(false);
27  
28      private boolean notNull;
29  
30  
31      /***
32       * Crea una nueva instancia especificando si la columna puede o no ser nula.
33       *
34       * @param notNull <i>true</i> si la columna no puede ser nula.
35       */
36      public ColumnConstraint(boolean notNull) {
37          this.notNull = notNull;
38      }
39  
40      /***
41       * Retorna <i>true</i> si la columna no puede ser nula.
42       */
43      public boolean notNull() {
44          return notNull;
45      }
46      
47      /***
48       * @see java.lang.Object#equals(java.lang.Object)
49       */
50      public boolean equals(Object obj) {
51          return EqualsBuilder.reflectionEquals(this, obj);
52      }
53  
54      /***
55       * @see java.lang.Object#hashCode()
56       */
57      public int hashCode() {
58          return HashCodeBuilder.reflectionHashCode(this);
59      }
60  }