litesoft
@ 947
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 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 |
// This Source Code is in the Public Domain per: http://unlicense.org package org.litesoft.GWT.eventbus.client.nonpublic; import org.litesoft.GWT.eventbus.client.*; import org.litesoft.core.delayed.*; import org.litesoft.logger.*; public abstract class AbstractPeerSupportingEventBus extends EventBus implements PeerSupportingEventBus, EventConstrictor { private IStatePeerSupportingEventBus mStatePeerSupportingEventBus = NullStatePeerSupportingEventBus.INSTANCE; protected AbstractPeerSupportingEventBus( String pForm, int pClientIdNumber, // TimedRunner pTimedRunner, UnexpectedEventPackageHandler pUnexpectedHandler ) { super( pForm, pClientIdNumber, pTimedRunner, pUnexpectedHandler ); } protected void LLdisposing( String pWhy ) { getStatePeerSupportingEventBus().disposing(); super.LLdisposing( pWhy ); } protected void LLdispose( String pWhy ) { IStatePeerSupportingEventBus peer = getStatePeerSupportingEventBus(); mStatePeerSupportingEventBus = NullStatePeerSupportingEventBus.INSTANCE; peer.dispose(); super.LLdispose( pWhy ); } /** * @noinspection NonJREEmulationClassesInClientCode */ protected synchronized void initialize( Logger pLogger, IStatePeerSupportingEventBus pStatePeerSupportingEventBus ) { if ( pLogger != null ) { mLogger = pLogger; } mStatePeerSupportingEventBus = pStatePeerSupportingEventBus; } protected synchronized IStatePeerSupportingEventBus getStatePeerSupportingEventBus() { return mStatePeerSupportingEventBus; } protected IStatePeerSupportingEventBus switchFromSuspendedToRegular() { IStatePeerSupportingEventBus suspended; synchronized ( this ) { suspended = mStatePeerSupportingEventBus; mStatePeerSupportingEventBus = suspended.suspendedToRegular( this, this ); } suspended.dispose(); return mStatePeerSupportingEventBus; } /** * @noinspection NonJREEmulationClassesInClientCode */ protected Logger createLogger() { Logger logger = LoggerFactory.getLogger( getForm() + "EB" ); return PrefixingLogger.decorate( "(" + getClientIdNumber() + ")", logger ); } public String isLocalDistributionFromPeerOK( EventPackage pPackage ) { return null; } protected void LLpublishNonNullNotDisposedExpectingResponse( EventPackage pPackage ) { getStatePeerSupportingEventBus().publishExpectingResponse( pPackage ); } protected void LLsubscribeAndPublish( EventSubscriptionStructure[] pSubscriptions, EventPackage[] pPackages ) { if ( (pSubscriptions.length != 0) || (pPackages.length != 0) ) { getStatePeerSupportingEventBus().subscribeAndPublish( pSubscriptions, pPackages ); } } protected void LLunsubscribe( EventSubscriptionStructure[] pSubscriptions ) { if ( pSubscriptions.length != 0 ) { getStatePeerSupportingEventBus().unsubscribe( pSubscriptions ); } } public void problemFromRemotePeerService( EventPackage pProblem ) { getStatePeerSupportingEventBus().problemFromRemotePeerService( pProblem ); } public boolean propagateFromRemotePeerService( ChannelServicePackage pFromPeer ) { return getStatePeerSupportingEventBus().propagateFromRemotePeerService( pFromPeer ); } public boolean ping() { return getStatePeerSupportingEventBus().ping(); } public String toString() { return getForm() + "EventBus(" + getClientIdNumber() + ")"; } } |