litesoft
@ 948
litesoft / trunk / GWT_Sandbox / FormEngine / src / com / temp / client / foundation / pavment / CachedViewSynchronousActivityFactory.java
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 |
package com.temp.client.foundation.pavment; import com.google.gwt.place.shared.*; public abstract class CachedViewSynchronousActivityFactory<CommonActivityParam extends CommonActivityParameter, ViewImpl extends View, APlace extends Place> implements ActivityFactory.Synchronous<CommonActivityParam, ViewImpl, APlace> { private final String mPlaceID; private ViewImpl mCachedView; public CachedViewSynchronousActivityFactory( Object pPlaceID ) { mPlaceID = pPlaceID.toString(); } @Override public final String getPlaceId() { return mPlaceID; } @Override public synchronized final ViewImpl getView() { if ( mCachedView == null ) { mCachedView = createView(); } return mCachedView; } abstract protected ViewImpl createView(); } |