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

import junit.framework.*;
import org.litesoft.ui.def.*;
import org.litesoft.ui.def.nonpublic.support.*;

public class VisitorTest extends TestCase
{
    public static TestSuite suite()
    {
        return new TestSuite( VisitorTest.class );
    }

    public VisitorTest( String name )
    {
        super( name );
    }

    public static void main( String[] args )
    {
        junit.textui.TestRunner.run( suite() );
    }

    public void testVisit()
            throws Exception
    {
        UiFormDef form = UI.form( "Test", //
                                  UI.vertical().layout( //
                                                        UI.input( "zAname" ), //
                                                        UI.action( "Save" ) //
                                  ) ).forEdit();
        StringBuilder sb = new StringBuilder();
        new TestVisitor().process( form, sb );
        assertEquals( "Visits", //
                      "visit1PreAnyChildProcessing: Form(IntendedUse='Edit' RootType='Test')\n" + //
                      "visit2ChildrenHelper: Form(IntendedUse='Edit' RootType='Test')\n" + //
                      "visit3mutateParameterForChildren: Form(IntendedUse='Edit' RootType='Test')\n" + //
                      "visit4mutateParameterForChild: Form(IntendedUse='Edit' RootType='Test') -> VerticalLayout()\n" +
                      "visit1PreAnyChildProcessing: VerticalLayout()\n" + //
                      "visit2ChildrenHelper: VerticalLayout()\n" + //
                      "visit3mutateParameterForChildren: VerticalLayout()\n" + //
                      "visit4mutateParameterForChild: VerticalLayout() -> Action(ActionID='Save')\n" + //
                      "visit4mutateParameterForChild: VerticalLayout() -> Input(AttributeName='zAname')\n" +
                      "visit1PreAnyChildProcessing: Input(AttributeName='zAname')\n" + //
                      "visit5PostAllChildProcessing: Input(AttributeName='zAname')\n" + //
                      "visit1PreAnyChildProcessing: Action(ActionID='Save')\n" + //
                      "visit5PostAllChildProcessing: Action(ActionID='Save')\n" + //
                      "visit5PostAllChildProcessing: VerticalLayout()\n" + //
                      "visit5PostAllChildProcessing: Form(IntendedUse='Edit' RootType='Test')\n" + //
                      "", sb.toString() );
    }

    private class TestVisitor extends UiD_Visitor
    {
        protected void visit1PreAnyChildProcessing( UiDef pUiDef, Object pParameter )
        {
            super.visit1PreAnyChildProcessing( pUiDef, pParameter );
            ((StringBuilder) pParameter).append( "visit1PreAnyChildProcessing: " ).append( pUiDef ).append( "\n" );
        }

        protected void visit2ChildrenHelper( UiDef pUiDef, Object pParameter,
                                             AbstractUiChildrenHelper pHelper )
        {
            super.visit2ChildrenHelper( pUiDef, pParameter, pHelper );
            ((StringBuilder) pParameter).append( "visit2ChildrenHelper: " ).append( pUiDef ).append( "\n" );
        }

        protected Object visit3mutateParameterForChildren( UiDef pUiDef, Object pParameter )
        {
            ((StringBuilder) pParameter).append( "visit3mutateParameterForChildren: " ).append(
                    pUiDef ).append( "\n" );
            return pParameter;
        }

        protected Object visit4mutateParameterForChild( UiDef pUiDef, Object pParameter, UiDef pChild )
        {
            ((StringBuilder) pParameter).append( "visit4mutateParameterForChild: " ).append( pUiDef ).append(
                    " -> " ).append( pChild ).append( "\n" );
            return super.visit4mutateParameterForChild( pUiDef, pParameter, pChild );
        }

        protected void visit5PostAllChildProcessing( UiDef pUiDef, Object pParameter )
        {
            super.visit5PostAllChildProcessing( pUiDef, pParameter );
            ((StringBuilder) pParameter).append( "visit5PostAllChildProcessing: " ).append( pUiDef ).append( "\n" );
        }
    }
}

Commits for litesoft/trunk/Java/core/jvm1.5/src/org/litesoft/ui_1_5/def/VisitorTest.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

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