Subversion Repository Public Repository

litesoft

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
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
// This Source Code is in the Public Domain per: http://unlicense.org
package org.litesoft.orsup.selection.nonpublic;

import org.litesoft.orsup.selection.*;

/**
 * An abstract helper class to make implementing SimpleColumnDefinition simpler.<p>
 * <a href="../../../Licence.txt">Licence</a><br>
 * <p/>
 * Exceptions: All problems caught when the parameter(s) are checked (as
 * indicated/implied in the @param tags) will generate an IllegalArgumentException,
 * and means the API user has a problem.  If a NullPointerException (or some
 * others, like: ClassCastException or ArrayIndexOutOfBoundsException) is thrown,
 * it means the API developer has a problem.  Any Exception that is explicitly
 * thrown in the API, but unrelated to a parameter, will be listed in the throws
 * clause (and hopefully in the tag @throws).  These may (but probably won't) be
 * checked Exceptions.
 *
 * @author George Smith
 * @version 1.0 10/07/01
 */

public abstract class AbstractColumnDefinition implements SimpleColumnDefinition
{
    private String mName;
    private String mColumnName, mSearchColumnName;
    private boolean mHasSearchColumn;
    private Class mColumnType;

    /**
     * Constructor that simply sets the attributes to support the
     * SimpleColumnDefinition interface.<p>
     *
     * @param pName             Logical Column Name (!null).
     * @param pColumnName       SQL Column Name (!null).
     * @param pSearchColumnName Search SQL Column Name (!null).
     * @param pColumnType       Java Class type for the SQL Column Type (!null).
     */
    protected AbstractColumnDefinition( String pName, String pColumnName, String pSearchColumnName, Class pColumnType )
    {
        mName = pName;
        mColumnName = pColumnName;
        mSearchColumnName = pSearchColumnName;
        mColumnType = pColumnType;
        mHasSearchColumn = (mColumnName != null) && !mColumnName.equals( mSearchColumnName );
    }

    /**
     * Constructor that simply sets the attributes to support the
     * SimpleColumnDefinition interface.<p>
     *
     * @param pName       Logical Column Name (!null).
     * @param pColumnName SQL Column Name (!null).
     * @param pColumnType Java Class type for the SQL Column Type (!null).
     */
    protected AbstractColumnDefinition( String pName, String pColumnName, Class pColumnType )
    {
        mName = pName;
        mColumnName = pColumnName;
        mSearchColumnName = pColumnName;
        mColumnType = pColumnType;
    }

    /**
     * Accessor for the logical name of this Column.<p>
     * <p/>
     * While this name can be equal to the ColumnName, it does not need
     * to be, it could be the name of an Object's attribute that is mapped
     * to this column by an OR mapper.  In any case, this name is what
     * is used/displayed by the specific <b>WhereClause</b>'s toString()
     * method.<p>
     *
     * @return logical name of this Column.<p>
     *
     * @see WhereClause#toString()
     */
    @Override
    public String getName()
    {
        return mName;
    }

    /**
     * Accessor for the <b>actual</b> SQL Column Name.<p>
     * <p/>
     * This ColumnName MUST match that declared in the SQL Table Meta-data,
     * as it is used/displayed by the specific <b>WhereClause</b>'s toSQL()
     * method.<p>
     *
     * @return SQL Column Name.<p>
     *
     * @see WhereClause#toSQL()
     */
    @Override
    public String getColumnName()
    {
        return mColumnName;
    }

    /**
     * Return <code>true</code> if the SearchColumn should be a seperate Column.<p>
     * <p/>
     *
     * @see WhereClause#toSQL()
     */
    @Override
    public boolean hasSearchColumn()
    {
        return mHasSearchColumn;
    }

    /**
     * Accessor for the SQL Column Name that should <b>actually</b> be used for Searching.<p>
     * <p/>
     * Normally this has the same value as <code>getColumnName</code>.  If it doesn't, then it
     * indicates that there is a secondary column that needs to be maintained just for searching.<p>
     * <p/>
     * This ColumnName MUST match that declared in the SQL Table Meta-data,
     * as it is used/displayed by the specific <b>WhereClause</b>'s toSQL()
     * method.<p>
     *
     * @return SQL Column Name.<p>
     *
     * @see WhereClause#toSQL()
     */
    @Override
    public String getSearchColumnName()
    {
        return mSearchColumnName;
    }

    /**
     * Accessor for the <i>Java</i> Class <i>type</i> of the SQL Column.<p>
     * <p/>
     * The primary purpose of this method (within the <b>WhereClause</b>
     * infrastructure) is to indicate (to the toString() and toSQL() methods)
     * how the values should be formatted/displayed.  (e.g. that <b>String</b>s
     * must be quote safe and non-<b>String</b>s must use thier toString()
     * method to format)<p>
     *
     * @return <i>Java</i> Class <i>type</i> of the SQL Column.<p>
     *
     * @see WhereClause#toSQL()
     * @see WhereClause#toString()
     */
    @Override
    public Class getColumnType()
    {
        return mColumnType;
    }
}

Commits for litesoft/trunk/Java/core/Server/src/org/litesoft/orsup/selection/nonpublic/AbstractColumnDefinition.java

Diff revisions: vs.
Revision Author Commited Message
947 Diff Diff GeorgeS picture GeorgeS Fri 06 Jun, 2014 23:36:56 +0000

Correct Spelling of package!

49 Diff Diff GeorgeS picture GeorgeS Mon 12 Apr, 2010 02:59:10 +0000

License Text

24 Diff Diff GeorgeS picture GeorgeS Wed 24 Feb, 2010 01:51:38 +0000
2 GeorgeS picture GeorgeS Sun 07 Feb, 2010 12:50:58 +0000