View Javadoc

1   package uba.db.column;
2   
3   import java.io.DataInput;
4   import java.io.DataOutput;
5   
6   import org.apache.commons.lang.builder.EqualsBuilder;
7   import org.apache.commons.lang.builder.HashCodeBuilder;
8   
9   import uba.db.column.io.ColumnReader;
10  import uba.db.column.io.ColumnWriter;
11  import uba.db.column.io.IntegerColumnReader;
12  import uba.db.column.io.IntegerColumnWriter;
13  
14  /***
15   * Representa una columna del tipo INTEGER.
16   * 
17   * @version $Revision: 1.3 $
18   */
19  public class IntegerColumnSpecification extends ColumnSpecificationBehavior {
20      private static final long serialVersionUID = 3257008748139460144L;
21  
22      /***
23       * String utilizado para mostrar el tipo de datos que representa esta especificación
24       * de columna.
25       * 
26       *  @see ColumnSpecification#dataTypeDisplayString()
27       */
28      public static final String DATATYPE_DISPLAY_STRING = "INTEGER";
29  
30      /***
31       * Crea una instancia que representa una columna del tipo INTEGER.
32       * 
33       * @param name nombre de la columna.
34       * @param constraint restricciones para esta columna (por ejemplo si puede o no
35       * ser null, etc).
36       */
37      public IntegerColumnSpecification(String name, ColumnConstraint constraint) {
38          super(DATATYPE_DISPLAY_STRING, name, constraint);
39      }
40  
41      /***
42       * Crea una instancia que representa una columna del tipo INTEGER.<br>
43       * Con los constraints por default.
44       * 
45       * @see ColumnConstraint#DEFAULT
46       * 
47       * @param name nombre de la columna.
48       */
49      public IntegerColumnSpecification(String name) {
50          this(name, ColumnConstraint.DEFAULT);
51      }
52  
53      /***
54       * @see java.lang.Object#equals(java.lang.Object)
55       */
56      public boolean equals(Object obj) {
57          return EqualsBuilder.reflectionEquals(this, obj);
58      }
59  
60      /***
61       * @see java.lang.Object#hashCode()
62       */
63      public int hashCode() {
64          return HashCodeBuilder.reflectionHashCode(this);
65      }
66      
67      /***
68       * @see uba.db.column.ColumnSpecification#readerFor(DataInput)
69       */
70      public ColumnReader readerFor(DataInput in) {
71          return new IntegerColumnReader(this, in);
72      }
73  
74      /***
75       * @see uba.db.column.ColumnSpecification#writerFor(DataOutput)
76       */
77      public ColumnWriter writerFor(DataOutput out) {
78          return new IntegerColumnWriter(this, out);
79      }
80      
81      /***
82       * @see java.lang.Object#toString()
83       */
84      public String toString() {
85          return name() + " " + dataTypeDisplayString();
86      }
87  }