litesoft
@ 585
litesoft / trunk / GWT_Sandbox / MultiModuleSingleSrc / main / src / org / litesoft / sandbox / multimodule / client / foundation / support / ClientFactoryImpl.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 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 |
package org.litesoft.sandbox.multimodule.client.common.support; import org.litesoft.sandbox.multimodule.anywhere.die.*; import org.litesoft.sandbox.multimodule.client.foundation.pavsupport.*; import org.litesoft.sandbox.multimodule.client.foundation.util.*; import org.litesoft.sandbox.multimodule.client.common.places.*; public class ClientFactoryImpl implements ClientFactory { private PlaceChanger mPlaceChanger; private MessageUserSink mMessageUserSink; private final Die mDie = new Die(); @Override public MessageUserSink getMessageUserSink() { MessageUserSink messageUserSink = this.mMessageUserSink; // snag a copy, in case the setter is called return (messageUserSink != null) ? messageUserSink : DefaultMessageUserSink.INSTANCE; } @Override public com.google.gwt.place.shared.Place getWhere() { return mPlaceChanger.getWhere(); } @Override public GoToPlace goTo( com.google.gwt.place.shared.Place pNewPlace ) { GoToPlace zGoToPlace = mPlaceChanger.goTo( pNewPlace ); mMessageUserSink.clearMessage(); if ( zGoToPlace != null ) { switch ( zGoToPlace ) { case NoActivity: mMessageUserSink.setErrorMessage( "No Activity for " + PlaceIdExtractor.getPlaceId( pNewPlace ) ); break; case AlreadyThere: mMessageUserSink.setWarningMessage( "Already There" ); break; case CurrentActivityRejectedLeaving: mMessageUserSink.setInfoMessage( "Action Rejected" ); break; } } return zGoToPlace; } @Override public Die getDie() { return mDie; } @Override public void adjustDieFor( EnumPlaces pPlaceID ) { mDie.makeResult( pPlaceID.ordinal() ); } public void setPlaceChanger( PlaceChanger pPlaceChanger ) { mPlaceChanger = pPlaceChanger; } public void setMessageUserSink( MessageUserSink messageUserSink ) { this.mMessageUserSink = messageUserSink; } } |