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
// This Source Code is in the Public Domain per: http://litesoft.org/License.txt
package org.litesoft.orsup.selection;

/**
 * An interface that the <b>WhereClause</b>s use to support the formatting
 * generated in the toString() and toSQL() methods.<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 interface SimpleColumnDefinition
{
    /**
     * 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()
     */
    public String getName();

    /**
     * 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()
     */
    public String getColumnName();

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

    /**
     * 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()
     */
    public String getSearchColumnName();

    /**
     * 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()
     */
    public Class getColumnType();
}

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

Diff revisions: vs.
Revision Author Commited Message
151 Diff Diff GeorgeS picture GeorgeS Thu 17 Mar, 2011 04:16:22 +0000
49 Diff Diff GeorgeS picture GeorgeS Mon 12 Apr, 2010 02:59:10 +0000

License Text

2 GeorgeS picture GeorgeS Sun 07 Feb, 2010 12:50:58 +0000