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

import org.litesoft.orsup.selection.*;

/**
 * An abstract representation of a wrapped SQL <i>WHERE</i> clause (like NOT).<p>
 * <a href="../../../Licence.txt">Licence</a><br>
 * <p/>
 * The purpose of this class is to support the unary operations (like NOT)
 * against another <b>WhereClause</b>.<p>
 * <p/>
 * This form of <b>WhereClause</b> is currently used only to support:
 * NOT.<p>
 * <p/>
 * See <a href="WhereClause.html">WhereClause</a><br>
 * See <a href="WhereClauseFactory.html">WhereClauseFactory</a><p>
 * <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 AbstractWhereClauseWrapper extends WhereClause
{
    private WhereClause mWrappedWhereClause;

    /**
     * Constructor that supports a <i>wrapped</i> SQL <i>WHERE</i> clause.<p>
     *
     * @param pType               The Type for this WhereClause.
     * @param pWrappedWhereClause The WhereClause that is being wrapped (!null).
     */
    protected AbstractWhereClauseWrapper( WhereClauseType pType, WhereClause pWrappedWhereClause )
    {
        super( pType );

        IllegalArgument.ifNull( "Wrapped WhereClause", mWrappedWhereClause = pWrappedWhereClause );
    }

    /**
     * Accessor for the Wrapped WhereClause.<p>
     *
     * @return Wrapped WhereClause (!null).
     */
    public final WhereClause getWrappedWhereClause()
    {
        return mWrappedWhereClause;
    }

    /**
     * Helper method for <b>toString()</b> that provides a more efficient
     * mechanism for the recursive decent of a WhereClause <i>tree</i>.<p>
     *
     * @param pSB the StringBuilder to build the WhereClause into.<p>
     *
     * @see WhereClause#toString()
     */
    @Override
    protected final void toStringHelper( StringBuilder pSB )
    {
        toStringHelperParenthesizer( pSB, getType().getToStr(), getWrappedWhereClause() );
    }

    /**
     * Helper method for <b>toSQL()</b> that provides a more efficient
     * mechanism for the recursive decent of a WhereClause <i>tree</i>.<p>
     * <p/>
     * Note: May need to override to get proper result for SQL.<p>
     *
     * @param pWCtoSqlHelper helper called on each toSQLHelper()
     * @param pSB            the StringBuilder to build the WhereClause into.<p>
     *
     * @see WhereClause#toSQL()
     */
    @Override
    protected final void toSqlHelper( WCtoSqlHelper pWCtoSqlHelper, StringBuilder pSB )
    {
        if ( !pWCtoSqlHelper.preRender( this, pSB ) )
        {
            toSqlHelperParenthesizer( pWCtoSqlHelper, pSB, getType().getToSql(), getWrappedWhereClause() );

            pWCtoSqlHelper.postRender( this, pSB );
        }
    }
}

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

Diff revisions: vs.
Revision Author Commited Message
66 Diff Diff GeorgeS picture GeorgeS Tue 12 Oct, 2010 16:44:38 +0000

Isolation and creation of LiteSoft’s WhereClause code into a JAR

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