litesoft
@ 917
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 |
// This Source Code is in the Public Domain per: http://litesoft.org/License.txt package org.litesoft.GWT.client.view; import com.google.gwt.user.client.*; import org.litesoft.core.typeutils.Objects; import org.litesoft.security.*; import org.litesoft.uispecification.*; import java.util.*; /** * Controls which screen is showing. Coordinates w/ the GWT {@link History} * mechanism. */ public abstract class AbstractViewManager implements ViewManager { protected final ViewAccessControlManager mAccessControlManager; private final Map<String, ViewDef> mScreenDefs = new HashMap<String, ViewDef>(); private final Map<String, ViewFactory> mViewFactories = new HashMap<String, ViewFactory>(); AbstractViewManager( ViewAccessControlManager pAccessControlManager, ViewFactory... pFactories ) { Objects.assertNotNull( "AccessControlManager", mAccessControlManager = pAccessControlManager ); add( pFactories ); } @Override public ViewFactory getViewFactory( ViewDef pDef ) { if ( pDef == null ) { return null; } return mAccessControlManager.allowAccessTo( pDef ) ? mViewFactories.get( pDef.getFragmentID() ) : ViewFactory.NO_ACCESS; } protected ViewDef getViewDef( String pViewDefId ) { ViewDef zDef = mScreenDefs.get( pViewDefId ); return mAccessControlManager.allowAccessTo( zDef ) ? zDef : null; } /** * Use this to add a navigable screen. * * @param pFactories */ @Override public void add( ViewFactory... pFactories ) { if ( pFactories != null ) { for ( ViewFactory zFactory : pFactories ) { if ( zFactory != null ) { ViewDef zDef = zFactory.getViewDef(); mViewFactories.put( zDef.getFragmentID(), zFactory ); mScreenDefs.put( zDef.getFragmentID(), zDef ); } } } } /** * Use this to add placeholder(e.g. for displaying a disabled button). * * @param pViewDefs */ @Override public void add( ViewDef... pViewDefs ) { if ( pViewDefs != null ) { for ( ViewDef zDef : pViewDefs ) { if ( zDef != null ) { mScreenDefs.put( zDef.getFragmentID(), zDef ); } } } } } |
Commits for litesoft/trunk/Java/GWT/Client/src/org/litesoft/GWT/client/view/AbstractViewManager.java
Revision | Author | Commited | Message |
---|---|---|---|
917 Diff | GeorgeS | Sun 08 Dec, 2013 20:49:56 +0000 | 1.7 prep & VersionedStaticContentFilter upgrade to new “/ver” model! |
804 Diff | GeorgeS | Wed 15 Aug, 2012 12:48:51 +0000 | |
49 Diff | GeorgeS | Mon 12 Apr, 2010 02:59:10 +0000 | License Text |
23 Diff | GeorgeS | Wed 24 Feb, 2010 00:34:32 +0000 | |
2 | GeorgeS | Sun 07 Feb, 2010 12:50:58 +0000 |