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

import org.litesoft.bo.*;

import static org.litesoft.uispecification.FormWidgetAspectCtrl.*;

public final class FormWidgetCtrl
{
    public FormWidgetAspectCtrl getVisible()
    {
        return mVisible;
    }

    public FormWidgetAspectCtrl getEnable()
    {
        return mEnable;
    }

    public boolean isSearchFilter()
    {
        return mSearchFilter;
    }

    public boolean isEditRequired()
    {
        return mEditRequired;
    }

    public boolean isUnique()
    {
        return isFilterType( BoAccessorFilterType.Unique );
    }

    public boolean isAlways()
    {
        return isFilterType( BoAccessorFilterType.Always );
    }

    public BoAccessorFilterType getFilterType()
    {
        return mFilterType;
    }

    public static final FormWidgetCtrl VISIBLE_AND_ENABLED = new FormWidgetCtrl( Yes, false, false, null, Yes );
    public static final FormWidgetCtrl VISIBLE_BUT_DISABLED = new FormWidgetCtrl( Yes, false, false, null, No );
    public static final FormWidgetCtrl VISIBLE_AND_ACTIVE_ENABLED = new FormWidgetCtrl( Yes, false, false, null, Active );

    public static final FormWidgetCtrl SEARCH_FILTER = new FormWidgetCtrl( Yes, true, false, null, Active );

    public static final FormWidgetCtrl HIDDEN = new FormWidgetCtrl( No, false, false, null, No );
    public static final FormWidgetCtrl VIEW_ONLY = new FormWidgetCtrl( Edit, false, false, null, Edit );
    public static final FormWidgetCtrl EDIT_ONLY = new FormWidgetCtrl( Edit, false, false, null, Edit );
    public static final FormWidgetCtrl SEARCH_ONLY = new FormWidgetCtrl( Search, false, false, null, Search );

    public static FormWidgetCtrl Visible( FormWidgetAspectCtrl pCtrl )
    {
        pCtrl = FormWidgetAspectCtrl.deNull( pCtrl );
        return new FormWidgetCtrl( pCtrl, false, false, null, No );
    }

    public FormWidgetCtrl enable( FormWidgetAspectCtrl pCtrl )
    {
        pCtrl = FormWidgetAspectCtrl.deNull( pCtrl );
        return getEnable() == pCtrl ? this : //
               new FormWidgetCtrl( getVisible(), //
                                   isSearchFilter(), //
                                   isEditRequired(), //
                                   getFilterType(), //
                                   pCtrl );
    }

    public FormWidgetCtrl searchFilter()
    {
        return isSearchFilter() ? this : update( true, false );
    }

    public FormWidgetCtrl required()
    {
        return isEditRequired() ? this : update( false, true );
    }

    public FormWidgetCtrl unique()
    {
        return update( BoAccessorFilterType.Unique );
    }

    public FormWidgetCtrl always()
    {
        return update( BoAccessorFilterType.Always );
    }

    private boolean isFilterType( BoAccessorFilterType pFilterType )
    {
        return getFilterType() == pFilterType;
    }

    private FormWidgetCtrl update( BoAccessorFilterType pFilterType )
    {
        return getFilterType() == pFilterType ? this : //
               new FormWidgetCtrl( getVisible(), //
                                   isSearchFilter(), //
                                   isEditRequired(), //
                                   pFilterType, //
                                   getEnable() );
    }

    private FormWidgetCtrl update( boolean pSearchFilter, boolean pEditRequired )
    {
        return new FormWidgetCtrl( mVisible, //
                                   isSearchFilter() | pSearchFilter, //
                                   isEditRequired() | pEditRequired, //
                                   getFilterType(), //
                                   mEnable );
    }

    private FormWidgetAspectCtrl mVisible, mEnable;
    private boolean mSearchFilter, mEditRequired;
    private BoAccessorFilterType mFilterType;

    private FormWidgetCtrl( FormWidgetAspectCtrl pVisible, boolean pSearchFilter, boolean pEditRequired, BoAccessorFilterType pFilterType, FormWidgetAspectCtrl pEnable )
    {
        mVisible = pVisible;
        mEnable = pEnable;
        mSearchFilter = pSearchFilter;
        mEditRequired = pEditRequired;
        mFilterType = (pFilterType != null) ? pFilterType : BoAccessorFilterType.Regular;
    }

    private void flag( StringBuilder pSB, String pWhat, boolean pFlag )
    {
        if ( pFlag )
        {
            pSB.append( ", " ).append( pWhat );
        }
    }

    @Override
    public String toString()
    {

        StringBuilder sb = new StringBuilder().append( mFilterType );
        flag( sb, "SearchFilter", mSearchFilter );
        flag( sb, "EditRequired", mEditRequired );
        return "FormWidgetCtrl(" + sb + "):\n" + //
               "    Visible=" + mVisible + "\n" + //
               "    Enable=" + mEnable;
    }
}

Commits for litesoft/trunk/Java/core/Anywhere/src/org/litesoft/uispecification/FormWidgetCtrl.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!

218 Diff Diff GeorgeS picture GeorgeS Wed 18 May, 2011 14:07:56 +0000
217 Diff Diff GeorgeS picture GeorgeS Wed 18 May, 2011 13:47:41 +0000
213 Diff Diff GeorgeS picture GeorgeS Tue 17 May, 2011 13:04:42 +0000
209 Diff Diff GeorgeS picture GeorgeS Mon 16 May, 2011 23:47:17 +0000
207 Diff Diff GeorgeS picture GeorgeS Mon 16 May, 2011 05:45:30 +0000
201 Diff Diff GeorgeS picture GeorgeS Sat 14 May, 2011 00:27:50 +0000
200 GeorgeS picture GeorgeS Fri 13 May, 2011 21:58:18 +0000