ulrich
2020-02-23 10d5ad96f7d34973365b48111f4fb32157f4c865
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
/*
 *  BaseLink - Generic object relational mapping
 *  Copyright (C) 2011  Ulrich Hilger, http://uhilger.de
 *
 *  This program is free software: you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation, either version 3 of the License, or
 *  (at your option) any later version.
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with this program.  If not, see http://www.gnu.org/licenses/
 */
 
package de.uhilger.baselink;
 
import java.lang.reflect.Method;
 
/**
 * Class <code>Field</code> represents a field in a database table. Objects of 
 * class <code>Field</code> can be used to keep field name, field type, getter 
 * and setter methods in one place for reference.  
 * 
 * @author Copyright (c) Ulrich Hilger, http://uhilger.de
 * @author Published under the terms and conditions of
 * the <a href="http://www.gnu.org/licenses/" target="_blank">GNU General Public License</a>
 */
public class Field {
 
  private String columnName;
    private DBColumn.Type columnType;
    private Method getter;
    private Method setter;
    
    /**
     * Create a new object of class <code>Field</code>
     */
    public Field() {
        super();
    }
 
    /**
     * Determine whether or not this object is equal to antoher object
     * @param obj  the other object to compare with this object
     * @return true if this object is equal to the other object, false if not
     */
    @Override
    public boolean equals(Object obj) {
        boolean isEqual = false;
        if(obj != null && obj instanceof Field) {
            Field other = (Field) obj;
            isEqual = getColumnName().equals(other.getColumnName());
        }
        return isEqual;
    }
 
    /**
     * Get the column name of this field
     * @return  the column name
     */
    public String getColumnName() {
        return columnName;
    }
 
    /**
     * Set the column name of this field
     * @param columnName  the column name
     */
    public void setColumnName(String columnName) {
        this.columnName = columnName;
    }
 
    /**
     * Get the column type of this field
     * @return  the column type
     */
    public DBColumn.Type getColumnType() {
        return columnType;
    }
 
    /**
     * Set the column type of this field
     * @param columnType  the column type
     */
    public void setColumnType(DBColumn.Type columnType) {
        this.columnType = columnType;
    }
 
    /**
     * Get the getter method for this field
     * @return  the method to get the value of this field
     */
    public Method getGetter() {
        return getter;
    }
 
    /**
     * Set the getter method of this field
     * @param getter  the method to get the value of this field
     */
    public void setGetter(Method getter) {
        this.getter = getter;
    }
 
    /**
     * Get the setter method of this field
     * @return setter  the method to set the value of this field
     */
    public Method getSetter() {
        return setter;
    }
 
    /**
     * Set the setter method of this field
     * @param setter  the method to set the value of this field
     */
    public void setSetter(Method setter) {
        this.setter = setter;
    }
    
    
}