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

import org.litesoft.GWT.forms.server.*;
import org.litesoft.ui.def.nonpublic.support.*;

import java.util.*;

public class InstanceHelperManager {
    private InstanceHelper mRootInstanceHelper = null;
    private Map<FormDataRowKey, InstanceHelper> mInstanceHelpersByFormDataRowKeys = // null key supported
            new HashMap<FormDataRowKey, InstanceHelper>();

    public synchronized void dispose() {
        if ( mInstanceHelpersByFormDataRowKeys != null ) {
            for ( InstanceHelper helper : mInstanceHelpersByFormDataRowKeys.values() ) {
                try {
                    helper.dispose();
                }
                catch ( RuntimeException e ) {
                    FormServicePeer.LOGGER.error.log( e );
                }
            }
            mInstanceHelpersByFormDataRowKeys.clear();
            mInstanceHelpersByFormDataRowKeys = null;
            mRootInstanceHelper = null;
        }
    }

    public synchronized InstanceHelper getRootInstanceHelper() {
        return mRootInstanceHelper;
    }

    public synchronized void setRootInstanceHelper( InstanceHelper pRootInstanceHelper ) {
        add( mRootInstanceHelper = pRootInstanceHelper );
    }

    public synchronized void add( InstanceHelper pInstanceHelper ) {
        mInstanceHelpersByFormDataRowKeys.put( pInstanceHelper.getFormDataRowKey(), pInstanceHelper );
    }

    public synchronized void remove( FormDataRowKey pFormDataRowKey ) {
        mInstanceHelpersByFormDataRowKeys.remove( pFormDataRowKey );
    }

    public synchronized void resetAllInstanceHelpers() {
        for ( InstanceHelper helper : mInstanceHelpersByFormDataRowKeys.values() ) {
            if ( helper != mRootInstanceHelper ) {
                helper.dispose();
            }
        }
        mInstanceHelpersByFormDataRowKeys.clear();
        if ( mRootInstanceHelper != null ) {
            mRootInstanceHelper.resetSavedAttibuteValues();
            mInstanceHelpersByFormDataRowKeys.put( mRootInstanceHelper.getFormDataRowKey(),
                                                   mRootInstanceHelper );
        }
    }

    public synchronized void loadAllAttributeValues() {
        if ( mRootInstanceHelper != null ) {
            mRootInstanceHelper.loadAllAttributeValues();
        }
    }

    public synchronized ArrayList<FormDataRowKey> getAllCurrentFormDataRowKeys() {
        return new ArrayList<FormDataRowKey>( mInstanceHelpersByFormDataRowKeys.keySet() );
    }

    public synchronized InstanceHelpersSnapShot getInstanceHelpers() {
        return new InstanceHelpersSnapShot( mRootInstanceHelper,
                                            mInstanceHelpersByFormDataRowKeys.values().toArray(
                                                    new InstanceHelper[mInstanceHelpersByFormDataRowKeys.size()] ) );
    }

    public synchronized InstanceHelper getInstanceHelper( FormDataRowKey pFormDataRowKey ) {
        return (pFormDataRowKey == null) ? // null == Root
               getRootInstanceHelper() : //
               mInstanceHelpersByFormDataRowKeys.get( pFormDataRowKey );
    }
}

Commits for litesoft/trunk/Java/GWT/OldServer/src/org/litesoft/GWT/forms/server/support/InstanceHelperManager.java

Diff revisions: vs.
Revision Author Commited Message
950 Diff Diff GeorgeS picture GeorgeS Thu 19 Jun, 2014 17:57:04 +0000

New Lines

948 Diff Diff GeorgeS picture GeorgeS Sat 07 Jun, 2014 23:42:39 +0000

Jusefuls Formatter Updated to New Code Format

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