Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEike Stepper2012-06-06 05:15:05 -0400
committerEike Stepper2012-06-06 05:15:05 -0400
commitbeaf88a6d18849a3d00476ca046a111f636ace5a (patch)
treeb4dbc0ddc54963632692f0d0db83877dabd73a57
parente5bc42789a5fa73d5f2c9a2dac4f0d0c177f9b63 (diff)
downloadcdo-beaf88a6d18849a3d00476ca046a111f636ace5a.tar.gz
cdo-beaf88a6d18849a3d00476ca046a111f636ace5a.tar.xz
cdo-beaf88a6d18849a3d00476ca046a111f636ace5a.zip
Update Javadocs
-rw-r--r--plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/admin/package-info.java16
-rw-r--r--plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/revision/CDOIDAndVersion.java56
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/javadoc/index-all.html46
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/common/admin/class-use/CDOAdmin.html2
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/common/admin/class-use/CDOAdminRepository.html2
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/common/admin/package-summary.html7
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/common/admin/package-use.html2
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/common/class-use/CDOCommonRepository.html2
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/common/package-use.html2
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/common/revision/CDOIDAndVersion.html2
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/common/revision/package-summary.html2
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/common/revision/package-use.html10
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/common/util/class-use/CDOTimeProvider.html2
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/common/util/package-use.html2
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/class-use/IQueryHandler.html2
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/class-use/IQueryHandlerProvider.html4
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/class-use/IStore.html2
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/class-use/IStoreAccessor.Raw.html2
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/class-use/IStoreAccessor.html4
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/class-use/IStoreChunkReader.html2
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/db/IDBStore.Props.html8
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/db/IDBStore.html2
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/db/package-summary.html2
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/mongodb/CDOMongoDBUtil.html4
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/mongodb/IMongoDBStore.html4
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/mongodb/IMongoDBStoreAccessor.html4
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/mongodb/package-summary.html6
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/mongodb/package-use.html2
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/CDONet4jServerUtil.html4
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/FailoverAgent.Protocol.html4
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/FailoverAgent.html6
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/FailoverMonitor.AbstractServerProtocolFactory.html5
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/FailoverMonitor.AgentProtocol.Factory.html4
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/FailoverMonitor.AgentProtocol.html6
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/FailoverMonitor.ClientProtocol.Factory.html4
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/FailoverMonitor.ClientProtocol.html6
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/FailoverMonitor.Factory.html4
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/FailoverMonitor.Provider.html4
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/FailoverMonitor.html16
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/class-use/FailoverMonitor.AbstractServerProtocolFactory.html4
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/class-use/FailoverMonitor.Provider.html7
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/package-summary.html24
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/package-use.html16
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/objectivity/IObjectivityStore.html6
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/objectivity/IObjectivityStoreAccessor.html10
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/objectivity/IObjectivityStoreChunkReader.html10
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/objectivity/IObjectivityStoreConfig.html10
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/objectivity/ObjyStoreUtil.html4
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/objectivity/package-summary.html8
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/objectivity/package-use.html6
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/ocl/CDOExtentCreator.Lazy.html4
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/ocl/CDOExtentCreator.html8
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/ocl/CDOExtentMap.html6
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/ocl/OCLExtentCreator.html6
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/ocl/OCLQueryHandler.Factory.html4
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/ocl/OCLQueryHandler.html6
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/ocl/class-use/CDOExtentCreator.html2
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/ocl/class-use/OCLExtentCreator.html4
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/ocl/package-summary.html12
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/ocl/package-use.html8
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/session/class-use/CDOSessionConfigurationFactory.html2
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/javadoc/overview-summary.html2
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/javadoc/serialized-form.html74
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.doc/debug/org.eclipse.emf.cdo.doc.warnings26
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.doc/debug/org.eclipse.net4j.doc.warnings26
-rw-r--r--plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/db/IDBStore.java6
-rw-r--r--plugins/org.eclipse.emf.cdo.server.mongodb/src/org/eclipse/emf/cdo/server/mongodb/CDOMongoDBUtil.java90
-rw-r--r--plugins/org.eclipse.emf.cdo.server.mongodb/src/org/eclipse/emf/cdo/server/mongodb/IMongoDBStore.java58
-rw-r--r--plugins/org.eclipse.emf.cdo.server.mongodb/src/org/eclipse/emf/cdo/server/mongodb/IMongoDBStoreAccessor.java48
-rw-r--r--plugins/org.eclipse.emf.cdo.server.net4j/src/org/eclipse/emf/cdo/server/net4j/CDONet4jServerUtil.java83
-rw-r--r--plugins/org.eclipse.emf.cdo.server.net4j/src/org/eclipse/emf/cdo/server/net4j/FailoverAgent.java576
-rw-r--r--plugins/org.eclipse.emf.cdo.server.net4j/src/org/eclipse/emf/cdo/server/net4j/FailoverMonitor.java846
-rw-r--r--plugins/org.eclipse.emf.cdo.server.objectivity/src/org/eclipse/emf/cdo/server/objectivity/IObjectivityStore.java49
-rw-r--r--plugins/org.eclipse.emf.cdo.server.objectivity/src/org/eclipse/emf/cdo/server/objectivity/IObjectivityStoreAccessor.java64
-rw-r--r--plugins/org.eclipse.emf.cdo.server.objectivity/src/org/eclipse/emf/cdo/server/objectivity/IObjectivityStoreChunkReader.java54
-rw-r--r--plugins/org.eclipse.emf.cdo.server.objectivity/src/org/eclipse/emf/cdo/server/objectivity/IObjectivityStoreConfig.java77
-rw-r--r--plugins/org.eclipse.emf.cdo.server.objectivity/src/org/eclipse/emf/cdo/server/objectivity/ObjyStoreUtil.java69
-rw-r--r--plugins/org.eclipse.emf.cdo.server.ocl/src/org/eclipse/emf/cdo/server/ocl/CDOExtentCreator.java830
-rw-r--r--plugins/org.eclipse.emf.cdo.server.ocl/src/org/eclipse/emf/cdo/server/ocl/CDOExtentMap.java280
-rw-r--r--plugins/org.eclipse.emf.cdo.server.ocl/src/org/eclipse/emf/cdo/server/ocl/OCLExtentCreator.java54
-rw-r--r--plugins/org.eclipse.emf.cdo.server.ocl/src/org/eclipse/emf/cdo/server/ocl/OCLQueryHandler.java4
-rw-r--r--plugins/org.eclipse.net4j.doc/build.xml3
-rw-r--r--plugins/org.eclipse.net4j.doc/javadoc/index-all.html59
-rw-r--r--plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/acceptor/doc-files/acceptors.pngbin0 -> 23407 bytes
-rw-r--r--plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/acceptor/package-summary.html2
-rw-r--r--plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/buffer/class-use/BufferInputStream.html3
-rw-r--r--plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/buffer/class-use/BufferOutputStream.html3
-rw-r--r--plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/buffer/class-use/IBuffer.html3
-rw-r--r--plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/buffer/class-use/IBufferHandler.html16
-rw-r--r--plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/buffer/doc-files/buffers.pngbin0 -> 26504 bytes
-rw-r--r--plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/buffer/package-summary.html2
-rw-r--r--plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/buffer/package-use.html3
-rw-r--r--plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/channel/class-use/IChannel.html5
-rw-r--r--plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/channel/doc-files/channels.pngbin0 -> 28321 bytes
-rw-r--r--plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/channel/package-summary.html2
-rw-r--r--plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/channel/package-use.html3
-rw-r--r--plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/class-use/ILocationAware.html16
-rw-r--r--plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/connector/class-use/IConnector.html3
-rw-r--r--plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/connector/doc-files/connectors.pngbin0 -> 27029 bytes
-rw-r--r--plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/connector/package-summary.html2
-rw-r--r--plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/connector/package-use.html3
-rw-r--r--plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/doc-files/architecture.pngbin0 -> 23055 bytes
-rw-r--r--plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/jvm/IJVMChannel.html4
-rw-r--r--plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/jvm/package-summary.html2
-rw-r--r--plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/jvm/package-use.html2
-rw-r--r--plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/package-summary.html22
-rw-r--r--plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/package-use.html3
-rw-r--r--plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/protocol/IProtocol.html4
-rw-r--r--plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/protocol/IProtocolProvider.html4
-rw-r--r--plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/protocol/class-use/IProtocol.html12
-rw-r--r--plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/protocol/doc-files/protocols.pngbin0 -> 25325 bytes
-rw-r--r--plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/protocol/package-summary.html6
-rw-r--r--plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/protocol/package-use.html17
-rw-r--r--plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/ISignalProtocol.html4
-rw-r--r--plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/Indication.html4
-rw-r--r--plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/IndicationWithMonitoring.html4
-rw-r--r--plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/IndicationWithResponse.html4
-rw-r--r--plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/RemoteException.html4
-rw-r--r--plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/Request.html4
-rw-r--r--plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/RequestWithConfirmation.html4
-rw-r--r--plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/RequestWithMonitoring.html4
-rw-r--r--plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/Signal.html4
-rw-r--r--plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/SignalActor.html4
-rw-r--r--plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/SignalCounter.html23
-rw-r--r--plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/SignalFinishedEvent.html5
-rw-r--r--plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/SignalProtocol.TimeoutChangedEvent.html5
-rw-r--r--plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/SignalProtocol.html11
-rw-r--r--plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/SignalReactor.html4
-rw-r--r--plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/SignalScheduledEvent.html5
-rw-r--r--plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/class-use/ISignalProtocol.html24
-rw-r--r--plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/class-use/IndicationWithResponse.html5
-rw-r--r--plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/class-use/RemoteException.html3
-rw-r--r--plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/class-use/RequestWithConfirmation.html5
-rw-r--r--plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/class-use/Signal.html19
-rw-r--r--plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/class-use/SignalActor.html9
-rw-r--r--plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/class-use/SignalProtocol.html8
-rw-r--r--plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/class-use/SignalReactor.html9
-rw-r--r--plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/doc-files/signals.pngbin0 -> 32223 bytes
-rw-r--r--plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.Server.Factory.html4
-rw-r--r--plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.Server.TimerInjector.html5
-rw-r--r--plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.Server.html9
-rw-r--r--plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.html7
-rw-r--r--plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/heartbeat/package-summary.html10
-rw-r--r--plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/package-summary.html41
-rw-r--r--plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/package-use.html29
-rw-r--r--plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/wrapping/GZIPStreamWrapperInjector.html4
-rw-r--r--plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/wrapping/StreamWrapperInjector.html5
-rw-r--r--plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/wrapping/XORStreamWrapperInjector.html4
-rw-r--r--plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/wrapping/class-use/StreamWrapperInjector.html4
-rw-r--r--plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/wrapping/package-summary.html7
-rw-r--r--plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/wrapping/package-use.html3
-rw-r--r--plugins/org.eclipse.net4j.doc/javadoc/overview-summary.html3
-rw-r--r--plugins/org.eclipse.net4j.jvm/src/org/eclipse/net4j/jvm/IJVMChannel.java46
-rw-r--r--plugins/org.eclipse.net4j/src/org/eclipse/net4j/acceptor/doc-files/acceptors.pngbin0 -> 23407 bytes
-rw-r--r--plugins/org.eclipse.net4j/src/org/eclipse/net4j/acceptor/package-info.java33
-rw-r--r--plugins/org.eclipse.net4j/src/org/eclipse/net4j/buffer/doc-files/buffers.pngbin0 -> 26504 bytes
-rw-r--r--plugins/org.eclipse.net4j/src/org/eclipse/net4j/buffer/package-info.java33
-rw-r--r--plugins/org.eclipse.net4j/src/org/eclipse/net4j/channel/doc-files/channels.pngbin0 -> 28321 bytes
-rw-r--r--plugins/org.eclipse.net4j/src/org/eclipse/net4j/channel/package-info.java33
-rw-r--r--plugins/org.eclipse.net4j/src/org/eclipse/net4j/connector/doc-files/connectors.pngbin0 -> 27029 bytes
-rw-r--r--plugins/org.eclipse.net4j/src/org/eclipse/net4j/connector/package-info.java33
-rw-r--r--plugins/org.eclipse.net4j/src/org/eclipse/net4j/doc-files/architecture.pngbin0 -> 23055 bytes
-rw-r--r--plugins/org.eclipse.net4j/src/org/eclipse/net4j/package-info.java63
-rw-r--r--plugins/org.eclipse.net4j/src/org/eclipse/net4j/protocol/IProtocol.java84
-rw-r--r--plugins/org.eclipse.net4j/src/org/eclipse/net4j/protocol/IProtocolProvider.java46
-rw-r--r--plugins/org.eclipse.net4j/src/org/eclipse/net4j/protocol/doc-files/protocols.pngbin0 -> 25325 bytes
-rw-r--r--plugins/org.eclipse.net4j/src/org/eclipse/net4j/protocol/package-info.java33
-rw-r--r--plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/ISignalProtocol.java88
-rw-r--r--plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/Indication.java120
-rw-r--r--plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/IndicationWithMonitoring.java346
-rw-r--r--plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/IndicationWithResponse.java214
-rw-r--r--plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/RemoteException.java150
-rw-r--r--plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/Request.java136
-rw-r--r--plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/RequestWithConfirmation.java284
-rw-r--r--plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/RequestWithMonitoring.java606
-rw-r--r--plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/Signal.java708
-rw-r--r--plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/SignalActor.java136
-rw-r--r--plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/SignalCounter.java123
-rw-r--r--plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/SignalFinishedEvent.java132
-rw-r--r--plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/SignalProtocol.java1282
-rw-r--r--plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/SignalReactor.java108
-rw-r--r--plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/SignalScheduledEvent.java104
-rw-r--r--plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/doc-files/signals.pngbin0 -> 32223 bytes
-rw-r--r--plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.java715
-rw-r--r--plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/package-info.java34
-rw-r--r--plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/wrapping/GZIPStreamWrapperInjector.java54
-rw-r--r--plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/wrapping/StreamWrapperInjector.java155
-rw-r--r--plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/wrapping/XORStreamWrapperInjector.java50
188 files changed, 5355 insertions, 4855 deletions
diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/admin/package-info.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/admin/package-info.java
new file mode 100644
index 0000000000..dc22eef8c3
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/admin/package-info.java
@@ -0,0 +1,16 @@
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+
+/**
+ * Common concepts for the protocol to administer CDO repositories remotely.
+ */
+package org.eclipse.emf.cdo.common.admin;
+
diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/revision/CDOIDAndVersion.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/revision/CDOIDAndVersion.java
index 14d6b87d4b..0acc5885a2 100644
--- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/revision/CDOIDAndVersion.java
+++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/revision/CDOIDAndVersion.java
@@ -1,28 +1,28 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
- */
-package org.eclipse.emf.cdo.common.revision;
-
-import org.eclipse.emf.cdo.common.id.CDOID;
-
-/**
- * An {@link CDOID ID} / version pair.
- *
- * @author Eike Stepper
- * @since 4.0
- * @noextend This interface is not intended to be extended by clients.
- * @noimplement This interface is not intended to be implemented by clients.
- */
-public interface CDOIDAndVersion
-{
- public CDOID getID();
-
- public int getVersion();
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.common.revision;
+
+import org.eclipse.emf.cdo.common.id.CDOID;
+
+/**
+ * An {@link CDOID ID} / version number pair.
+ *
+ * @author Eike Stepper
+ * @since 4.0
+ * @noextend This interface is not intended to be extended by clients.
+ * @noimplement This interface is not intended to be implemented by clients.
+ */
+public interface CDOIDAndVersion
+{
+ public CDOID getID();
+
+ public int getVersion();
+}
diff --git a/plugins/org.eclipse.emf.cdo.doc/javadoc/index-all.html b/plugins/org.eclipse.emf.cdo.doc/javadoc/index-all.html
index f0a8b83475..f6d13762e3 100644
--- a/plugins/org.eclipse.emf.cdo.doc/javadoc/index-all.html
+++ b/plugins/org.eclipse.emf.cdo.doc/javadoc/index-all.html
@@ -912,13 +912,13 @@ Constructor for exception org.eclipse.emf.cdo.common.util.<A HREF="./org/eclipse
<DT><A HREF="./org/eclipse/emf/cdo/common/util/CDOException.html#CDOException(java.lang.String, java.lang.Throwable)"><B>CDOException(String, Throwable)</B></A> -
Constructor for exception org.eclipse.emf.cdo.common.util.<A HREF="./org/eclipse/emf/cdo/common/util/CDOException.html" title="class in org.eclipse.emf.cdo.common.util">CDOException</A>
<DD>&nbsp;
-<DT><A HREF="./org/eclipse/emf/cdo/server/ocl/CDOExtentCreator.html" title="class in org.eclipse.emf.cdo.server.ocl"><B>CDOExtentCreator</B></A> - Class in <A HREF="./org/eclipse/emf/cdo/server/ocl/package-summary.html">org.eclipse.emf.cdo.server.ocl</A><DD>&nbsp;<DT><A HREF="./org/eclipse/emf/cdo/server/ocl/CDOExtentCreator.html#CDOExtentCreator(org.eclipse.emf.cdo.view.CDOView)"><B>CDOExtentCreator(CDOView)</B></A> -
+<DT><A HREF="./org/eclipse/emf/cdo/server/ocl/CDOExtentCreator.html" title="class in org.eclipse.emf.cdo.server.ocl"><B>CDOExtentCreator</B></A> - Class in <A HREF="./org/eclipse/emf/cdo/server/ocl/package-summary.html">org.eclipse.emf.cdo.server.ocl</A><DD>An OCL <A HREF="./org/eclipse/emf/cdo/server/ocl/OCLExtentCreator.html" title="interface in org.eclipse.emf.cdo.server.ocl"><CODE>extent creator</CODE></A> implementation for CDO.<DT><A HREF="./org/eclipse/emf/cdo/server/ocl/CDOExtentCreator.html#CDOExtentCreator(org.eclipse.emf.cdo.view.CDOView)"><B>CDOExtentCreator(CDOView)</B></A> -
Constructor for class org.eclipse.emf.cdo.server.ocl.<A HREF="./org/eclipse/emf/cdo/server/ocl/CDOExtentCreator.html" title="class in org.eclipse.emf.cdo.server.ocl">CDOExtentCreator</A>
<DD>&nbsp;
-<DT><A HREF="./org/eclipse/emf/cdo/server/ocl/CDOExtentCreator.Lazy.html" title="class in org.eclipse.emf.cdo.server.ocl"><B>CDOExtentCreator.Lazy</B></A> - Class in <A HREF="./org/eclipse/emf/cdo/server/ocl/package-summary.html">org.eclipse.emf.cdo.server.ocl</A><DD>&nbsp;<DT><A HREF="./org/eclipse/emf/cdo/server/ocl/CDOExtentCreator.Lazy.html#CDOExtentCreator.Lazy(org.eclipse.emf.cdo.view.CDOView)"><B>CDOExtentCreator.Lazy(CDOView)</B></A> -
+<DT><A HREF="./org/eclipse/emf/cdo/server/ocl/CDOExtentCreator.Lazy.html" title="class in org.eclipse.emf.cdo.server.ocl"><B>CDOExtentCreator.Lazy</B></A> - Class in <A HREF="./org/eclipse/emf/cdo/server/ocl/package-summary.html">org.eclipse.emf.cdo.server.ocl</A><DD>An <A HREF="./org/eclipse/emf/cdo/server/ocl/CDOExtentCreator.html" title="class in org.eclipse.emf.cdo.server.ocl"><CODE>extent creator</CODE></A> that creates extent sets which support a lazy populating iterator.<DT><A HREF="./org/eclipse/emf/cdo/server/ocl/CDOExtentCreator.Lazy.html#CDOExtentCreator.Lazy(org.eclipse.emf.cdo.view.CDOView)"><B>CDOExtentCreator.Lazy(CDOView)</B></A> -
Constructor for class org.eclipse.emf.cdo.server.ocl.<A HREF="./org/eclipse/emf/cdo/server/ocl/CDOExtentCreator.Lazy.html" title="class in org.eclipse.emf.cdo.server.ocl">CDOExtentCreator.Lazy</A>
<DD>&nbsp;
-<DT><A HREF="./org/eclipse/emf/cdo/server/ocl/CDOExtentMap.html" title="class in org.eclipse.emf.cdo.server.ocl"><B>CDOExtentMap</B></A> - Class in <A HREF="./org/eclipse/emf/cdo/server/ocl/package-summary.html">org.eclipse.emf.cdo.server.ocl</A><DD>&nbsp;<DT><A HREF="./org/eclipse/emf/cdo/server/ocl/CDOExtentMap.html#CDOExtentMap(org.eclipse.emf.cdo.server.ocl.OCLExtentCreator)"><B>CDOExtentMap(OCLExtentCreator)</B></A> -
+<DT><A HREF="./org/eclipse/emf/cdo/server/ocl/CDOExtentMap.html" title="class in org.eclipse.emf.cdo.server.ocl"><B>CDOExtentMap</B></A> - Class in <A HREF="./org/eclipse/emf/cdo/server/ocl/package-summary.html">org.eclipse.emf.cdo.server.ocl</A><DD>Maps <A HREF="http://download.eclipse.org/modeling/emf/emf/javadoc/2.7.0/org/eclipse/emf/ecore/EClass.html?is-external=true" title="class or interface in org.eclipse.emf.ecore"><CODE>classes</CODE></A> to their extents.<DT><A HREF="./org/eclipse/emf/cdo/server/ocl/CDOExtentMap.html#CDOExtentMap(org.eclipse.emf.cdo.server.ocl.OCLExtentCreator)"><B>CDOExtentMap(OCLExtentCreator)</B></A> -
Constructor for class org.eclipse.emf.cdo.server.ocl.<A HREF="./org/eclipse/emf/cdo/server/ocl/CDOExtentMap.html" title="class in org.eclipse.emf.cdo.server.ocl">CDOExtentMap</A>
<DD>&nbsp;
<DT><A HREF="./org/eclipse/emf/cdo/util/CDOFactory.html" title="interface in org.eclipse.emf.cdo.util"><B>CDOFactory</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/util/package-summary.html">org.eclipse.emf.cdo.util</A><DD>Creates CDO <A HREF="./org/eclipse/emf/cdo/CDOObject.html" title="interface in org.eclipse.emf.cdo"><CODE>objects</CODE></A>.<DT><A HREF="./org/eclipse/emf/cdo/view/CDOFeatureAnalyzer.html" title="interface in org.eclipse.emf.cdo.view"><B>CDOFeatureAnalyzer</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/view/package-summary.html">org.eclipse.emf.cdo.view</A><DD>A call-back interface that is called by a <A HREF="./org/eclipse/emf/cdo/view/CDOView.html" title="interface in org.eclipse.emf.cdo.view"><CODE>view</CODE></A> on each model read access.<DT><A HREF="./org/eclipse/emf/cdo/common/revision/delta/CDOFeatureDelta.html" title="interface in org.eclipse.emf.cdo.common.revision.delta"><B>CDOFeatureDelta</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/common/revision/delta/package-summary.html">org.eclipse.emf.cdo.common.revision.delta</A><DD>Represents a change delta between two values of a single <A HREF="http://download.eclipse.org/modeling/emf/emf/javadoc/2.7.0/org/eclipse/emf/ecore/EStructuralFeature.html?is-external=true" title="class or interface in org.eclipse.emf.ecore"><CODE>feature</CODE></A>.<DT><A HREF="./org/eclipse/emf/cdo/common/revision/delta/CDOFeatureDelta.Type.html" title="enum in org.eclipse.emf.cdo.common.revision.delta"><B>CDOFeatureDelta.Type</B></A> - Enum in <A HREF="./org/eclipse/emf/cdo/common/revision/delta/package-summary.html">org.eclipse.emf.cdo.common.revision.delta</A><DD>Enumerates the possible types of <A HREF="./org/eclipse/emf/cdo/common/revision/delta/CDOFeatureDelta.html" title="interface in org.eclipse.emf.cdo.common.revision.delta"><CODE>feature deltas</CODE></A>.<DT><A HREF="./org/eclipse/emf/cdo/common/revision/delta/CDOFeatureDeltaVisitor.html" title="interface in org.eclipse.emf.cdo.common.revision.delta"><B>CDOFeatureDeltaVisitor</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/common/revision/delta/package-summary.html">org.eclipse.emf.cdo.common.revision.delta</A><DD>Visits all <A HREF="./org/eclipse/emf/cdo/common/revision/delta/CDOFeatureDelta.html" title="interface in org.eclipse.emf.cdo.common.revision.delta"><CODE>feature deltas</CODE></A> of a <A HREF="./org/eclipse/emf/cdo/common/revision/delta/CDORevisionDelta.html" title="interface in org.eclipse.emf.cdo.common.revision.delta"><CODE>revision delta</CODE></A>.<DT><A HREF="./org/eclipse/emf/cdo/common/util/CDOFetchRule.html" title="class in org.eclipse.emf.cdo.common.util"><B>CDOFetchRule</B></A> - Class in <A HREF="./org/eclipse/emf/cdo/common/util/package-summary.html">org.eclipse.emf.cdo.common.util</A><DD>Represents a subset of the <A HREF="http://download.eclipse.org/modeling/emf/emf/javadoc/2.7.0/org/eclipse/emf/ecore/EStructuralFeature.html?is-external=true" title="class or interface in org.eclipse.emf.ecore"><CODE>features</CODE></A> of a <A HREF="http://download.eclipse.org/modeling/emf/emf/javadoc/2.7.0/org/eclipse/emf/ecore/EClass.html?is-external=true" title="class or interface in org.eclipse.emf.ecore"><CODE>class</CODE></A>.<DT><A HREF="./org/eclipse/emf/cdo/common/util/CDOFetchRule.html#CDOFetchRule(org.eclipse.emf.ecore.EClass)"><B>CDOFetchRule(EClass)</B></A> -
@@ -944,7 +944,7 @@ Method in interface org.eclipse.emf.cdo.common.id.<A HREF="./org/eclipse/emf/cdo
<DT><A HREF="./org/eclipse/emf/internal/cdo/CDOObjectImpl.html#cdoID()"><B>cdoID()</B></A> -
Method in class org.eclipse.emf.internal.cdo.<A HREF="./org/eclipse/emf/internal/cdo/CDOObjectImpl.html" title="class in org.eclipse.emf.internal.cdo">CDOObjectImpl</A>
<DD>&nbsp;
-<DT><A HREF="./org/eclipse/emf/cdo/common/id/CDOID.ObjectType.html" title="enum in org.eclipse.emf.cdo.common.id"><B>CDOID.ObjectType</B></A> - Enum in <A HREF="./org/eclipse/emf/cdo/common/id/package-summary.html">org.eclipse.emf.cdo.common.id</A><DD>Enumerates the possible <b>sub</b> types of CDO <A HREF="./org/eclipse/emf/cdo/common/id/CDOID.html" title="interface in org.eclipse.emf.cdo.common.id"><CODE>IDs</CODE></A> with the main type <A HREF="./org/eclipse/emf/cdo/common/id/CDOID.Type.html#OBJECT"><CODE>OBJECT</CODE></A>.<DT><A HREF="./org/eclipse/emf/cdo/common/id/CDOID.Type.html" title="enum in org.eclipse.emf.cdo.common.id"><B>CDOID.Type</B></A> - Enum in <A HREF="./org/eclipse/emf/cdo/common/id/package-summary.html">org.eclipse.emf.cdo.common.id</A><DD>Enumerates the possible types of CDO <A HREF="./org/eclipse/emf/cdo/common/id/CDOID.html" title="interface in org.eclipse.emf.cdo.common.id"><CODE>IDs</CODE></A>.<DT><A HREF="./org/eclipse/emf/cdo/common/revision/CDOIDAndBranch.html" title="interface in org.eclipse.emf.cdo.common.revision"><B>CDOIDAndBranch</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/common/revision/package-summary.html">org.eclipse.emf.cdo.common.revision</A><DD>An <A HREF="./org/eclipse/emf/cdo/common/id/CDOID.html" title="interface in org.eclipse.emf.cdo.common.id"><CODE>ID</CODE></A> / <A HREF="./org/eclipse/emf/cdo/common/branch/CDOBranch.html" title="interface in org.eclipse.emf.cdo.common.branch"><CODE>branch</CODE></A> pair.<DT><A HREF="./org/eclipse/emf/cdo/common/revision/CDOIDAndVersion.html" title="interface in org.eclipse.emf.cdo.common.revision"><B>CDOIDAndVersion</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/common/revision/package-summary.html">org.eclipse.emf.cdo.common.revision</A><DD>An <A HREF="./org/eclipse/emf/cdo/common/id/CDOID.html" title="interface in org.eclipse.emf.cdo.common.id"><CODE>ID</CODE></A> / version pair.<DT><A HREF="./org/eclipse/emf/cdo/common/id/CDOIDExternal.html" title="interface in org.eclipse.emf.cdo.common.id"><B>CDOIDExternal</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/common/id/package-summary.html">org.eclipse.emf.cdo.common.id</A><DD>The <A HREF="./org/eclipse/emf/cdo/common/id/CDOID.html" title="interface in org.eclipse.emf.cdo.common.id"><CODE>ID</CODE></A> of a CDO object that is external to a CDO <A HREF="./org/eclipse/emf/cdo/common/CDOCommonRepository.html" title="interface in org.eclipse.emf.cdo.common"><CODE>repository</CODE></A>.<DT><A HREF="./org/eclipse/emf/cdo/common/id/CDOIDGenerator.html" title="interface in org.eclipse.emf.cdo.common.id"><B>CDOIDGenerator</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/common/id/package-summary.html">org.eclipse.emf.cdo.common.id</A><DD>Generates <A HREF="./org/eclipse/emf/cdo/common/id/CDOID.html" title="interface in org.eclipse.emf.cdo.common.id"><CODE>IDs</CODE></A>.<DT><A HREF="./org/eclipse/emf/cdo/common/id/CDOIDObject.html" title="interface in org.eclipse.emf.cdo.common.id"><B>CDOIDObject</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/common/id/package-summary.html">org.eclipse.emf.cdo.common.id</A><DD>The <A HREF="./org/eclipse/emf/cdo/common/id/CDOID.html" title="interface in org.eclipse.emf.cdo.common.id"><CODE>ID</CODE></A> of a CDO object that is persistent in a CDO <A HREF="./org/eclipse/emf/cdo/common/CDOCommonRepository.html" title="interface in org.eclipse.emf.cdo.common"><CODE>repository</CODE></A>.<DT><A HREF="./org/eclipse/emf/cdo/common/id/CDOIDProvider.html" title="interface in org.eclipse.emf.cdo.common.id"><B>CDOIDProvider</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/common/id/package-summary.html">org.eclipse.emf.cdo.common.id</A><DD>Provides the <A HREF="./org/eclipse/emf/cdo/common/id/CDOID.html" title="interface in org.eclipse.emf.cdo.common.id"><CODE>IDs</CODE></A> of passed objects.<DT><A HREF="./org/eclipse/emf/cdo/common/id/CDOIDReference.html" title="class in org.eclipse.emf.cdo.common.id"><B>CDOIDReference</B></A> - Class in <A HREF="./org/eclipse/emf/cdo/common/id/package-summary.html">org.eclipse.emf.cdo.common.id</A><DD>Represents a <A HREF="./org/eclipse/emf/cdo/common/id/CDOID.html" title="interface in org.eclipse.emf.cdo.common.id"><CODE>CDOID</CODE></A> typed reference from one object to another object.<DT><A HREF="./org/eclipse/emf/cdo/common/id/CDOIDReference.html#CDOIDReference(org.eclipse.emf.cdo.common.id.CDOID, org.eclipse.emf.cdo.common.id.CDOID, org.eclipse.emf.ecore.EStructuralFeature, int)"><B>CDOIDReference(CDOID, CDOID, EStructuralFeature, int)</B></A> -
+<DT><A HREF="./org/eclipse/emf/cdo/common/id/CDOID.ObjectType.html" title="enum in org.eclipse.emf.cdo.common.id"><B>CDOID.ObjectType</B></A> - Enum in <A HREF="./org/eclipse/emf/cdo/common/id/package-summary.html">org.eclipse.emf.cdo.common.id</A><DD>Enumerates the possible <b>sub</b> types of CDO <A HREF="./org/eclipse/emf/cdo/common/id/CDOID.html" title="interface in org.eclipse.emf.cdo.common.id"><CODE>IDs</CODE></A> with the main type <A HREF="./org/eclipse/emf/cdo/common/id/CDOID.Type.html#OBJECT"><CODE>OBJECT</CODE></A>.<DT><A HREF="./org/eclipse/emf/cdo/common/id/CDOID.Type.html" title="enum in org.eclipse.emf.cdo.common.id"><B>CDOID.Type</B></A> - Enum in <A HREF="./org/eclipse/emf/cdo/common/id/package-summary.html">org.eclipse.emf.cdo.common.id</A><DD>Enumerates the possible types of CDO <A HREF="./org/eclipse/emf/cdo/common/id/CDOID.html" title="interface in org.eclipse.emf.cdo.common.id"><CODE>IDs</CODE></A>.<DT><A HREF="./org/eclipse/emf/cdo/common/revision/CDOIDAndBranch.html" title="interface in org.eclipse.emf.cdo.common.revision"><B>CDOIDAndBranch</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/common/revision/package-summary.html">org.eclipse.emf.cdo.common.revision</A><DD>An <A HREF="./org/eclipse/emf/cdo/common/id/CDOID.html" title="interface in org.eclipse.emf.cdo.common.id"><CODE>ID</CODE></A> / <A HREF="./org/eclipse/emf/cdo/common/branch/CDOBranch.html" title="interface in org.eclipse.emf.cdo.common.branch"><CODE>branch</CODE></A> pair.<DT><A HREF="./org/eclipse/emf/cdo/common/revision/CDOIDAndVersion.html" title="interface in org.eclipse.emf.cdo.common.revision"><B>CDOIDAndVersion</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/common/revision/package-summary.html">org.eclipse.emf.cdo.common.revision</A><DD>An <A HREF="./org/eclipse/emf/cdo/common/id/CDOID.html" title="interface in org.eclipse.emf.cdo.common.id"><CODE>ID</CODE></A> / version number pair.<DT><A HREF="./org/eclipse/emf/cdo/common/id/CDOIDExternal.html" title="interface in org.eclipse.emf.cdo.common.id"><B>CDOIDExternal</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/common/id/package-summary.html">org.eclipse.emf.cdo.common.id</A><DD>The <A HREF="./org/eclipse/emf/cdo/common/id/CDOID.html" title="interface in org.eclipse.emf.cdo.common.id"><CODE>ID</CODE></A> of a CDO object that is external to a CDO <A HREF="./org/eclipse/emf/cdo/common/CDOCommonRepository.html" title="interface in org.eclipse.emf.cdo.common"><CODE>repository</CODE></A>.<DT><A HREF="./org/eclipse/emf/cdo/common/id/CDOIDGenerator.html" title="interface in org.eclipse.emf.cdo.common.id"><B>CDOIDGenerator</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/common/id/package-summary.html">org.eclipse.emf.cdo.common.id</A><DD>Generates <A HREF="./org/eclipse/emf/cdo/common/id/CDOID.html" title="interface in org.eclipse.emf.cdo.common.id"><CODE>IDs</CODE></A>.<DT><A HREF="./org/eclipse/emf/cdo/common/id/CDOIDObject.html" title="interface in org.eclipse.emf.cdo.common.id"><B>CDOIDObject</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/common/id/package-summary.html">org.eclipse.emf.cdo.common.id</A><DD>The <A HREF="./org/eclipse/emf/cdo/common/id/CDOID.html" title="interface in org.eclipse.emf.cdo.common.id"><CODE>ID</CODE></A> of a CDO object that is persistent in a CDO <A HREF="./org/eclipse/emf/cdo/common/CDOCommonRepository.html" title="interface in org.eclipse.emf.cdo.common"><CODE>repository</CODE></A>.<DT><A HREF="./org/eclipse/emf/cdo/common/id/CDOIDProvider.html" title="interface in org.eclipse.emf.cdo.common.id"><B>CDOIDProvider</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/common/id/package-summary.html">org.eclipse.emf.cdo.common.id</A><DD>Provides the <A HREF="./org/eclipse/emf/cdo/common/id/CDOID.html" title="interface in org.eclipse.emf.cdo.common.id"><CODE>IDs</CODE></A> of passed objects.<DT><A HREF="./org/eclipse/emf/cdo/common/id/CDOIDReference.html" title="class in org.eclipse.emf.cdo.common.id"><B>CDOIDReference</B></A> - Class in <A HREF="./org/eclipse/emf/cdo/common/id/package-summary.html">org.eclipse.emf.cdo.common.id</A><DD>Represents a <A HREF="./org/eclipse/emf/cdo/common/id/CDOID.html" title="interface in org.eclipse.emf.cdo.common.id"><CODE>CDOID</CODE></A> typed reference from one object to another object.<DT><A HREF="./org/eclipse/emf/cdo/common/id/CDOIDReference.html#CDOIDReference(org.eclipse.emf.cdo.common.id.CDOID, org.eclipse.emf.cdo.common.id.CDOID, org.eclipse.emf.ecore.EStructuralFeature, int)"><B>CDOIDReference(CDOID, CDOID, EStructuralFeature, int)</B></A> -
Constructor for class org.eclipse.emf.cdo.common.id.<A HREF="./org/eclipse/emf/cdo/common/id/CDOIDReference.html" title="class in org.eclipse.emf.cdo.common.id">CDOIDReference</A>
<DD>&nbsp;
<DT><A HREF="./org/eclipse/emf/cdo/common/id/CDOIDReference.html#CDOIDReference(org.eclipse.emf.cdo.common.protocol.CDODataInput)"><B>CDOIDReference(CDODataInput)</B></A> -
@@ -1112,8 +1112,8 @@ Constructor for exception org.eclipse.emf.cdo.transaction.<A HREF="./org/eclipse
<A HREF="./org/eclipse/emf/cdo/transaction/CDOTransactionHandler.html" title="interface in org.eclipse.emf.cdo.transaction"><CODE>transaction handler</CODE></A>.<DT><A HREF="./org/eclipse/emf/cdo/util/CDOModificationTrackingAdapter.html#CDOModificationTrackingAdapter(org.eclipse.emf.cdo.eresource.CDOResource)"><B>CDOModificationTrackingAdapter(CDOResource)</B></A> -
Constructor for class org.eclipse.emf.cdo.util.<A HREF="./org/eclipse/emf/cdo/util/CDOModificationTrackingAdapter.html" title="class in org.eclipse.emf.cdo.util">CDOModificationTrackingAdapter</A>
<DD>&nbsp;
-<DT><A HREF="./org/eclipse/emf/cdo/server/mongodb/CDOMongoDBUtil.html" title="class in org.eclipse.emf.cdo.server.mongodb"><B>CDOMongoDBUtil</B></A> - Class in <A HREF="./org/eclipse/emf/cdo/server/mongodb/package-summary.html">org.eclipse.emf.cdo.server.mongodb</A><DD>&nbsp;<DT><A HREF="./org/eclipse/emf/cdo/common/revision/delta/CDOMoveFeatureDelta.html" title="interface in org.eclipse.emf.cdo.common.revision.delta"><B>CDOMoveFeatureDelta</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/common/revision/delta/package-summary.html">org.eclipse.emf.cdo.common.revision.delta</A><DD>A <A HREF="./org/eclipse/emf/cdo/common/revision/delta/CDOFeatureDelta.html" title="interface in org.eclipse.emf.cdo.common.revision.delta"><CODE>feature delta</CODE></A> that represents a move of one element of a many-valued
- <A HREF="http://download.eclipse.org/modeling/emf/emf/javadoc/2.7.0/org/eclipse/emf/ecore/EStructuralFeature.html?is-external=true" title="class or interface in org.eclipse.emf.ecore"><CODE>feature</CODE></A> to a different list position.<DT><A HREF="./org/eclipse/emf/cdo/server/net4j/CDONet4jServerUtil.html" title="class in org.eclipse.emf.cdo.server.net4j"><B>CDONet4jServerUtil</B></A> - Class in <A HREF="./org/eclipse/emf/cdo/server/net4j/package-summary.html">org.eclipse.emf.cdo.server.net4j</A><DD>&nbsp;<DT><A HREF="./org/eclipse/emf/cdo/net4j/CDONet4jSession.html" title="interface in org.eclipse.emf.cdo.net4j"><B>CDONet4jSession</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/net4j/package-summary.html">org.eclipse.emf.cdo.net4j</A><DD>A Net4j-specific CDO <A HREF="./org/eclipse/emf/cdo/net4j/CDOSession.html" title="interface in org.eclipse.emf.cdo.net4j"><CODE>session</CODE></A>.<DT><A HREF="./org/eclipse/emf/cdo/net4j/CDONet4jSession.Options.html" title="interface in org.eclipse.emf.cdo.net4j"><B>CDONet4jSession.Options</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/net4j/package-summary.html">org.eclipse.emf.cdo.net4j</A><DD>Encapsulates a set of notifying <A HREF="./org/eclipse/emf/cdo/net4j/CDONet4jSession.html" title="interface in org.eclipse.emf.cdo.net4j"><CODE>session</CODE></A> configuration options.<DT><A HREF="./org/eclipse/emf/cdo/net4j/CDONet4jSessionConfiguration.html" title="interface in org.eclipse.emf.cdo.net4j"><B>CDONet4jSessionConfiguration</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/net4j/package-summary.html">org.eclipse.emf.cdo.net4j</A><DD>Configures and opens new Net4j-specific CDO <A HREF="./org/eclipse/emf/cdo/net4j/CDOSession.html" title="interface in org.eclipse.emf.cdo.net4j"><CODE>sessions</CODE></A>.<DT><A HREF="./org/eclipse/emf/cdo/net4j/CDONet4jUtil.html" title="class in org.eclipse.emf.cdo.net4j"><B>CDONet4jUtil</B></A> - Class in <A HREF="./org/eclipse/emf/cdo/net4j/package-summary.html">org.eclipse.emf.cdo.net4j</A><DD>Various static methods that may help with Net4j-specific CDO <A HREF="./org/eclipse/emf/cdo/net4j/CDONet4jSession.html" title="interface in org.eclipse.emf.cdo.net4j"><CODE>sessions</CODE></A>.<DT><A HREF="./org/eclipse/emf/cdo/net4j/CDONet4jViewProvider.html" title="class in org.eclipse.emf.cdo.net4j"><B>CDONet4jViewProvider</B></A> - Class in <A HREF="./org/eclipse/emf/cdo/net4j/package-summary.html">org.eclipse.emf.cdo.net4j</A><DD>A <A HREF="./org/eclipse/emf/cdo/view/CDOViewProvider.html" title="interface in org.eclipse.emf.cdo.view"><CODE>view provider</CODE></A> that uses Net4j-specific CDO <A HREF="./org/eclipse/emf/cdo/net4j/CDONet4jSession.html" title="interface in org.eclipse.emf.cdo.net4j"><CODE>sessions</CODE></A> to open views.<DT><A HREF="./org/eclipse/emf/cdo/net4j/CDONet4jViewProvider.html#CDONet4jViewProvider(java.lang.String, int)"><B>CDONet4jViewProvider(String, int)</B></A> -
+<DT><A HREF="./org/eclipse/emf/cdo/server/mongodb/CDOMongoDBUtil.html" title="class in org.eclipse.emf.cdo.server.mongodb"><B>CDOMongoDBUtil</B></A> - Class in <A HREF="./org/eclipse/emf/cdo/server/mongodb/package-summary.html">org.eclipse.emf.cdo.server.mongodb</A><DD>Various static methods that may help in setting up and dealing with <A HREF="./org/eclipse/emf/cdo/server/mongodb/IMongoDBStore.html" title="interface in org.eclipse.emf.cdo.server.mongodb"><CODE>MongoDB stores</CODE></A>.<DT><A HREF="./org/eclipse/emf/cdo/common/revision/delta/CDOMoveFeatureDelta.html" title="interface in org.eclipse.emf.cdo.common.revision.delta"><B>CDOMoveFeatureDelta</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/common/revision/delta/package-summary.html">org.eclipse.emf.cdo.common.revision.delta</A><DD>A <A HREF="./org/eclipse/emf/cdo/common/revision/delta/CDOFeatureDelta.html" title="interface in org.eclipse.emf.cdo.common.revision.delta"><CODE>feature delta</CODE></A> that represents a move of one element of a many-valued
+ <A HREF="http://download.eclipse.org/modeling/emf/emf/javadoc/2.7.0/org/eclipse/emf/ecore/EStructuralFeature.html?is-external=true" title="class or interface in org.eclipse.emf.ecore"><CODE>feature</CODE></A> to a different list position.<DT><A HREF="./org/eclipse/emf/cdo/server/net4j/CDONet4jServerUtil.html" title="class in org.eclipse.emf.cdo.server.net4j"><B>CDONet4jServerUtil</B></A> - Class in <A HREF="./org/eclipse/emf/cdo/server/net4j/package-summary.html">org.eclipse.emf.cdo.server.net4j</A><DD>Various static methods that may help with the server-side setup to support Net4j-specific CDO <A HREF="./org/eclipse/emf/cdo/common/CDOCommonSession.html" title="interface in org.eclipse.emf.cdo.common"><CODE>sessions</CODE></A>.<DT><A HREF="./org/eclipse/emf/cdo/net4j/CDONet4jSession.html" title="interface in org.eclipse.emf.cdo.net4j"><B>CDONet4jSession</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/net4j/package-summary.html">org.eclipse.emf.cdo.net4j</A><DD>A Net4j-specific CDO <A HREF="./org/eclipse/emf/cdo/net4j/CDOSession.html" title="interface in org.eclipse.emf.cdo.net4j"><CODE>session</CODE></A>.<DT><A HREF="./org/eclipse/emf/cdo/net4j/CDONet4jSession.Options.html" title="interface in org.eclipse.emf.cdo.net4j"><B>CDONet4jSession.Options</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/net4j/package-summary.html">org.eclipse.emf.cdo.net4j</A><DD>Encapsulates a set of notifying <A HREF="./org/eclipse/emf/cdo/net4j/CDONet4jSession.html" title="interface in org.eclipse.emf.cdo.net4j"><CODE>session</CODE></A> configuration options.<DT><A HREF="./org/eclipse/emf/cdo/net4j/CDONet4jSessionConfiguration.html" title="interface in org.eclipse.emf.cdo.net4j"><B>CDONet4jSessionConfiguration</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/net4j/package-summary.html">org.eclipse.emf.cdo.net4j</A><DD>Configures and opens new Net4j-specific CDO <A HREF="./org/eclipse/emf/cdo/net4j/CDOSession.html" title="interface in org.eclipse.emf.cdo.net4j"><CODE>sessions</CODE></A>.<DT><A HREF="./org/eclipse/emf/cdo/net4j/CDONet4jUtil.html" title="class in org.eclipse.emf.cdo.net4j"><B>CDONet4jUtil</B></A> - Class in <A HREF="./org/eclipse/emf/cdo/net4j/package-summary.html">org.eclipse.emf.cdo.net4j</A><DD>Various static methods that may help with Net4j-specific CDO <A HREF="./org/eclipse/emf/cdo/net4j/CDONet4jSession.html" title="interface in org.eclipse.emf.cdo.net4j"><CODE>sessions</CODE></A>.<DT><A HREF="./org/eclipse/emf/cdo/net4j/CDONet4jViewProvider.html" title="class in org.eclipse.emf.cdo.net4j"><B>CDONet4jViewProvider</B></A> - Class in <A HREF="./org/eclipse/emf/cdo/net4j/package-summary.html">org.eclipse.emf.cdo.net4j</A><DD>A <A HREF="./org/eclipse/emf/cdo/view/CDOViewProvider.html" title="interface in org.eclipse.emf.cdo.view"><CODE>view provider</CODE></A> that uses Net4j-specific CDO <A HREF="./org/eclipse/emf/cdo/net4j/CDONet4jSession.html" title="interface in org.eclipse.emf.cdo.net4j"><CODE>sessions</CODE></A> to open views.<DT><A HREF="./org/eclipse/emf/cdo/net4j/CDONet4jViewProvider.html#CDONet4jViewProvider(java.lang.String, int)"><B>CDONet4jViewProvider(String, int)</B></A> -
Constructor for class org.eclipse.emf.cdo.net4j.<A HREF="./org/eclipse/emf/cdo/net4j/CDONet4jViewProvider.html" title="class in org.eclipse.emf.cdo.net4j">CDONet4jViewProvider</A>
<DD>&nbsp;
<DT><A HREF="./org/eclipse/emf/cdo/net4j/CDONet4jViewProvider.JVM.html" title="class in org.eclipse.emf.cdo.net4j"><B>CDONet4jViewProvider.JVM</B></A> - Class in <A HREF="./org/eclipse/emf/cdo/net4j/package-summary.html">org.eclipse.emf.cdo.net4j</A><DD>A JVM-based <A HREF="./org/eclipse/emf/cdo/net4j/CDONet4jViewProvider.html" title="class in org.eclipse.emf.cdo.net4j"><CODE>view provider</CODE></A>.<DT><A HREF="./org/eclipse/emf/cdo/net4j/CDONet4jViewProvider.JVM.html#CDONet4jViewProvider.JVM(int)"><B>CDONet4jViewProvider.JVM(int)</B></A> -
@@ -3207,44 +3207,46 @@ Static method in class org.eclipse.emf.cdo.util.<A HREF="./org/eclipse/emf/cdo/u
<A NAME="_F_"><!-- --></A><H2>
<B>F</B></H2>
<DL>
-<DT><A HREF="./org/eclipse/emf/cdo/server/net4j/FailoverAgent.html" title="class in org.eclipse.emf.cdo.server.net4j"><B>FailoverAgent</B></A> - Class in <A HREF="./org/eclipse/emf/cdo/server/net4j/package-summary.html">org.eclipse.emf.cdo.server.net4j</A><DD>&nbsp;<DT><A HREF="./org/eclipse/emf/cdo/server/net4j/FailoverAgent.html#FailoverAgent()"><B>FailoverAgent()</B></A> -
+<DT><A HREF="./org/eclipse/emf/cdo/server/net4j/FailoverAgent.html" title="class in org.eclipse.emf.cdo.server.net4j"><B>FailoverAgent</B></A> - Class in <A HREF="./org/eclipse/emf/cdo/server/net4j/package-summary.html">org.eclipse.emf.cdo.server.net4j</A><DD>A repository-side agent for a <A HREF="./org/eclipse/emf/cdo/server/net4j/FailoverMonitor.html" title="class in org.eclipse.emf.cdo.server.net4j"><CODE>fail-over monitor</CODE></A>.<DT><A HREF="./org/eclipse/emf/cdo/server/net4j/FailoverAgent.html#FailoverAgent()"><B>FailoverAgent()</B></A> -
Constructor for class org.eclipse.emf.cdo.server.net4j.<A HREF="./org/eclipse/emf/cdo/server/net4j/FailoverAgent.html" title="class in org.eclipse.emf.cdo.server.net4j">FailoverAgent</A>
<DD>&nbsp;
-<DT><A HREF="./org/eclipse/emf/cdo/server/net4j/FailoverAgent.Protocol.html" title="class in org.eclipse.emf.cdo.server.net4j"><B>FailoverAgent.Protocol</B></A> - Class in <A HREF="./org/eclipse/emf/cdo/server/net4j/package-summary.html">org.eclipse.emf.cdo.server.net4j</A><DD>&nbsp;<DT><A HREF="./org/eclipse/emf/cdo/server/net4j/FailoverAgent.Protocol.html#FailoverAgent.Protocol(org.eclipse.emf.cdo.server.net4j.FailoverAgent)"><B>FailoverAgent.Protocol(FailoverAgent)</B></A> -
+<DT><A HREF="./org/eclipse/emf/cdo/server/net4j/FailoverAgent.Protocol.html" title="class in org.eclipse.emf.cdo.server.net4j"><B>FailoverAgent.Protocol</B></A> - Class in <A HREF="./org/eclipse/emf/cdo/server/net4j/package-summary.html">org.eclipse.emf.cdo.server.net4j</A><DD>The agent-side implementation of the <A HREF="./org/eclipse/emf/cdo/server/net4j/FailoverMonitor.html" title="class in org.eclipse.emf.cdo.server.net4j"><CODE>fail-over monitor</CODE></A> protocol.<DT><A HREF="./org/eclipse/emf/cdo/server/net4j/FailoverAgent.Protocol.html#FailoverAgent.Protocol(org.eclipse.emf.cdo.server.net4j.FailoverAgent)"><B>FailoverAgent.Protocol(FailoverAgent)</B></A> -
Constructor for class org.eclipse.emf.cdo.server.net4j.<A HREF="./org/eclipse/emf/cdo/server/net4j/FailoverAgent.Protocol.html" title="class in org.eclipse.emf.cdo.server.net4j">FailoverAgent.Protocol</A>
<DD>&nbsp;
<DT><A HREF="./org/eclipse/emf/cdo/net4j/FailoverCDOSessionConfiguration.html" title="interface in org.eclipse.emf.cdo.net4j"><B>FailoverCDOSessionConfiguration</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/net4j/package-summary.html">org.eclipse.emf.cdo.net4j</A><DD>A <A HREF="./org/eclipse/emf/cdo/net4j/RecoveringCDOSessionConfiguration.html" title="interface in org.eclipse.emf.cdo.net4j"><CODE>session configuration</CODE></A> that recovers from network problems by failing over
- to backup repositories as directed by a fail-over monitor.<DT><A HREF="./org/eclipse/emf/cdo/server/net4j/FailoverMonitor.html" title="class in org.eclipse.emf.cdo.server.net4j"><B>FailoverMonitor</B></A> - Class in <A HREF="./org/eclipse/emf/cdo/server/net4j/package-summary.html">org.eclipse.emf.cdo.server.net4j</A><DD>&nbsp;<DT><A HREF="./org/eclipse/emf/cdo/server/net4j/FailoverMonitor.html#FailoverMonitor()"><B>FailoverMonitor()</B></A> -
+ to backup repositories as directed by a fail-over monitor.<DT><A HREF="./org/eclipse/emf/cdo/server/net4j/FailoverMonitor.html" title="class in org.eclipse.emf.cdo.server.net4j"><B>FailoverMonitor</B></A> - Class in <A HREF="./org/eclipse/emf/cdo/server/net4j/package-summary.html">org.eclipse.emf.cdo.server.net4j</A><DD>A facility for monitoring a variable set of <CODE>fail-over participant</CODE> repositories and electing,
+ as well as promoting, a <A HREF="./org/eclipse/emf/cdo/common/CDOCommonRepository.Type.html#MASTER"><CODE>master</CODE></A> repository among them.<DT><A HREF="./org/eclipse/emf/cdo/server/net4j/FailoverMonitor.html#FailoverMonitor()"><B>FailoverMonitor()</B></A> -
Constructor for class org.eclipse.emf.cdo.server.net4j.<A HREF="./org/eclipse/emf/cdo/server/net4j/FailoverMonitor.html" title="class in org.eclipse.emf.cdo.server.net4j">FailoverMonitor</A>
<DD>&nbsp;
-<DT><A HREF="./org/eclipse/emf/cdo/server/net4j/FailoverMonitor.AbstractServerProtocolFactory.html" title="class in org.eclipse.emf.cdo.server.net4j"><B>FailoverMonitor.AbstractServerProtocolFactory</B></A> - Class in <A HREF="./org/eclipse/emf/cdo/server/net4j/package-summary.html">org.eclipse.emf.cdo.server.net4j</A><DD>&nbsp;<DT><A HREF="./org/eclipse/emf/cdo/server/net4j/FailoverMonitor.AbstractServerProtocolFactory.html#FailoverMonitor.AbstractServerProtocolFactory(java.lang.String)"><B>FailoverMonitor.AbstractServerProtocolFactory(String)</B></A> -
+<DT><A HREF="./org/eclipse/emf/cdo/server/net4j/FailoverMonitor.AbstractServerProtocolFactory.html" title="class in org.eclipse.emf.cdo.server.net4j"><B>FailoverMonitor.AbstractServerProtocolFactory</B></A> - Class in <A HREF="./org/eclipse/emf/cdo/server/net4j/package-summary.html">org.eclipse.emf.cdo.server.net4j</A><DD>An abstract base class for the <CODE>server-side protocol factories</CODE>
+ required by a <A HREF="./org/eclipse/emf/cdo/server/net4j/FailoverMonitor.html" title="class in org.eclipse.emf.cdo.server.net4j"><CODE>fail-over monitor</CODE></A>.<DT><A HREF="./org/eclipse/emf/cdo/server/net4j/FailoverMonitor.AbstractServerProtocolFactory.html#FailoverMonitor.AbstractServerProtocolFactory(java.lang.String)"><B>FailoverMonitor.AbstractServerProtocolFactory(String)</B></A> -
Constructor for class org.eclipse.emf.cdo.server.net4j.<A HREF="./org/eclipse/emf/cdo/server/net4j/FailoverMonitor.AbstractServerProtocolFactory.html" title="class in org.eclipse.emf.cdo.server.net4j">FailoverMonitor.AbstractServerProtocolFactory</A>
<DD>&nbsp;
<DT><A HREF="./org/eclipse/emf/cdo/server/net4j/FailoverMonitor.AbstractServerProtocolFactory.html#FailoverMonitor.AbstractServerProtocolFactory(java.lang.String, org.eclipse.net4j.util.container.IManagedContainer)"><B>FailoverMonitor.AbstractServerProtocolFactory(String, IManagedContainer)</B></A> -
Constructor for class org.eclipse.emf.cdo.server.net4j.<A HREF="./org/eclipse/emf/cdo/server/net4j/FailoverMonitor.AbstractServerProtocolFactory.html" title="class in org.eclipse.emf.cdo.server.net4j">FailoverMonitor.AbstractServerProtocolFactory</A>
<DD>&nbsp;
-<DT><A HREF="./org/eclipse/emf/cdo/server/net4j/FailoverMonitor.AgentProtocol.html" title="class in org.eclipse.emf.cdo.server.net4j"><B>FailoverMonitor.AgentProtocol</B></A> - Class in <A HREF="./org/eclipse/emf/cdo/server/net4j/package-summary.html">org.eclipse.emf.cdo.server.net4j</A><DD>&nbsp;<DT><A HREF="./org/eclipse/emf/cdo/server/net4j/FailoverMonitor.AgentProtocol.html#FailoverMonitor.AgentProtocol(org.eclipse.emf.cdo.server.net4j.FailoverMonitor.Provider)"><B>FailoverMonitor.AgentProtocol(FailoverMonitor.Provider)</B></A> -
+<DT><A HREF="./org/eclipse/emf/cdo/server/net4j/FailoverMonitor.AgentProtocol.html" title="class in org.eclipse.emf.cdo.server.net4j"><B>FailoverMonitor.AgentProtocol</B></A> - Class in <A HREF="./org/eclipse/emf/cdo/server/net4j/package-summary.html">org.eclipse.emf.cdo.server.net4j</A><DD>The monitor-side implementation of the <A HREF="./org/eclipse/emf/cdo/server/net4j/FailoverMonitor.html" title="class in org.eclipse.emf.cdo.server.net4j"><CODE>fail-over monitor</CODE></A> agent protocol.<DT><A HREF="./org/eclipse/emf/cdo/server/net4j/FailoverMonitor.AgentProtocol.html#FailoverMonitor.AgentProtocol(org.eclipse.emf.cdo.server.net4j.FailoverMonitor.Provider)"><B>FailoverMonitor.AgentProtocol(FailoverMonitor.Provider)</B></A> -
Constructor for class org.eclipse.emf.cdo.server.net4j.<A HREF="./org/eclipse/emf/cdo/server/net4j/FailoverMonitor.AgentProtocol.html" title="class in org.eclipse.emf.cdo.server.net4j">FailoverMonitor.AgentProtocol</A>
<DD>&nbsp;
-<DT><A HREF="./org/eclipse/emf/cdo/server/net4j/FailoverMonitor.AgentProtocol.Factory.html" title="class in org.eclipse.emf.cdo.server.net4j"><B>FailoverMonitor.AgentProtocol.Factory</B></A> - Class in <A HREF="./org/eclipse/emf/cdo/server/net4j/package-summary.html">org.eclipse.emf.cdo.server.net4j</A><DD>&nbsp;<DT><A HREF="./org/eclipse/emf/cdo/server/net4j/FailoverMonitor.AgentProtocol.Factory.html#FailoverMonitor.AgentProtocol.Factory(org.eclipse.net4j.util.container.IManagedContainer)"><B>FailoverMonitor.AgentProtocol.Factory(IManagedContainer)</B></A> -
+<DT><A HREF="./org/eclipse/emf/cdo/server/net4j/FailoverMonitor.AgentProtocol.Factory.html" title="class in org.eclipse.emf.cdo.server.net4j"><B>FailoverMonitor.AgentProtocol.Factory</B></A> - Class in <A HREF="./org/eclipse/emf/cdo/server/net4j/package-summary.html">org.eclipse.emf.cdo.server.net4j</A><DD>Creates <A HREF="./org/eclipse/emf/cdo/server/net4j/FailoverMonitor.AgentProtocol.html" title="class in org.eclipse.emf.cdo.server.net4j"><CODE>fail-over agent protocol</CODE></A> instances.<DT><A HREF="./org/eclipse/emf/cdo/server/net4j/FailoverMonitor.AgentProtocol.Factory.html#FailoverMonitor.AgentProtocol.Factory(org.eclipse.net4j.util.container.IManagedContainer)"><B>FailoverMonitor.AgentProtocol.Factory(IManagedContainer)</B></A> -
Constructor for class org.eclipse.emf.cdo.server.net4j.<A HREF="./org/eclipse/emf/cdo/server/net4j/FailoverMonitor.AgentProtocol.Factory.html" title="class in org.eclipse.emf.cdo.server.net4j">FailoverMonitor.AgentProtocol.Factory</A>
<DD>&nbsp;
<DT><A HREF="./org/eclipse/emf/cdo/server/net4j/FailoverMonitor.AgentProtocol.Factory.html#FailoverMonitor.AgentProtocol.Factory()"><B>FailoverMonitor.AgentProtocol.Factory()</B></A> -
Constructor for class org.eclipse.emf.cdo.server.net4j.<A HREF="./org/eclipse/emf/cdo/server/net4j/FailoverMonitor.AgentProtocol.Factory.html" title="class in org.eclipse.emf.cdo.server.net4j">FailoverMonitor.AgentProtocol.Factory</A>
<DD>&nbsp;
-<DT><A HREF="./org/eclipse/emf/cdo/server/net4j/FailoverMonitor.ClientProtocol.html" title="class in org.eclipse.emf.cdo.server.net4j"><B>FailoverMonitor.ClientProtocol</B></A> - Class in <A HREF="./org/eclipse/emf/cdo/server/net4j/package-summary.html">org.eclipse.emf.cdo.server.net4j</A><DD>&nbsp;<DT><A HREF="./org/eclipse/emf/cdo/server/net4j/FailoverMonitor.ClientProtocol.html#FailoverMonitor.ClientProtocol(org.eclipse.emf.cdo.server.net4j.FailoverMonitor.Provider)"><B>FailoverMonitor.ClientProtocol(FailoverMonitor.Provider)</B></A> -
+<DT><A HREF="./org/eclipse/emf/cdo/server/net4j/FailoverMonitor.ClientProtocol.html" title="class in org.eclipse.emf.cdo.server.net4j"><B>FailoverMonitor.ClientProtocol</B></A> - Class in <A HREF="./org/eclipse/emf/cdo/server/net4j/package-summary.html">org.eclipse.emf.cdo.server.net4j</A><DD>The monitor-side implementation of the <A HREF="./org/eclipse/emf/cdo/server/net4j/FailoverMonitor.html" title="class in org.eclipse.emf.cdo.server.net4j"><CODE>fail-over monitor</CODE></A> client protocol.<DT><A HREF="./org/eclipse/emf/cdo/server/net4j/FailoverMonitor.ClientProtocol.html#FailoverMonitor.ClientProtocol(org.eclipse.emf.cdo.server.net4j.FailoverMonitor.Provider)"><B>FailoverMonitor.ClientProtocol(FailoverMonitor.Provider)</B></A> -
Constructor for class org.eclipse.emf.cdo.server.net4j.<A HREF="./org/eclipse/emf/cdo/server/net4j/FailoverMonitor.ClientProtocol.html" title="class in org.eclipse.emf.cdo.server.net4j">FailoverMonitor.ClientProtocol</A>
<DD>&nbsp;
-<DT><A HREF="./org/eclipse/emf/cdo/server/net4j/FailoverMonitor.ClientProtocol.Factory.html" title="class in org.eclipse.emf.cdo.server.net4j"><B>FailoverMonitor.ClientProtocol.Factory</B></A> - Class in <A HREF="./org/eclipse/emf/cdo/server/net4j/package-summary.html">org.eclipse.emf.cdo.server.net4j</A><DD>&nbsp;<DT><A HREF="./org/eclipse/emf/cdo/server/net4j/FailoverMonitor.ClientProtocol.Factory.html#FailoverMonitor.ClientProtocol.Factory(org.eclipse.net4j.util.container.IManagedContainer)"><B>FailoverMonitor.ClientProtocol.Factory(IManagedContainer)</B></A> -
+<DT><A HREF="./org/eclipse/emf/cdo/server/net4j/FailoverMonitor.ClientProtocol.Factory.html" title="class in org.eclipse.emf.cdo.server.net4j"><B>FailoverMonitor.ClientProtocol.Factory</B></A> - Class in <A HREF="./org/eclipse/emf/cdo/server/net4j/package-summary.html">org.eclipse.emf.cdo.server.net4j</A><DD>Creates <A HREF="./org/eclipse/emf/cdo/server/net4j/FailoverMonitor.ClientProtocol.html" title="class in org.eclipse.emf.cdo.server.net4j"><CODE>fail-over client protocol</CODE></A> instances.<DT><A HREF="./org/eclipse/emf/cdo/server/net4j/FailoverMonitor.ClientProtocol.Factory.html#FailoverMonitor.ClientProtocol.Factory(org.eclipse.net4j.util.container.IManagedContainer)"><B>FailoverMonitor.ClientProtocol.Factory(IManagedContainer)</B></A> -
Constructor for class org.eclipse.emf.cdo.server.net4j.<A HREF="./org/eclipse/emf/cdo/server/net4j/FailoverMonitor.ClientProtocol.Factory.html" title="class in org.eclipse.emf.cdo.server.net4j">FailoverMonitor.ClientProtocol.Factory</A>
<DD>&nbsp;
<DT><A HREF="./org/eclipse/emf/cdo/server/net4j/FailoverMonitor.ClientProtocol.Factory.html#FailoverMonitor.ClientProtocol.Factory()"><B>FailoverMonitor.ClientProtocol.Factory()</B></A> -
Constructor for class org.eclipse.emf.cdo.server.net4j.<A HREF="./org/eclipse/emf/cdo/server/net4j/FailoverMonitor.ClientProtocol.Factory.html" title="class in org.eclipse.emf.cdo.server.net4j">FailoverMonitor.ClientProtocol.Factory</A>
<DD>&nbsp;
-<DT><A HREF="./org/eclipse/emf/cdo/server/net4j/FailoverMonitor.Factory.html" title="class in org.eclipse.emf.cdo.server.net4j"><B>FailoverMonitor.Factory</B></A> - Class in <A HREF="./org/eclipse/emf/cdo/server/net4j/package-summary.html">org.eclipse.emf.cdo.server.net4j</A><DD>&nbsp;<DT><A HREF="./org/eclipse/emf/cdo/server/net4j/FailoverMonitor.Factory.html#FailoverMonitor.Factory()"><B>FailoverMonitor.Factory()</B></A> -
+<DT><A HREF="./org/eclipse/emf/cdo/server/net4j/FailoverMonitor.Factory.html" title="class in org.eclipse.emf.cdo.server.net4j"><B>FailoverMonitor.Factory</B></A> - Class in <A HREF="./org/eclipse/emf/cdo/server/net4j/package-summary.html">org.eclipse.emf.cdo.server.net4j</A><DD>Creates <A HREF="./org/eclipse/emf/cdo/server/net4j/FailoverMonitor.html" title="class in org.eclipse.emf.cdo.server.net4j"><CODE>fail-over monitor</CODE></A> instances.<DT><A HREF="./org/eclipse/emf/cdo/server/net4j/FailoverMonitor.Factory.html#FailoverMonitor.Factory()"><B>FailoverMonitor.Factory()</B></A> -
Constructor for class org.eclipse.emf.cdo.server.net4j.<A HREF="./org/eclipse/emf/cdo/server/net4j/FailoverMonitor.Factory.html" title="class in org.eclipse.emf.cdo.server.net4j">FailoverMonitor.Factory</A>
<DD>&nbsp;
-<DT><A HREF="./org/eclipse/emf/cdo/server/net4j/FailoverMonitor.Provider.html" title="interface in org.eclipse.emf.cdo.server.net4j"><B>FailoverMonitor.Provider</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/server/net4j/package-summary.html">org.eclipse.emf.cdo.server.net4j</A><DD>&nbsp;<DT><A HREF="./org/eclipse/emf/cdo/server/CDOServerExporter.XMLConstants.html#FEATURE"><B>FEATURE</B></A> -
+<DT><A HREF="./org/eclipse/emf/cdo/server/net4j/FailoverMonitor.Provider.html" title="interface in org.eclipse.emf.cdo.server.net4j"><B>FailoverMonitor.Provider</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/server/net4j/package-summary.html">org.eclipse.emf.cdo.server.net4j</A><DD>Provides a <A HREF="./org/eclipse/emf/cdo/server/net4j/FailoverMonitor.html" title="class in org.eclipse.emf.cdo.server.net4j"><CODE>fail-over monitor</CODE></A> for a given named fail-over group.<DT><A HREF="./org/eclipse/emf/cdo/server/CDOServerExporter.XMLConstants.html#FEATURE"><B>FEATURE</B></A> -
Static variable in interface org.eclipse.emf.cdo.server.<A HREF="./org/eclipse/emf/cdo/server/CDOServerExporter.XMLConstants.html" title="interface in org.eclipse.emf.cdo.server">CDOServerExporter.XMLConstants</A>
<DD>&nbsp;
<DT><A HREF="./org/eclipse/emf/cdo/server/CDOServerExporter.XMLConstants.html#FEATURE_ID"><B>FEATURE_ID</B></A> -
@@ -6965,7 +6967,7 @@ Method in class org.eclipse.emf.cdo.server.<A HREF="./org/eclipse/emf/cdo/server
<DT><A HREF="./org/eclipse/emf/cdo/location/ICheckoutSource.html" title="interface in org.eclipse.emf.cdo.location"><B>ICheckoutSource</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/location/package-summary.html">org.eclipse.emf.cdo.location</A><DD>A CDO server independent representation of a <A HREF="./org/eclipse/emf/cdo/common/branch/CDOBranchPoint.html" title="interface in org.eclipse.emf.cdo.common.branch"><CODE>branch point</CODE></A> in a repository.<DT><A HREF="./org/eclipse/emf/cdo/server/db/mapping/IClassMapping.html" title="interface in org.eclipse.emf.cdo.server.db.mapping"><B>IClassMapping</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/server/db/mapping/package-summary.html">org.eclipse.emf.cdo.server.db.mapping</A><DD>Basic interface for class mappings.<DT><A HREF="./org/eclipse/emf/cdo/server/db/mapping/IClassMappingAuditSupport.html" title="interface in org.eclipse.emf.cdo.server.db.mapping"><B>IClassMappingAuditSupport</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/server/db/mapping/package-summary.html">org.eclipse.emf.cdo.server.db.mapping</A><DD>Interface which complements <A HREF="./org/eclipse/emf/cdo/server/db/mapping/IClassMapping.html" title="interface in org.eclipse.emf.cdo.server.db.mapping"><CODE>IClassMapping</CODE></A> with methods to facilitate audit support.<DT><A HREF="./org/eclipse/emf/cdo/server/db/mapping/IClassMappingDeltaSupport.html" title="interface in org.eclipse.emf.cdo.server.db.mapping"><B>IClassMappingDeltaSupport</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/server/db/mapping/package-summary.html">org.eclipse.emf.cdo.server.db.mapping</A><DD>Interface which complements <A HREF="./org/eclipse/emf/cdo/server/db/mapping/IClassMapping.html" title="interface in org.eclipse.emf.cdo.server.db.mapping"><CODE>IClassMapping</CODE></A> with methods to facilitate revision delta support.<DT><A HREF="./org/eclipse/emf/cdo/server/IRepository.Props.html#ID_GENERATION_LOCATION"><B>ID_GENERATION_LOCATION</B></A> -
Static variable in interface org.eclipse.emf.cdo.server.<A HREF="./org/eclipse/emf/cdo/server/IRepository.Props.html" title="interface in org.eclipse.emf.cdo.server">IRepository.Props</A>
<DD>&nbsp;
-<DT><A HREF="./org/eclipse/emf/cdo/server/db4o/IDB4OIdentifiableObject.html" title="interface in org.eclipse.emf.cdo.server.db4o"><B>IDB4OIdentifiableObject</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/server/db4o/package-summary.html">org.eclipse.emf.cdo.server.db4o</A><DD>Represents DB4O objects with an <A HREF="./org/eclipse/emf/cdo/server/db4o/IDB4OIdentifiableObject.html#getId()"><CODE>ID</CODE></A>.<DT><A HREF="./org/eclipse/emf/cdo/server/db4o/IDB4OStore.html" title="interface in org.eclipse.emf.cdo.server.db4o"><B>IDB4OStore</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/server/db4o/package-summary.html">org.eclipse.emf.cdo.server.db4o</A><DD>The main entry point to the API of CDO's integration with DB4O databases.<DT><A HREF="./org/eclipse/emf/cdo/server/db/IDBStore.html" title="interface in org.eclipse.emf.cdo.server.db"><B>IDBStore</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/server/db/package-summary.html">org.eclipse.emf.cdo.server.db</A><DD>The main entry point to the API of CDO's proprietary object/relational mapper.<DT><A HREF="./org/eclipse/emf/cdo/server/db/IDBStore.Props.html" title="interface in org.eclipse.emf.cdo.server.db"><B>IDBStore.Props</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/server/db/package-summary.html">org.eclipse.emf.cdo.server.db</A><DD>&nbsp;<DT><A HREF="./org/eclipse/emf/cdo/server/db/IDBStoreAccessor.html" title="interface in org.eclipse.emf.cdo.server.db"><B>IDBStoreAccessor</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/server/db/package-summary.html">org.eclipse.emf.cdo.server.db</A><DD>A <A HREF="./org/eclipse/emf/cdo/server/IStoreAccessor.html" title="interface in org.eclipse.emf.cdo.server"><CODE>store accessor</CODE></A> for CDO's proprietary object/relational mapper.<DT><A HREF="./org/eclipse/emf/cdo/server/db/IDBStoreChunkReader.html" title="interface in org.eclipse.emf.cdo.server.db"><B>IDBStoreChunkReader</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/server/db/package-summary.html">org.eclipse.emf.cdo.server.db</A><DD>A <A HREF="./org/eclipse/emf/cdo/server/IStoreChunkReader.html" title="interface in org.eclipse.emf.cdo.server"><CODE>chunk reader</CODE></A> for CDO's proprietary object/relational mapper.<DT><A HREF="./org/eclipse/emf/cdo/common/lock/IDurableLockingManager.html" title="interface in org.eclipse.emf.cdo.common.lock"><B>IDurableLockingManager</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/common/lock/package-summary.html">org.eclipse.emf.cdo.common.lock</A><DD>Manages all persistent aspects of durable CDO views such as <A HREF="./org/eclipse/emf/cdo/common/branch/CDOBranchPoint.html" title="interface in org.eclipse.emf.cdo.common.branch"><CODE>branch point</CODE></A> and acquired locks.<DT><A HREF="./org/eclipse/emf/cdo/common/lock/IDurableLockingManager.LockArea.html" title="interface in org.eclipse.emf.cdo.common.lock"><B>IDurableLockingManager.LockArea</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/common/lock/package-summary.html">org.eclipse.emf.cdo.common.lock</A><DD>Encapsulates the persistable information about a single durable CDO view like <A HREF="./org/eclipse/emf/cdo/common/branch/CDOBranchPoint.html" title="interface in org.eclipse.emf.cdo.common.branch"><CODE>branch point</CODE></A>
+<DT><A HREF="./org/eclipse/emf/cdo/server/db4o/IDB4OIdentifiableObject.html" title="interface in org.eclipse.emf.cdo.server.db4o"><B>IDB4OIdentifiableObject</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/server/db4o/package-summary.html">org.eclipse.emf.cdo.server.db4o</A><DD>Represents DB4O objects with an <A HREF="./org/eclipse/emf/cdo/server/db4o/IDB4OIdentifiableObject.html#getId()"><CODE>ID</CODE></A>.<DT><A HREF="./org/eclipse/emf/cdo/server/db4o/IDB4OStore.html" title="interface in org.eclipse.emf.cdo.server.db4o"><B>IDB4OStore</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/server/db4o/package-summary.html">org.eclipse.emf.cdo.server.db4o</A><DD>The main entry point to the API of CDO's integration with DB4O databases.<DT><A HREF="./org/eclipse/emf/cdo/server/db/IDBStore.html" title="interface in org.eclipse.emf.cdo.server.db"><B>IDBStore</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/server/db/package-summary.html">org.eclipse.emf.cdo.server.db</A><DD>The main entry point to the API of CDO's proprietary object/relational mapper.<DT><A HREF="./org/eclipse/emf/cdo/server/db/IDBStore.Props.html" title="interface in org.eclipse.emf.cdo.server.db"><B>IDBStore.Props</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/server/db/package-summary.html">org.eclipse.emf.cdo.server.db</A><DD>Contains symbolic constants that specifiy valid keys of <A HREF="./org/eclipse/emf/cdo/server/IRepository.html#getProperties()"><CODE>DB store properties</CODE></A>.<DT><A HREF="./org/eclipse/emf/cdo/server/db/IDBStoreAccessor.html" title="interface in org.eclipse.emf.cdo.server.db"><B>IDBStoreAccessor</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/server/db/package-summary.html">org.eclipse.emf.cdo.server.db</A><DD>A <A HREF="./org/eclipse/emf/cdo/server/IStoreAccessor.html" title="interface in org.eclipse.emf.cdo.server"><CODE>store accessor</CODE></A> for CDO's proprietary object/relational mapper.<DT><A HREF="./org/eclipse/emf/cdo/server/db/IDBStoreChunkReader.html" title="interface in org.eclipse.emf.cdo.server.db"><B>IDBStoreChunkReader</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/server/db/package-summary.html">org.eclipse.emf.cdo.server.db</A><DD>A <A HREF="./org/eclipse/emf/cdo/server/IStoreChunkReader.html" title="interface in org.eclipse.emf.cdo.server"><CODE>chunk reader</CODE></A> for CDO's proprietary object/relational mapper.<DT><A HREF="./org/eclipse/emf/cdo/common/lock/IDurableLockingManager.html" title="interface in org.eclipse.emf.cdo.common.lock"><B>IDurableLockingManager</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/common/lock/package-summary.html">org.eclipse.emf.cdo.common.lock</A><DD>Manages all persistent aspects of durable CDO views such as <A HREF="./org/eclipse/emf/cdo/common/branch/CDOBranchPoint.html" title="interface in org.eclipse.emf.cdo.common.branch"><CODE>branch point</CODE></A> and acquired locks.<DT><A HREF="./org/eclipse/emf/cdo/common/lock/IDurableLockingManager.LockArea.html" title="interface in org.eclipse.emf.cdo.common.lock"><B>IDurableLockingManager.LockArea</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/common/lock/package-summary.html">org.eclipse.emf.cdo.common.lock</A><DD>Encapsulates the persistable information about a single durable CDO view like <A HREF="./org/eclipse/emf/cdo/common/branch/CDOBranchPoint.html" title="interface in org.eclipse.emf.cdo.common.branch"><CODE>branch point</CODE></A>
and acquired locks.<DT><A HREF="./org/eclipse/emf/cdo/common/lock/IDurableLockingManager.LockArea.Handler.html" title="interface in org.eclipse.emf.cdo.common.lock"><B>IDurableLockingManager.LockArea.Handler</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/common/lock/package-summary.html">org.eclipse.emf.cdo.common.lock</A><DD>A call-back interface for <em>handling</em> <A HREF="./org/eclipse/emf/cdo/common/lock/IDurableLockingManager.LockArea.html" title="interface in org.eclipse.emf.cdo.common.lock"><CODE>lock area</CODE></A> objects.<DT><A HREF="./org/eclipse/emf/cdo/common/lock/IDurableLockingManager.LockAreaAlreadyExistsException.html" title="class in org.eclipse.emf.cdo.common.lock"><B>IDurableLockingManager.LockAreaAlreadyExistsException</B></A> - Exception in <A HREF="./org/eclipse/emf/cdo/common/lock/package-summary.html">org.eclipse.emf.cdo.common.lock</A><DD>Exception occurs when attempting to create a durable <A HREF="./org/eclipse/emf/cdo/common/lock/IDurableLockingManager.LockArea.html" title="interface in org.eclipse.emf.cdo.common.lock"><CODE>IDurableLockingManager.LockArea</CODE></A> that already exists.<DT><A HREF="./org/eclipse/emf/cdo/common/lock/IDurableLockingManager.LockAreaAlreadyExistsException.html#IDurableLockingManager.LockAreaAlreadyExistsException(java.lang.String)"><B>IDurableLockingManager.LockAreaAlreadyExistsException(String)</B></A> -
Constructor for exception org.eclipse.emf.cdo.common.lock.<A HREF="./org/eclipse/emf/cdo/common/lock/IDurableLockingManager.LockAreaAlreadyExistsException.html" title="class in org.eclipse.emf.cdo.common.lock">IDurableLockingManager.LockAreaAlreadyExistsException</A>
<DD>&nbsp;
@@ -6978,7 +6980,7 @@ Constructor for exception org.eclipse.emf.cdo.common.lock.<A HREF="./org/eclipse
<DT><A HREF="./org/eclipse/emf/cdo/common/lock/IDurableLockingManager.LockGrade.html" title="enum in org.eclipse.emf.cdo.common.lock"><B>IDurableLockingManager.LockGrade</B></A> - Enum in <A HREF="./org/eclipse/emf/cdo/common/lock/package-summary.html">org.eclipse.emf.cdo.common.lock</A><DD>Enumerates the possible combinations of read and write locks on a single CDO object.<DT><A HREF="./org/eclipse/emf/cdo/server/hibernate/IHibernateMappingProvider.html" title="interface in org.eclipse.emf.cdo.server.hibernate"><B>IHibernateMappingProvider</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/server/hibernate/package-summary.html">org.eclipse.emf.cdo.server.hibernate</A><DD>A mappingprovider adds a hibernate mapping to a hibernate configuration object.<DT><A HREF="./org/eclipse/emf/cdo/server/hibernate/IHibernateMappingProvider.Factory.html" title="interface in org.eclipse.emf.cdo.server.hibernate"><B>IHibernateMappingProvider.Factory</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/server/hibernate/package-summary.html">org.eclipse.emf.cdo.server.hibernate</A><DD>&nbsp;<DT><A HREF="./org/eclipse/emf/cdo/server/hibernate/IHibernateStore.html" title="interface in org.eclipse.emf.cdo.server.hibernate"><B>IHibernateStore</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/server/hibernate/package-summary.html">org.eclipse.emf.cdo.server.hibernate</A><DD>&nbsp;<DT><A HREF="./org/eclipse/emf/cdo/server/hibernate/IHibernateStoreAccessor.html" title="interface in org.eclipse.emf.cdo.server.hibernate"><B>IHibernateStoreAccessor</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/server/hibernate/package-summary.html">org.eclipse.emf.cdo.server.hibernate</A><DD>&nbsp;<DT><A HREF="./org/eclipse/emf/cdo/server/hibernate/IHibernateStoreChunkReader.html" title="interface in org.eclipse.emf.cdo.server.hibernate"><B>IHibernateStoreChunkReader</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/server/hibernate/package-summary.html">org.eclipse.emf.cdo.server.hibernate</A><DD>&nbsp;<DT><A HREF="./org/eclipse/emf/cdo/server/db/IIDHandler.html" title="interface in org.eclipse.emf.cdo.server.db"><B>IIDHandler</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/server/db/package-summary.html">org.eclipse.emf.cdo.server.db</A><DD>Abstracts the handling of <A HREF="./org/eclipse/emf/cdo/common/id/CDOID.html" title="interface in org.eclipse.emf.cdo.common.id"><CODE>IDs</CODE></A> of different <A HREF="./org/eclipse/emf/cdo/common/id/CDOID.ObjectType.html" title="enum in org.eclipse.emf.cdo.common.id"><CODE>ID types</CODE></A>.<DT><A HREF="./org/eclipse/emf/cdo/server/db/mapping/IListMapping.html" title="interface in org.eclipse.emf.cdo.server.db.mapping"><B>IListMapping</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/server/db/mapping/package-summary.html">org.eclipse.emf.cdo.server.db.mapping</A><DD>Interface for mapping features with <code>isMany() == true</code>.<DT><A HREF="./org/eclipse/emf/cdo/server/db/mapping/IListMapping2.html" title="interface in org.eclipse.emf.cdo.server.db.mapping"><B>IListMapping2</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/server/db/mapping/package-summary.html">org.eclipse.emf.cdo.server.db.mapping</A><DD>Extension interface to <A HREF="./org/eclipse/emf/cdo/server/db/mapping/IListMapping.html" title="interface in org.eclipse.emf.cdo.server.db.mapping"><CODE>IListMapping</CODE></A>.<DT><A HREF="./org/eclipse/emf/cdo/server/db/mapping/IListMappingDeltaSupport.html" title="interface in org.eclipse.emf.cdo.server.db.mapping"><B>IListMappingDeltaSupport</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/server/db/mapping/package-summary.html">org.eclipse.emf.cdo.server.db.mapping</A><DD>Interface to complement <A HREF="./org/eclipse/emf/cdo/server/db/mapping/IListMapping.html" title="interface in org.eclipse.emf.cdo.server.db.mapping"><CODE>IListMapping</CODE></A> in order to provide list delta processing support.<DT><A HREF="./org/eclipse/emf/cdo/server/ILockingManager.html" title="interface in org.eclipse.emf.cdo.server"><B>ILockingManager</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/server/package-summary.html">org.eclipse.emf.cdo.server</A><DD>Manages all persistent aspects of durable CDO views and provides for vetoable
<A HREF="./org/eclipse/emf/cdo/server/ILockingManager.html#addDurableViewHandler(org.eclipse.emf.cdo.server.ILockingManager.DurableViewHandler)"><CODE>interception</CODE></A> of the durable view resumption
process.<DT><A HREF="./org/eclipse/emf/cdo/server/ILockingManager.DurableViewHandler.html" title="interface in org.eclipse.emf.cdo.server"><B>ILockingManager.DurableViewHandler</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/server/package-summary.html">org.eclipse.emf.cdo.server</A><DD>A call-back interface primarily intended to allow implementers to prevent the view from being opened by throwing an
- exception.<DT><A HREF="./org/eclipse/emf/cdo/server/db/mapping/IMappingStrategy.html" title="interface in org.eclipse.emf.cdo.server.db.mapping"><B>IMappingStrategy</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/server/db/mapping/package-summary.html">org.eclipse.emf.cdo.server.db.mapping</A><DD>The mapping strategy acts as a connection between the DBStore and the database management (and OR-mapping) classes.<DT><A HREF="./org/eclipse/emf/cdo/server/IMEMStore.html" title="interface in org.eclipse.emf.cdo.server"><B>IMEMStore</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/server/package-summary.html">org.eclipse.emf.cdo.server</A><DD><B>Deprecated.</B>&nbsp;<I>Use <A HREF="./org/eclipse/emf/cdo/server/mem/IMEMStore.html" title="interface in org.eclipse.emf.cdo.server.mem"><CODE>IMEMStore</CODE></A></I><DT><A HREF="./org/eclipse/emf/cdo/server/mem/IMEMStore.html" title="interface in org.eclipse.emf.cdo.server.mem"><B>IMEMStore</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/server/mem/package-summary.html">org.eclipse.emf.cdo.server.mem</A><DD>A simple in-memory <A HREF="./org/eclipse/emf/cdo/server/IStore.html" title="interface in org.eclipse.emf.cdo.server"><CODE>store</CODE></A>.<DT><A HREF="./org/eclipse/emf/cdo/server/db/IMetaDataManager.html" title="interface in org.eclipse.emf.cdo.server.db"><B>IMetaDataManager</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/server/db/package-summary.html">org.eclipse.emf.cdo.server.db</A><DD>Manages the <A HREF="./org/eclipse/emf/cdo/common/model/CDOPackageUnit.html" title="interface in org.eclipse.emf.cdo.common.model"><CODE>elements</CODE></A> of the meta model level of a CDO <A HREF="./org/eclipse/emf/cdo/server/IRepository.html" title="interface in org.eclipse.emf.cdo.server"><CODE>repository</CODE></A>.<DT><A HREF="./org/eclipse/emf/cdo/server/mongodb/IMongoDBStore.html" title="interface in org.eclipse.emf.cdo.server.mongodb"><B>IMongoDBStore</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/server/mongodb/package-summary.html">org.eclipse.emf.cdo.server.mongodb</A><DD>&nbsp;<DT><A HREF="./org/eclipse/emf/cdo/server/mongodb/IMongoDBStoreAccessor.html" title="interface in org.eclipse.emf.cdo.server.mongodb"><B>IMongoDBStoreAccessor</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/server/mongodb/package-summary.html">org.eclipse.emf.cdo.server.mongodb</A><DD>&nbsp;<DT><A HREF="./org/eclipse/emf/cdo/server/CDOServerImporter.html#importAll(java.io.InputStream, org.eclipse.emf.cdo.server.CDOServerImporter.Handler)"><B>importAll(InputStream, CDOServerImporter.Handler)</B></A> -
+ exception.<DT><A HREF="./org/eclipse/emf/cdo/server/db/mapping/IMappingStrategy.html" title="interface in org.eclipse.emf.cdo.server.db.mapping"><B>IMappingStrategy</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/server/db/mapping/package-summary.html">org.eclipse.emf.cdo.server.db.mapping</A><DD>The mapping strategy acts as a connection between the DBStore and the database management (and OR-mapping) classes.<DT><A HREF="./org/eclipse/emf/cdo/server/IMEMStore.html" title="interface in org.eclipse.emf.cdo.server"><B>IMEMStore</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/server/package-summary.html">org.eclipse.emf.cdo.server</A><DD><B>Deprecated.</B>&nbsp;<I>Use <A HREF="./org/eclipse/emf/cdo/server/mem/IMEMStore.html" title="interface in org.eclipse.emf.cdo.server.mem"><CODE>IMEMStore</CODE></A></I><DT><A HREF="./org/eclipse/emf/cdo/server/mem/IMEMStore.html" title="interface in org.eclipse.emf.cdo.server.mem"><B>IMEMStore</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/server/mem/package-summary.html">org.eclipse.emf.cdo.server.mem</A><DD>A simple in-memory <A HREF="./org/eclipse/emf/cdo/server/IStore.html" title="interface in org.eclipse.emf.cdo.server"><CODE>store</CODE></A>.<DT><A HREF="./org/eclipse/emf/cdo/server/db/IMetaDataManager.html" title="interface in org.eclipse.emf.cdo.server.db"><B>IMetaDataManager</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/server/db/package-summary.html">org.eclipse.emf.cdo.server.db</A><DD>Manages the <A HREF="./org/eclipse/emf/cdo/common/model/CDOPackageUnit.html" title="interface in org.eclipse.emf.cdo.common.model"><CODE>elements</CODE></A> of the meta model level of a CDO <A HREF="./org/eclipse/emf/cdo/server/IRepository.html" title="interface in org.eclipse.emf.cdo.server"><CODE>repository</CODE></A>.<DT><A HREF="./org/eclipse/emf/cdo/server/mongodb/IMongoDBStore.html" title="interface in org.eclipse.emf.cdo.server.mongodb"><B>IMongoDBStore</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/server/mongodb/package-summary.html">org.eclipse.emf.cdo.server.mongodb</A><DD>The main entry point to the API of CDO's <a href="http://www.mongodb.org">MongoDB</a> back-end integration.<DT><A HREF="./org/eclipse/emf/cdo/server/mongodb/IMongoDBStoreAccessor.html" title="interface in org.eclipse.emf.cdo.server.mongodb"><B>IMongoDBStoreAccessor</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/server/mongodb/package-summary.html">org.eclipse.emf.cdo.server.mongodb</A><DD>A <A HREF="./org/eclipse/emf/cdo/server/IStoreAccessor.html" title="interface in org.eclipse.emf.cdo.server"><CODE>store accessor</CODE></A> for CDO's <a href="http://www.mongodb.org">MongoDB</a> back-end integration.<DT><A HREF="./org/eclipse/emf/cdo/server/CDOServerImporter.html#importAll(java.io.InputStream, org.eclipse.emf.cdo.server.CDOServerImporter.Handler)"><B>importAll(InputStream, CDOServerImporter.Handler)</B></A> -
Method in class org.eclipse.emf.cdo.server.<A HREF="./org/eclipse/emf/cdo/server/CDOServerImporter.html" title="class in org.eclipse.emf.cdo.server">CDOServerImporter</A>
<DD>&nbsp;
<DT><A HREF="./org/eclipse/emf/cdo/server/CDOServerImporter.XML.html#importAll(java.io.InputStream, org.eclipse.emf.cdo.server.CDOServerImporter.Handler)"><B>importAll(InputStream, CDOServerImporter.Handler)</B></A> -
@@ -7092,7 +7094,7 @@ Method in class org.eclipse.emf.cdo.eresource.impl.<A HREF="./org/eclipse/emf/cd
<DT><A HREF="./org/eclipse/emf/cdo/eresource/impl/CDOResourceImpl.ContentsCDOList.html#inverseRemove(java.lang.Object, org.eclipse.emf.common.notify.NotificationChain)"><B>inverseRemove(Object, NotificationChain)</B></A> -
Method in class org.eclipse.emf.cdo.eresource.impl.<A HREF="./org/eclipse/emf/cdo/eresource/impl/CDOResourceImpl.ContentsCDOList.html" title="class in org.eclipse.emf.cdo.eresource.impl">CDOResourceImpl.ContentsCDOList</A>
<DD>&nbsp;
-<DT><A HREF="./org/eclipse/emf/cdo/server/objectivity/IObjectivityStore.html" title="interface in org.eclipse.emf.cdo.server.objectivity"><B>IObjectivityStore</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/server/objectivity/package-summary.html">org.eclipse.emf.cdo.server.objectivity</A><DD>Interface to the Objecivity Store implemenation.<DT><A HREF="./org/eclipse/emf/cdo/server/objectivity/IObjectivityStoreAccessor.html" title="interface in org.eclipse.emf.cdo.server.objectivity"><B>IObjectivityStoreAccessor</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/server/objectivity/package-summary.html">org.eclipse.emf.cdo.server.objectivity</A><DD>&nbsp;<DT><A HREF="./org/eclipse/emf/cdo/server/objectivity/IObjectivityStoreChunkReader.html" title="interface in org.eclipse.emf.cdo.server.objectivity"><B>IObjectivityStoreChunkReader</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/server/objectivity/package-summary.html">org.eclipse.emf.cdo.server.objectivity</A><DD>&nbsp;<DT><A HREF="./org/eclipse/emf/cdo/server/objectivity/IObjectivityStoreConfig.html" title="interface in org.eclipse.emf.cdo.server.objectivity"><B>IObjectivityStoreConfig</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/server/objectivity/package-summary.html">org.eclipse.emf.cdo.server.objectivity</A><DD>&nbsp;<DT><A HREF="./org/eclipse/emf/cdo/server/IPermissionManager.html" title="interface in org.eclipse.emf.cdo.server"><B>IPermissionManager</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/server/package-summary.html">org.eclipse.emf.cdo.server</A><DD>Provides the protection level of <A HREF="./org/eclipse/emf/cdo/common/revision/CDORevision.html" title="interface in org.eclipse.emf.cdo.common.revision"><CODE>revisions</CODE></A> in the context of a specific user.<DT><A HREF="./org/eclipse/emf/cdo/server/db/IPreparedStatementCache.html" title="interface in org.eclipse.emf.cdo.server.db"><B>IPreparedStatementCache</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/server/db/package-summary.html">org.eclipse.emf.cdo.server.db</A><DD>Caches JDBC <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/sql/PreparedStatement.html?is-external=true" title="class or interface in java.sql"><CODE>statements</CODE></A> according to given <A HREF="./org/eclipse/emf/cdo/server/db/IPreparedStatementCache.ReuseProbability.html" title="enum in org.eclipse.emf.cdo.server.db"><CODE>reuse probabilities</CODE></A>.<DT><A HREF="./org/eclipse/emf/cdo/server/db/IPreparedStatementCache.ReuseProbability.html" title="enum in org.eclipse.emf.cdo.server.db"><B>IPreparedStatementCache.ReuseProbability</B></A> - Enum in <A HREF="./org/eclipse/emf/cdo/server/db/package-summary.html">org.eclipse.emf.cdo.server.db</A><DD>An enum for the degree of probability to which a prepared statement is reused later on.<DT><A HREF="./org/eclipse/emf/cdo/server/IQueryContext.html" title="interface in org.eclipse.emf.cdo.server"><B>IQueryContext</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/server/package-summary.html">org.eclipse.emf.cdo.server</A><DD>Represents the execution state of a <A HREF="./org/eclipse/emf/cdo/view/CDOQuery.html" title="interface in org.eclipse.emf.cdo.view"><CODE>query</CODE></A> in the server towards a <A HREF="./org/eclipse/emf/cdo/server/IQueryHandler.html" title="interface in org.eclipse.emf.cdo.server"><CODE>query
+<DT><A HREF="./org/eclipse/emf/cdo/server/objectivity/IObjectivityStore.html" title="interface in org.eclipse.emf.cdo.server.objectivity"><B>IObjectivityStore</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/server/objectivity/package-summary.html">org.eclipse.emf.cdo.server.objectivity</A><DD>Interface to the Objecivity Store implemenation.<DT><A HREF="./org/eclipse/emf/cdo/server/objectivity/IObjectivityStoreAccessor.html" title="interface in org.eclipse.emf.cdo.server.objectivity"><B>IObjectivityStoreAccessor</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/server/objectivity/package-summary.html">org.eclipse.emf.cdo.server.objectivity</A><DD>A <A HREF="./org/eclipse/emf/cdo/server/IStoreAccessor.html" title="interface in org.eclipse.emf.cdo.server"><CODE>store accessor</CODE></A> for CDO's Objecivity back-end integration.<DT><A HREF="./org/eclipse/emf/cdo/server/objectivity/IObjectivityStoreChunkReader.html" title="interface in org.eclipse.emf.cdo.server.objectivity"><B>IObjectivityStoreChunkReader</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/server/objectivity/package-summary.html">org.eclipse.emf.cdo.server.objectivity</A><DD>A <A HREF="./org/eclipse/emf/cdo/server/IStoreChunkReader.html" title="interface in org.eclipse.emf.cdo.server"><CODE>chunk reader</CODE></A> for for CDO's Objecivity back-end integration.<DT><A HREF="./org/eclipse/emf/cdo/server/objectivity/IObjectivityStoreConfig.html" title="interface in org.eclipse.emf.cdo.server.objectivity"><B>IObjectivityStoreConfig</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/server/objectivity/package-summary.html">org.eclipse.emf.cdo.server.objectivity</A><DD>Encapsulates Objectivity-specific back-end configuration settings.<DT><A HREF="./org/eclipse/emf/cdo/server/IPermissionManager.html" title="interface in org.eclipse.emf.cdo.server"><B>IPermissionManager</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/server/package-summary.html">org.eclipse.emf.cdo.server</A><DD>Provides the protection level of <A HREF="./org/eclipse/emf/cdo/common/revision/CDORevision.html" title="interface in org.eclipse.emf.cdo.common.revision"><CODE>revisions</CODE></A> in the context of a specific user.<DT><A HREF="./org/eclipse/emf/cdo/server/db/IPreparedStatementCache.html" title="interface in org.eclipse.emf.cdo.server.db"><B>IPreparedStatementCache</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/server/db/package-summary.html">org.eclipse.emf.cdo.server.db</A><DD>Caches JDBC <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/sql/PreparedStatement.html?is-external=true" title="class or interface in java.sql"><CODE>statements</CODE></A> according to given <A HREF="./org/eclipse/emf/cdo/server/db/IPreparedStatementCache.ReuseProbability.html" title="enum in org.eclipse.emf.cdo.server.db"><CODE>reuse probabilities</CODE></A>.<DT><A HREF="./org/eclipse/emf/cdo/server/db/IPreparedStatementCache.ReuseProbability.html" title="enum in org.eclipse.emf.cdo.server.db"><B>IPreparedStatementCache.ReuseProbability</B></A> - Enum in <A HREF="./org/eclipse/emf/cdo/server/db/package-summary.html">org.eclipse.emf.cdo.server.db</A><DD>An enum for the degree of probability to which a prepared statement is reused later on.<DT><A HREF="./org/eclipse/emf/cdo/server/IQueryContext.html" title="interface in org.eclipse.emf.cdo.server"><B>IQueryContext</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/server/package-summary.html">org.eclipse.emf.cdo.server</A><DD>Represents the execution state of a <A HREF="./org/eclipse/emf/cdo/view/CDOQuery.html" title="interface in org.eclipse.emf.cdo.view"><CODE>query</CODE></A> in the server towards a <A HREF="./org/eclipse/emf/cdo/server/IQueryHandler.html" title="interface in org.eclipse.emf.cdo.server"><CODE>query
handler</CODE></A>.<DT><A HREF="./org/eclipse/emf/cdo/server/IQueryHandler.html" title="interface in org.eclipse.emf.cdo.server"><B>IQueryHandler</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/server/package-summary.html">org.eclipse.emf.cdo.server</A><DD>A query language handler that is capable of executing a <A HREF="./org/eclipse/emf/cdo/view/CDOQuery.html" title="interface in org.eclipse.emf.cdo.view"><CODE>query</CODE></A>.<DT><A HREF="./org/eclipse/emf/cdo/server/IQueryHandlerProvider.html" title="interface in org.eclipse.emf.cdo.server"><B>IQueryHandlerProvider</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/server/package-summary.html">org.eclipse.emf.cdo.server</A><DD>Provides the consumer with <A HREF="./org/eclipse/emf/cdo/server/IQueryHandler.html" title="interface in org.eclipse.emf.cdo.server"><CODE>query handlers</CODE></A> that are capable of executing <A HREF="./org/eclipse/emf/cdo/view/CDOQuery.html" title="interface in org.eclipse.emf.cdo.view"><CODE>queries</CODE></A> represented by specific <A HREF="./org/eclipse/emf/cdo/common/util/CDOQueryInfo.html" title="interface in org.eclipse.emf.cdo.common.util"><CODE>query infos</CODE></A>.<DT><A HREF="./org/eclipse/emf/cdo/server/IRepository.html" title="interface in org.eclipse.emf.cdo.server"><B>IRepository</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/server/package-summary.html">org.eclipse.emf.cdo.server</A><DD>A CDO repository.<DT><A HREF="./org/eclipse/emf/cdo/server/IRepository.Handler.html" title="interface in org.eclipse.emf.cdo.server"><B>IRepository.Handler</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/server/package-summary.html">org.eclipse.emf.cdo.server</A><DD>A marker interface to indicate valid arguments to <A HREF="./org/eclipse/emf/cdo/server/IRepository.html#addHandler(org.eclipse.emf.cdo.server.IRepository.Handler)"><CODE>IRepository.addHandler(Handler)</CODE></A> and
<A HREF="./org/eclipse/emf/cdo/server/IRepository.html#removeHandler(org.eclipse.emf.cdo.server.IRepository.Handler)"><CODE>IRepository.removeHandler(Handler)</CODE></A>.<DT><A HREF="./org/eclipse/emf/cdo/server/IRepository.Props.html" title="interface in org.eclipse.emf.cdo.server"><B>IRepository.Props</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/server/package-summary.html">org.eclipse.emf.cdo.server</A><DD>Contains symbolic constants that specifiy valid keys of <A HREF="./org/eclipse/emf/cdo/server/IRepository.html#getProperties()"><CODE>repository properties</CODE></A>.<DT><A HREF="./org/eclipse/emf/cdo/server/IRepository.ReadAccessHandler.html" title="interface in org.eclipse.emf.cdo.server"><B>IRepository.ReadAccessHandler</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/server/package-summary.html">org.eclipse.emf.cdo.server</A><DD>Provides a way to handle revisions that are to be sent to the client.<DT><A HREF="./org/eclipse/emf/cdo/server/IRepository.WriteAccessHandler.html" title="interface in org.eclipse.emf.cdo.server"><B>IRepository.WriteAccessHandler</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/server/package-summary.html">org.eclipse.emf.cdo.server</A><DD>Provides a way to handle commits that are received from a client.<DT><A HREF="./org/eclipse/emf/cdo/server/IRepositoryFactory.html" title="interface in org.eclipse.emf.cdo.server"><B>IRepositoryFactory</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/server/package-summary.html">org.eclipse.emf.cdo.server</A><DD>Creates CDO <A HREF="./org/eclipse/emf/cdo/server/IRepository.html" title="interface in org.eclipse.emf.cdo.server"><CODE>repositories</CODE></A>.<DT><A HREF="./org/eclipse/emf/cdo/location/IRepositoryLocation.html" title="interface in org.eclipse.emf.cdo.location"><B>IRepositoryLocation</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/location/package-summary.html">org.eclipse.emf.cdo.location</A><DD>A CDO server independent representation of a repository.<DT><A HREF="./org/eclipse/emf/cdo/location/IRepositoryLocationManager.html" title="interface in org.eclipse.emf.cdo.location"><B>IRepositoryLocationManager</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/location/package-summary.html">org.eclipse.emf.cdo.location</A><DD>Manages a set of <A HREF="./org/eclipse/emf/cdo/location/IRepositoryLocation.html" title="interface in org.eclipse.emf.cdo.location"><CODE>repository locations</CODE></A>.<DT><A HREF="./org/eclipse/emf/cdo/team/IRepositoryManager.html" title="interface in org.eclipse.emf.cdo.team"><B>IRepositoryManager</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/team/package-summary.html">org.eclipse.emf.cdo.team</A><DD>Manages <CODE>projects</CODE> that are mapped
to CDO repositories by the CDO <CODE>team provider</CODE>.<DT><A HREF="./org/eclipse/emf/cdo/team/IRepositoryProject.html" title="interface in org.eclipse.emf.cdo.team"><B>IRepositoryProject</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/team/package-summary.html">org.eclipse.emf.cdo.team</A><DD>Represents a <CODE>project</CODE> that is mapped
@@ -8050,10 +8052,10 @@ Constructor for exception org.eclipse.emf.cdo.util.<A HREF="./org/eclipse/emf/cd
<DT><A HREF="./org/eclipse/emf/cdo/view/CDOObjectHandler.html#objectStateChanged(org.eclipse.emf.cdo.view.CDOView, org.eclipse.emf.cdo.CDOObject, org.eclipse.emf.cdo.CDOState, org.eclipse.emf.cdo.CDOState)"><B>objectStateChanged(CDOView, CDOObject, CDOState, CDOState)</B></A> -
Method in interface org.eclipse.emf.cdo.view.<A HREF="./org/eclipse/emf/cdo/view/CDOObjectHandler.html" title="interface in org.eclipse.emf.cdo.view">CDOObjectHandler</A>
<DD>&nbsp;
-<DT><A HREF="./org/eclipse/emf/cdo/server/objectivity/ObjyStoreUtil.html" title="class in org.eclipse.emf.cdo.server.objectivity"><B>ObjyStoreUtil</B></A> - Class in <A HREF="./org/eclipse/emf/cdo/server/objectivity/package-summary.html">org.eclipse.emf.cdo.server.objectivity</A><DD>&nbsp;<DT><A HREF="./org/eclipse/emf/cdo/server/ocl/OCLExtentCreator.html" title="interface in org.eclipse.emf.cdo.server.ocl"><B>OCLExtentCreator</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/server/ocl/package-summary.html">org.eclipse.emf.cdo.server.ocl</A><DD>&nbsp;<DT><A HREF="./org/eclipse/emf/cdo/server/ocl/OCLQueryHandler.html" title="class in org.eclipse.emf.cdo.server.ocl"><B>OCLQueryHandler</B></A> - Class in <A HREF="./org/eclipse/emf/cdo/server/ocl/package-summary.html">org.eclipse.emf.cdo.server.ocl</A><DD>&nbsp;<DT><A HREF="./org/eclipse/emf/cdo/server/ocl/OCLQueryHandler.html#OCLQueryHandler()"><B>OCLQueryHandler()</B></A> -
+<DT><A HREF="./org/eclipse/emf/cdo/server/objectivity/ObjyStoreUtil.html" title="class in org.eclipse.emf.cdo.server.objectivity"><B>ObjyStoreUtil</B></A> - Class in <A HREF="./org/eclipse/emf/cdo/server/objectivity/package-summary.html">org.eclipse.emf.cdo.server.objectivity</A><DD>Provides a static factory method that creates <A HREF="./org/eclipse/emf/cdo/server/objectivity/IObjectivityStore.html" title="interface in org.eclipse.emf.cdo.server.objectivity"><CODE>IObjectivityStore</CODE></A> instances.<DT><A HREF="./org/eclipse/emf/cdo/server/ocl/OCLExtentCreator.html" title="interface in org.eclipse.emf.cdo.server.ocl"><B>OCLExtentCreator</B></A> - Interface in <A HREF="./org/eclipse/emf/cdo/server/ocl/package-summary.html">org.eclipse.emf.cdo.server.ocl</A><DD>Creates extents of <A HREF="http://download.eclipse.org/modeling/emf/emf/javadoc/2.7.0/org/eclipse/emf/ecore/EClass.html?is-external=true" title="class or interface in org.eclipse.emf.ecore"><CODE>classes</CODE></A>.<DT><A HREF="./org/eclipse/emf/cdo/server/ocl/OCLQueryHandler.html" title="class in org.eclipse.emf.cdo.server.ocl"><B>OCLQueryHandler</B></A> - Class in <A HREF="./org/eclipse/emf/cdo/server/ocl/package-summary.html">org.eclipse.emf.cdo.server.ocl</A><DD>A <A HREF="./org/eclipse/emf/cdo/server/IQueryHandler.html" title="interface in org.eclipse.emf.cdo.server"><CODE>query handler</CODE></A> that evaluates OCL query expressions.<DT><A HREF="./org/eclipse/emf/cdo/server/ocl/OCLQueryHandler.html#OCLQueryHandler()"><B>OCLQueryHandler()</B></A> -
Constructor for class org.eclipse.emf.cdo.server.ocl.<A HREF="./org/eclipse/emf/cdo/server/ocl/OCLQueryHandler.html" title="class in org.eclipse.emf.cdo.server.ocl">OCLQueryHandler</A>
<DD>&nbsp;
-<DT><A HREF="./org/eclipse/emf/cdo/server/ocl/OCLQueryHandler.Factory.html" title="class in org.eclipse.emf.cdo.server.ocl"><B>OCLQueryHandler.Factory</B></A> - Class in <A HREF="./org/eclipse/emf/cdo/server/ocl/package-summary.html">org.eclipse.emf.cdo.server.ocl</A><DD>&nbsp;<DT><A HREF="./org/eclipse/emf/cdo/server/ocl/OCLQueryHandler.Factory.html#OCLQueryHandler.Factory()"><B>OCLQueryHandler.Factory()</B></A> -
+<DT><A HREF="./org/eclipse/emf/cdo/server/ocl/OCLQueryHandler.Factory.html" title="class in org.eclipse.emf.cdo.server.ocl"><B>OCLQueryHandler.Factory</B></A> - Class in <A HREF="./org/eclipse/emf/cdo/server/ocl/package-summary.html">org.eclipse.emf.cdo.server.ocl</A><DD>Creates <A HREF="./org/eclipse/emf/cdo/server/ocl/OCLQueryHandler.html" title="class in org.eclipse.emf.cdo.server.ocl"><CODE>OCLQueryHandler</CODE></A> instances.<DT><A HREF="./org/eclipse/emf/cdo/server/ocl/OCLQueryHandler.Factory.html#OCLQueryHandler.Factory()"><B>OCLQueryHandler.Factory()</B></A> -
Constructor for class org.eclipse.emf.cdo.server.ocl.<A HREF="./org/eclipse/emf/cdo/server/ocl/OCLQueryHandler.Factory.html" title="class in org.eclipse.emf.cdo.server.ocl">OCLQueryHandler.Factory</A>
<DD>&nbsp;
<DT><A HREF="./org/eclipse/emf/cdo/common/util/CDOQueryQueue.html#offer(E, long, java.util.concurrent.TimeUnit)"><B>offer(E, long, TimeUnit)</B></A> -
@@ -8265,7 +8267,7 @@ Method in interface org.eclipse.emf.cdo.transaction.<A HREF="./org/eclipse/emf/c
<DT><A HREF="./org/eclipse/emf/cdo/view/CDOView.html#options()"><B>options()</B></A> -
Method in interface org.eclipse.emf.cdo.view.<A HREF="./org/eclipse/emf/cdo/view/CDOView.html" title="interface in org.eclipse.emf.cdo.view">CDOView</A>
<DD>&nbsp;
-<DT><A HREF="./org/eclipse/emf/cdo/package-summary.html"><B>org.eclipse.emf.cdo</B></A> - package org.eclipse.emf.cdo<DD>Client concepts like <A HREF="./org/eclipse/emf/cdo/CDOObject.html" title="interface in org.eclipse.emf.cdo"><CODE>CDOObject</CODE></A> and <A HREF="./org/eclipse/emf/cdo/CDOState.html" title="enum in org.eclipse.emf.cdo"><CODE>CDOState</CODE></A>.<DT><A HREF="./org/eclipse/emf/cdo/admin/package-summary.html"><B>org.eclipse.emf.cdo.admin</B></A> - package org.eclipse.emf.cdo.admin<DD>Client side of the protocol to administer CDO repositories remotely.<DT><A HREF="./org/eclipse/emf/cdo/common/package-summary.html"><B>org.eclipse.emf.cdo.common</B></A> - package org.eclipse.emf.cdo.common<DD>Common concepts that are differently extended in clients and servers.<DT><A HREF="./org/eclipse/emf/cdo/common/admin/package-summary.html"><B>org.eclipse.emf.cdo.common.admin</B></A> - package org.eclipse.emf.cdo.common.admin<DD>&nbsp;<DT><A HREF="./org/eclipse/emf/cdo/common/branch/package-summary.html"><B>org.eclipse.emf.cdo.common.branch</B></A> - package org.eclipse.emf.cdo.common.branch<DD>Common concepts for dealing with branches.<DT><A HREF="./org/eclipse/emf/cdo/common/commit/package-summary.html"><B>org.eclipse.emf.cdo.common.commit</B></A> - package org.eclipse.emf.cdo.common.commit<DD>Common concepts for dealing with commits and change sets.<DT><A HREF="./org/eclipse/emf/cdo/common/commit/handler/package-summary.html"><B>org.eclipse.emf.cdo.common.commit.handler</B></A> - package org.eclipse.emf.cdo.common.commit.handler<DD>Some useful commit info handler implementations.<DT><A HREF="./org/eclipse/emf/cdo/common/id/package-summary.html"><B>org.eclipse.emf.cdo.common.id</B></A> - package org.eclipse.emf.cdo.common.id<DD>Common concepts for dealing with object and revision IDs.<DT><A HREF="./org/eclipse/emf/cdo/common/lob/package-summary.html"><B>org.eclipse.emf.cdo.common.lob</B></A> - package org.eclipse.emf.cdo.common.lob<DD>Common concepts for dealing with large binary objects and large character objects.<DT><A HREF="./org/eclipse/emf/cdo/common/lock/package-summary.html"><B>org.eclipse.emf.cdo.common.lock</B></A> - package org.eclipse.emf.cdo.common.lock<DD>Common concepts for dealing with durable locks and views.<DT><A HREF="./org/eclipse/emf/cdo/common/model/package-summary.html"><B>org.eclipse.emf.cdo.common.model</B></A> - package org.eclipse.emf.cdo.common.model<DD>Common concepts for dealing with models and types.<DT><A HREF="./org/eclipse/emf/cdo/common/protocol/package-summary.html"><B>org.eclipse.emf.cdo.common.protocol</B></A> - package org.eclipse.emf.cdo.common.protocol<DD>Common concepts for dealing with protocols and CDO-specific I/O.<DT><A HREF="./org/eclipse/emf/cdo/common/revision/package-summary.html"><B>org.eclipse.emf.cdo.common.revision</B></A> - package org.eclipse.emf.cdo.common.revision<DD>Common concepts for dealing with revisions and revision lists.<DT><A HREF="./org/eclipse/emf/cdo/common/revision/delta/package-summary.html"><B>org.eclipse.emf.cdo.common.revision.delta</B></A> - package org.eclipse.emf.cdo.common.revision.delta<DD>Common concepts for dealing with revision deltas and feature deltas.<DT><A HREF="./org/eclipse/emf/cdo/common/security/package-summary.html"><B>org.eclipse.emf.cdo.common.security</B></A> - package org.eclipse.emf.cdo.common.security<DD>Common concepts for dealing with permissions and protectable entities.<DT><A HREF="./org/eclipse/emf/cdo/common/util/package-summary.html"><B>org.eclipse.emf.cdo.common.util</B></A> - package org.eclipse.emf.cdo.common.util<DD>Common utility classes, some common interfaces and exceptions.<DT><A HREF="./org/eclipse/emf/cdo/edit/package-summary.html"><B>org.eclipse.emf.cdo.edit</B></A> - package org.eclipse.emf.cdo.edit<DD>Useful base classes that can be referenced from custom EMF generator models.<DT><A HREF="./org/eclipse/emf/cdo/eresource/package-summary.html"><B>org.eclipse.emf.cdo.eresource</B></A> - package org.eclipse.emf.cdo.eresource<DD>The generated EMF API of the CDO repository file system.<DT><A HREF="./org/eclipse/emf/cdo/eresource/impl/package-summary.html"><B>org.eclipse.emf.cdo.eresource.impl</B></A> - package org.eclipse.emf.cdo.eresource.impl<DD>The generated EMF implementation of the CDO repository file system.<DT><A HREF="./org/eclipse/emf/cdo/eresource/provider/package-summary.html"><B>org.eclipse.emf.cdo.eresource.provider</B></A> - package org.eclipse.emf.cdo.eresource.provider<DD>The generated EMF edit support of the CDO repository file system.<DT><A HREF="./org/eclipse/emf/cdo/eresource/util/package-summary.html"><B>org.eclipse.emf.cdo.eresource.util</B></A> - package org.eclipse.emf.cdo.eresource.util<DD>The generated EMF utilities of the CDO repository file system.<DT><A HREF="./org/eclipse/emf/cdo/etypes/package-summary.html"><B>org.eclipse.emf.cdo.etypes</B></A> - package org.eclipse.emf.cdo.etypes<DD>The generated EMF API of the CDO system data types and native annotations.<DT><A HREF="./org/eclipse/emf/cdo/etypes/impl/package-summary.html"><B>org.eclipse.emf.cdo.etypes.impl</B></A> - package org.eclipse.emf.cdo.etypes.impl<DD>The generated EMF implementation of the CDO system data types and native annotations.<DT><A HREF="./org/eclipse/emf/cdo/etypes/provider/package-summary.html"><B>org.eclipse.emf.cdo.etypes.provider</B></A> - package org.eclipse.emf.cdo.etypes.provider<DD>The generated EMF edit support of the CDO system data types and native annotations.<DT><A HREF="./org/eclipse/emf/cdo/etypes/util/package-summary.html"><B>org.eclipse.emf.cdo.etypes.util</B></A> - package org.eclipse.emf.cdo.etypes.util<DD>The generated EMF utilities of the CDO system data types and native annotations.<DT><A HREF="./org/eclipse/emf/cdo/location/package-summary.html"><B>org.eclipse.emf.cdo.location</B></A> - package org.eclipse.emf.cdo.location<DD>Client concepts for dealing with repository locations and checkout sources.<DT><A HREF="./org/eclipse/emf/cdo/net4j/package-summary.html"><B>org.eclipse.emf.cdo.net4j</B></A> - package org.eclipse.emf.cdo.net4j<DD>Client concepts for dealing with Net4j-based sessions to remote repositories.<DT><A HREF="./org/eclipse/emf/cdo/server/package-summary.html"><B>org.eclipse.emf.cdo.server</B></A> - package org.eclipse.emf.cdo.server<DD>Server concepts for dealing with repositories and stores.<DT><A HREF="./org/eclipse/emf/cdo/server/admin/package-summary.html"><B>org.eclipse.emf.cdo.server.admin</B></A> - package org.eclipse.emf.cdo.server.admin<DD>Server side of the protocol to administer CDO repositories remotely.<DT><A HREF="./org/eclipse/emf/cdo/server/db/package-summary.html"><B>org.eclipse.emf.cdo.server.db</B></A> - package org.eclipse.emf.cdo.server.db<DD>Server concepts for dealing with DB stores and accessors.<DT><A HREF="./org/eclipse/emf/cdo/server/db/mapping/package-summary.html"><B>org.eclipse.emf.cdo.server.db.mapping</B></A> - package org.eclipse.emf.cdo.server.db.mapping<DD>Server concepts for dealing with mapping strategies and mappings for classes, lists and types.<DT><A HREF="./org/eclipse/emf/cdo/server/db4o/package-summary.html"><B>org.eclipse.emf.cdo.server.db4o</B></A> - package org.eclipse.emf.cdo.server.db4o<DD>Server concepts for dealing with DB4O stores and accessors.<DT><A HREF="./org/eclipse/emf/cdo/server/embedded/package-summary.html"><B>org.eclipse.emf.cdo.server.embedded</B></A> - package org.eclipse.emf.cdo.server.embedded<DD>Server concepts for dealing with embedded sessions.<DT><A HREF="./org/eclipse/emf/cdo/server/hibernate/package-summary.html"><B>org.eclipse.emf.cdo.server.hibernate</B></A> - package org.eclipse.emf.cdo.server.hibernate<DD>Server concepts for dealing with Hibernate stores and accessors.<DT><A HREF="./org/eclipse/emf/cdo/server/mem/package-summary.html"><B>org.eclipse.emf.cdo.server.mem</B></A> - package org.eclipse.emf.cdo.server.mem<DD>Server concepts for dealing with in-memory stores.<DT><A HREF="./org/eclipse/emf/cdo/server/mongodb/package-summary.html"><B>org.eclipse.emf.cdo.server.mongodb</B></A> - package org.eclipse.emf.cdo.server.mongodb<DD>Server concepts for dealing with MongoDB stores and accessors.<DT><A HREF="./org/eclipse/emf/cdo/server/net4j/package-summary.html"><B>org.eclipse.emf.cdo.server.net4j</B></A> - package org.eclipse.emf.cdo.server.net4j<DD>Server concepts for dealing with Net4j-based repositories and fail-over infrastructure.<DT><A HREF="./org/eclipse/emf/cdo/server/objectivity/package-summary.html"><B>org.eclipse.emf.cdo.server.objectivity</B></A> - package org.eclipse.emf.cdo.server.objectivity<DD>Server concepts for dealing with Objectivity/DB stores and accessors.<DT><A HREF="./org/eclipse/emf/cdo/server/ocl/package-summary.html"><B>org.eclipse.emf.cdo.server.ocl</B></A> - package org.eclipse.emf.cdo.server.ocl<DD>Server implementation of a generic OCL query handler.<DT><A HREF="./org/eclipse/emf/cdo/server/security/package-summary.html"><B>org.eclipse.emf.cdo.server.security</B></A> - package org.eclipse.emf.cdo.server.security<DD>Server integration of the <CODE>Security</CODE> model<DT><A HREF="./org/eclipse/emf/cdo/session/package-summary.html"><B>org.eclipse.emf.cdo.session</B></A> - package org.eclipse.emf.cdo.session<DD>Client concepts for dealing with sessions to CDO repositories.<DT><A HREF="./org/eclipse/emf/cdo/session/remote/package-summary.html"><B>org.eclipse.emf.cdo.session.remote</B></A> - package org.eclipse.emf.cdo.session.remote<DD>Client concepts for the communication and collaboration with other sessions.<DT><A HREF="./org/eclipse/emf/cdo/team/package-summary.html"><B>org.eclipse.emf.cdo.team</B></A> - package org.eclipse.emf.cdo.team<DD>Concepts to represent and manage <CODE>projects</CODE> that are mapped
+<DT><A HREF="./org/eclipse/emf/cdo/package-summary.html"><B>org.eclipse.emf.cdo</B></A> - package org.eclipse.emf.cdo<DD>Client concepts like <A HREF="./org/eclipse/emf/cdo/CDOObject.html" title="interface in org.eclipse.emf.cdo"><CODE>CDOObject</CODE></A> and <A HREF="./org/eclipse/emf/cdo/CDOState.html" title="enum in org.eclipse.emf.cdo"><CODE>CDOState</CODE></A>.<DT><A HREF="./org/eclipse/emf/cdo/admin/package-summary.html"><B>org.eclipse.emf.cdo.admin</B></A> - package org.eclipse.emf.cdo.admin<DD>Client side of the protocol to administer CDO repositories remotely.<DT><A HREF="./org/eclipse/emf/cdo/common/package-summary.html"><B>org.eclipse.emf.cdo.common</B></A> - package org.eclipse.emf.cdo.common<DD>Common concepts that are differently extended in clients and servers.<DT><A HREF="./org/eclipse/emf/cdo/common/admin/package-summary.html"><B>org.eclipse.emf.cdo.common.admin</B></A> - package org.eclipse.emf.cdo.common.admin<DD>Common concepts for the protocol to administer CDO repositories remotely.<DT><A HREF="./org/eclipse/emf/cdo/common/branch/package-summary.html"><B>org.eclipse.emf.cdo.common.branch</B></A> - package org.eclipse.emf.cdo.common.branch<DD>Common concepts for dealing with branches.<DT><A HREF="./org/eclipse/emf/cdo/common/commit/package-summary.html"><B>org.eclipse.emf.cdo.common.commit</B></A> - package org.eclipse.emf.cdo.common.commit<DD>Common concepts for dealing with commits and change sets.<DT><A HREF="./org/eclipse/emf/cdo/common/commit/handler/package-summary.html"><B>org.eclipse.emf.cdo.common.commit.handler</B></A> - package org.eclipse.emf.cdo.common.commit.handler<DD>Some useful commit info handler implementations.<DT><A HREF="./org/eclipse/emf/cdo/common/id/package-summary.html"><B>org.eclipse.emf.cdo.common.id</B></A> - package org.eclipse.emf.cdo.common.id<DD>Common concepts for dealing with object and revision IDs.<DT><A HREF="./org/eclipse/emf/cdo/common/lob/package-summary.html"><B>org.eclipse.emf.cdo.common.lob</B></A> - package org.eclipse.emf.cdo.common.lob<DD>Common concepts for dealing with large binary objects and large character objects.<DT><A HREF="./org/eclipse/emf/cdo/common/lock/package-summary.html"><B>org.eclipse.emf.cdo.common.lock</B></A> - package org.eclipse.emf.cdo.common.lock<DD>Common concepts for dealing with durable locks and views.<DT><A HREF="./org/eclipse/emf/cdo/common/model/package-summary.html"><B>org.eclipse.emf.cdo.common.model</B></A> - package org.eclipse.emf.cdo.common.model<DD>Common concepts for dealing with models and types.<DT><A HREF="./org/eclipse/emf/cdo/common/protocol/package-summary.html"><B>org.eclipse.emf.cdo.common.protocol</B></A> - package org.eclipse.emf.cdo.common.protocol<DD>Common concepts for dealing with protocols and CDO-specific I/O.<DT><A HREF="./org/eclipse/emf/cdo/common/revision/package-summary.html"><B>org.eclipse.emf.cdo.common.revision</B></A> - package org.eclipse.emf.cdo.common.revision<DD>Common concepts for dealing with revisions and revision lists.<DT><A HREF="./org/eclipse/emf/cdo/common/revision/delta/package-summary.html"><B>org.eclipse.emf.cdo.common.revision.delta</B></A> - package org.eclipse.emf.cdo.common.revision.delta<DD>Common concepts for dealing with revision deltas and feature deltas.<DT><A HREF="./org/eclipse/emf/cdo/common/security/package-summary.html"><B>org.eclipse.emf.cdo.common.security</B></A> - package org.eclipse.emf.cdo.common.security<DD>Common concepts for dealing with permissions and protectable entities.<DT><A HREF="./org/eclipse/emf/cdo/common/util/package-summary.html"><B>org.eclipse.emf.cdo.common.util</B></A> - package org.eclipse.emf.cdo.common.util<DD>Common utility classes, some common interfaces and exceptions.<DT><A HREF="./org/eclipse/emf/cdo/edit/package-summary.html"><B>org.eclipse.emf.cdo.edit</B></A> - package org.eclipse.emf.cdo.edit<DD>Useful base classes that can be referenced from custom EMF generator models.<DT><A HREF="./org/eclipse/emf/cdo/eresource/package-summary.html"><B>org.eclipse.emf.cdo.eresource</B></A> - package org.eclipse.emf.cdo.eresource<DD>The generated EMF API of the CDO repository file system.<DT><A HREF="./org/eclipse/emf/cdo/eresource/impl/package-summary.html"><B>org.eclipse.emf.cdo.eresource.impl</B></A> - package org.eclipse.emf.cdo.eresource.impl<DD>The generated EMF implementation of the CDO repository file system.<DT><A HREF="./org/eclipse/emf/cdo/eresource/provider/package-summary.html"><B>org.eclipse.emf.cdo.eresource.provider</B></A> - package org.eclipse.emf.cdo.eresource.provider<DD>The generated EMF edit support of the CDO repository file system.<DT><A HREF="./org/eclipse/emf/cdo/eresource/util/package-summary.html"><B>org.eclipse.emf.cdo.eresource.util</B></A> - package org.eclipse.emf.cdo.eresource.util<DD>The generated EMF utilities of the CDO repository file system.<DT><A HREF="./org/eclipse/emf/cdo/etypes/package-summary.html"><B>org.eclipse.emf.cdo.etypes</B></A> - package org.eclipse.emf.cdo.etypes<DD>The generated EMF API of the CDO system data types and native annotations.<DT><A HREF="./org/eclipse/emf/cdo/etypes/impl/package-summary.html"><B>org.eclipse.emf.cdo.etypes.impl</B></A> - package org.eclipse.emf.cdo.etypes.impl<DD>The generated EMF implementation of the CDO system data types and native annotations.<DT><A HREF="./org/eclipse/emf/cdo/etypes/provider/package-summary.html"><B>org.eclipse.emf.cdo.etypes.provider</B></A> - package org.eclipse.emf.cdo.etypes.provider<DD>The generated EMF edit support of the CDO system data types and native annotations.<DT><A HREF="./org/eclipse/emf/cdo/etypes/util/package-summary.html"><B>org.eclipse.emf.cdo.etypes.util</B></A> - package org.eclipse.emf.cdo.etypes.util<DD>The generated EMF utilities of the CDO system data types and native annotations.<DT><A HREF="./org/eclipse/emf/cdo/location/package-summary.html"><B>org.eclipse.emf.cdo.location</B></A> - package org.eclipse.emf.cdo.location<DD>Client concepts for dealing with repository locations and checkout sources.<DT><A HREF="./org/eclipse/emf/cdo/net4j/package-summary.html"><B>org.eclipse.emf.cdo.net4j</B></A> - package org.eclipse.emf.cdo.net4j<DD>Client concepts for dealing with Net4j-based sessions to remote repositories.<DT><A HREF="./org/eclipse/emf/cdo/server/package-summary.html"><B>org.eclipse.emf.cdo.server</B></A> - package org.eclipse.emf.cdo.server<DD>Server concepts for dealing with repositories and stores.<DT><A HREF="./org/eclipse/emf/cdo/server/admin/package-summary.html"><B>org.eclipse.emf.cdo.server.admin</B></A> - package org.eclipse.emf.cdo.server.admin<DD>Server side of the protocol to administer CDO repositories remotely.<DT><A HREF="./org/eclipse/emf/cdo/server/db/package-summary.html"><B>org.eclipse.emf.cdo.server.db</B></A> - package org.eclipse.emf.cdo.server.db<DD>Server concepts for dealing with DB stores and accessors.<DT><A HREF="./org/eclipse/emf/cdo/server/db/mapping/package-summary.html"><B>org.eclipse.emf.cdo.server.db.mapping</B></A> - package org.eclipse.emf.cdo.server.db.mapping<DD>Server concepts for dealing with mapping strategies and mappings for classes, lists and types.<DT><A HREF="./org/eclipse/emf/cdo/server/db4o/package-summary.html"><B>org.eclipse.emf.cdo.server.db4o</B></A> - package org.eclipse.emf.cdo.server.db4o<DD>Server concepts for dealing with DB4O stores and accessors.<DT><A HREF="./org/eclipse/emf/cdo/server/embedded/package-summary.html"><B>org.eclipse.emf.cdo.server.embedded</B></A> - package org.eclipse.emf.cdo.server.embedded<DD>Server concepts for dealing with embedded sessions.<DT><A HREF="./org/eclipse/emf/cdo/server/hibernate/package-summary.html"><B>org.eclipse.emf.cdo.server.hibernate</B></A> - package org.eclipse.emf.cdo.server.hibernate<DD>Server concepts for dealing with Hibernate stores and accessors.<DT><A HREF="./org/eclipse/emf/cdo/server/mem/package-summary.html"><B>org.eclipse.emf.cdo.server.mem</B></A> - package org.eclipse.emf.cdo.server.mem<DD>Server concepts for dealing with in-memory stores.<DT><A HREF="./org/eclipse/emf/cdo/server/mongodb/package-summary.html"><B>org.eclipse.emf.cdo.server.mongodb</B></A> - package org.eclipse.emf.cdo.server.mongodb<DD>Server concepts for dealing with MongoDB stores and accessors.<DT><A HREF="./org/eclipse/emf/cdo/server/net4j/package-summary.html"><B>org.eclipse.emf.cdo.server.net4j</B></A> - package org.eclipse.emf.cdo.server.net4j<DD>Server concepts for dealing with Net4j-based repositories and fail-over infrastructure.<DT><A HREF="./org/eclipse/emf/cdo/server/objectivity/package-summary.html"><B>org.eclipse.emf.cdo.server.objectivity</B></A> - package org.eclipse.emf.cdo.server.objectivity<DD>Server concepts for dealing with Objectivity/DB stores and accessors.<DT><A HREF="./org/eclipse/emf/cdo/server/ocl/package-summary.html"><B>org.eclipse.emf.cdo.server.ocl</B></A> - package org.eclipse.emf.cdo.server.ocl<DD>Server implementation of a generic OCL query handler.<DT><A HREF="./org/eclipse/emf/cdo/server/security/package-summary.html"><B>org.eclipse.emf.cdo.server.security</B></A> - package org.eclipse.emf.cdo.server.security<DD>Server integration of the <CODE>Security</CODE> model<DT><A HREF="./org/eclipse/emf/cdo/session/package-summary.html"><B>org.eclipse.emf.cdo.session</B></A> - package org.eclipse.emf.cdo.session<DD>Client concepts for dealing with sessions to CDO repositories.<DT><A HREF="./org/eclipse/emf/cdo/session/remote/package-summary.html"><B>org.eclipse.emf.cdo.session.remote</B></A> - package org.eclipse.emf.cdo.session.remote<DD>Client concepts for the communication and collaboration with other sessions.<DT><A HREF="./org/eclipse/emf/cdo/team/package-summary.html"><B>org.eclipse.emf.cdo.team</B></A> - package org.eclipse.emf.cdo.team<DD>Concepts to represent and manage <CODE>projects</CODE> that are mapped
to CDO repositories by the CDO <CODE>team provider</CODE><DT><A HREF="./org/eclipse/emf/cdo/transaction/package-summary.html"><B>org.eclipse.emf.cdo.transaction</B></A> - package org.eclipse.emf.cdo.transaction<DD>Client concepts for dealing with transactions, distributed transactions and their save points.<DT><A HREF="./org/eclipse/emf/cdo/ui/package-summary.html"><B>org.eclipse.emf.cdo.ui</B></A> - package org.eclipse.emf.cdo.ui<DD>Reusable UI components specific to the CDO Model Repository.<DT><A HREF="./org/eclipse/emf/cdo/ui/ide/package-summary.html"><B>org.eclipse.emf.cdo.ui.ide</B></A> - package org.eclipse.emf.cdo.ui.ide<DD>Reusable UI IDE components specific to the CDO Model Repository.<DT><A HREF="./org/eclipse/emf/cdo/ui/widgets/package-summary.html"><B>org.eclipse.emf.cdo.ui.widgets</B></A> - package org.eclipse.emf.cdo.ui.widgets<DD>A library with reusable widgets.<DT><A HREF="./org/eclipse/emf/cdo/util/package-summary.html"><B>org.eclipse.emf.cdo.util</B></A> - package org.eclipse.emf.cdo.util<DD>Client utility classes, some common interfaces and exceptions.<DT><A HREF="./org/eclipse/emf/cdo/view/package-summary.html"><B>org.eclipse.emf.cdo.view</B></A> - package org.eclipse.emf.cdo.view<DD>Client concepts for dealing with views, view sets, queries, CDO objects and EMF resource sets.<DT><A HREF="./org/eclipse/emf/cdo/workspace/package-summary.html"><B>org.eclipse.emf.cdo.workspace</B></A> - package org.eclipse.emf.cdo.workspace<DD>Concepts to checkout, open and further operate CDO <A HREF="./org/eclipse/emf/cdo/workspace/CDOWorkspace.html" title="interface in org.eclipse.emf.cdo.workspace"><CODE>workspaces</CODE></A><DT><A HREF="./org/eclipse/emf/cdo/workspace/efs/package-summary.html"><B>org.eclipse.emf.cdo.workspace.efs</B></A> - package org.eclipse.emf.cdo.workspace.efs<DD>Concepts to deal with the <CODE>Eclipse File System (EFS)</CODE> implementation
for CDO <A HREF="./org/eclipse/emf/cdo/workspace/CDOWorkspace.html" title="interface in org.eclipse.emf.cdo.workspace"><CODE>workspaces</CODE></A><DT><A HREF="./org/eclipse/emf/internal/cdo/package-summary.html"><B>org.eclipse.emf.internal.cdo</B></A> - package org.eclipse.emf.internal.cdo<DD>Exposes <A HREF="./org/eclipse/emf/internal/cdo/CDOObjectImpl.html" title="class in org.eclipse.emf.internal.cdo"><CODE>CDOObjectImpl</CODE></A> for extension in generated EMF models.<DT><A HREF="./org/eclipse/emf/cdo/common/revision/CDORevisionUtil.AllRevisionsDumper.Stream.html#out()"><B>out()</B></A> -
Method in class org.eclipse.emf.cdo.common.revision.<A HREF="./org/eclipse/emf/cdo/common/revision/CDORevisionUtil.AllRevisionsDumper.Stream.html" title="class in org.eclipse.emf.cdo.common.revision">CDORevisionUtil.AllRevisionsDumper.Stream</A>
diff --git a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/common/admin/class-use/CDOAdmin.html b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/common/admin/class-use/CDOAdmin.html
index c9651204f7..66f3f9a044 100644
--- a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/common/admin/class-use/CDOAdmin.html
+++ b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/common/admin/class-use/CDOAdmin.html
@@ -95,7 +95,7 @@ Packages that use <A HREF="../../../../../../../org/eclipse/emf/cdo/common/admin
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="#org.eclipse.emf.cdo.common.admin"><B>org.eclipse.emf.cdo.common.admin</B></A></TD>
-<TD>&nbsp;&nbsp;</TD>
+<TD>Common concepts for the protocol to administer CDO repositories remotely.&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
diff --git a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/common/admin/class-use/CDOAdminRepository.html b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/common/admin/class-use/CDOAdminRepository.html
index 0ecf8b03a1..2cae2e6148 100644
--- a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/common/admin/class-use/CDOAdminRepository.html
+++ b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/common/admin/class-use/CDOAdminRepository.html
@@ -91,7 +91,7 @@ Packages that use <A HREF="../../../../../../../org/eclipse/emf/cdo/common/admin
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="#org.eclipse.emf.cdo.common.admin"><B>org.eclipse.emf.cdo.common.admin</B></A></TD>
-<TD>&nbsp;&nbsp;</TD>
+<TD>Common concepts for the protocol to administer CDO repositories remotely.&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
diff --git a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/common/admin/package-summary.html b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/common/admin/package-summary.html
index 22f62c60e4..e4918ff3b1 100644
--- a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/common/admin/package-summary.html
+++ b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/common/admin/package-summary.html
@@ -82,6 +82,10 @@ function windowTitle()
<H2>
Package org.eclipse.emf.cdo.common.admin
</H2>
+<A NAME="package_description"><!-- --></A>
+Common concepts for the protocol to administer CDO repositories remotely.
+
+<P>
<map id="APIVIZ" name="APIVIZ">
<area shape="rect" id="node1" href="CDOAdmin.html" title="&#171;interface&#187; CDOAdmin" alt="" coords="271,209,358,249"/>
@@ -111,6 +115,9 @@ Package org.eclipse.emf.cdo.common.admin
&nbsp;
<P>
+<P>
+
+<P>
<DL>
</DL>
<HR>
diff --git a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/common/admin/package-use.html b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/common/admin/package-use.html
index fc2ab8508b..bd44949ee7 100644
--- a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/common/admin/package-use.html
+++ b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/common/admin/package-use.html
@@ -95,7 +95,7 @@ Packages that use <A HREF="../../../../../../org/eclipse/emf/cdo/common/admin/pa
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="#org.eclipse.emf.cdo.common.admin"><B>org.eclipse.emf.cdo.common.admin</B></A></TD>
-<TD>&nbsp;&nbsp;</TD>
+<TD>Common concepts for the protocol to administer CDO repositories remotely.&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
diff --git a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/common/class-use/CDOCommonRepository.html b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/common/class-use/CDOCommonRepository.html
index 9419660250..d7a2127b4f 100644
--- a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/common/class-use/CDOCommonRepository.html
+++ b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/common/class-use/CDOCommonRepository.html
@@ -91,7 +91,7 @@ Packages that use <A HREF="../../../../../../org/eclipse/emf/cdo/common/CDOCommo
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="#org.eclipse.emf.cdo.common.admin"><B>org.eclipse.emf.cdo.common.admin</B></A></TD>
-<TD>&nbsp;&nbsp;</TD>
+<TD>Common concepts for the protocol to administer CDO repositories remotely.&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="#org.eclipse.emf.cdo.server"><B>org.eclipse.emf.cdo.server</B></A></TD>
diff --git a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/common/package-use.html b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/common/package-use.html
index 1f0d63a4b5..f09490f301 100644
--- a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/common/package-use.html
+++ b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/common/package-use.html
@@ -95,7 +95,7 @@ Packages that use <A HREF="../../../../../org/eclipse/emf/cdo/common/package-sum
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="#org.eclipse.emf.cdo.common.admin"><B>org.eclipse.emf.cdo.common.admin</B></A></TD>
-<TD>&nbsp;&nbsp;</TD>
+<TD>Common concepts for the protocol to administer CDO repositories remotely.&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="#org.eclipse.emf.cdo.common.lock"><B>org.eclipse.emf.cdo.common.lock</B></A></TD>
diff --git a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/common/revision/CDOIDAndVersion.html b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/common/revision/CDOIDAndVersion.html
index d34f3ab6c4..f72ec82ccb 100644
--- a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/common/revision/CDOIDAndVersion.html
+++ b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/common/revision/CDOIDAndVersion.html
@@ -109,7 +109,7 @@ Interface CDOIDAndVersion</H2>
<P>
-An <A HREF="../../../../../../org/eclipse/emf/cdo/common/id/CDOID.html" title="interface in org.eclipse.emf.cdo.common.id"><CODE>ID</CODE></A> / version pair.
+An <A HREF="../../../../../../org/eclipse/emf/cdo/common/id/CDOID.html" title="interface in org.eclipse.emf.cdo.common.id"><CODE>ID</CODE></A> / version number pair.
<P>
<P>
diff --git a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/common/revision/package-summary.html b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/common/revision/package-summary.html
index da064ed9f9..a0ebcfdba1 100644
--- a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/common/revision/package-summary.html
+++ b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/common/revision/package-summary.html
@@ -135,7 +135,7 @@ Common concepts for dealing with revisions and revision lists.
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../../../org/eclipse/emf/cdo/common/revision/CDOIDAndVersion.html" title="interface in org.eclipse.emf.cdo.common.revision">CDOIDAndVersion</A></B></TD>
-<TD>An <A HREF="../../../../../../org/eclipse/emf/cdo/common/id/CDOID.html" title="interface in org.eclipse.emf.cdo.common.id"><CODE>ID</CODE></A> / version pair.</TD>
+<TD>An <A HREF="../../../../../../org/eclipse/emf/cdo/common/id/CDOID.html" title="interface in org.eclipse.emf.cdo.common.id"><CODE>ID</CODE></A> / version number pair.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../../../org/eclipse/emf/cdo/common/revision/CDOList.html" title="interface in org.eclipse.emf.cdo.common.revision">CDOList</A></B></TD>
diff --git a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/common/revision/package-use.html b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/common/revision/package-use.html
index 6f10a14986..e5a87437f2 100644
--- a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/common/revision/package-use.html
+++ b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/common/revision/package-use.html
@@ -223,7 +223,7 @@ Classes in <A HREF="../../../../../../org/eclipse/emf/cdo/common/revision/packag
<TD><B><A HREF="../../../../../../org/eclipse/emf/cdo/common/revision/class-use/CDOIDAndVersion.html#org.eclipse.emf.cdo.common.commit"><B>CDOIDAndVersion</B></A></B>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;An <A HREF="../../../../../../org/eclipse/emf/cdo/common/id/CDOID.html" title="interface in org.eclipse.emf.cdo.common.id"><CODE>ID</CODE></A> / version pair.</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;An <A HREF="../../../../../../org/eclipse/emf/cdo/common/id/CDOID.html" title="interface in org.eclipse.emf.cdo.common.id"><CODE>ID</CODE></A> / version number pair.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><B><A HREF="../../../../../../org/eclipse/emf/cdo/common/revision/class-use/CDORevisionKey.html#org.eclipse.emf.cdo.common.commit"><B>CDORevisionKey</B></A></B>
@@ -250,7 +250,7 @@ Classes in <A HREF="../../../../../../org/eclipse/emf/cdo/common/revision/packag
<TD><B><A HREF="../../../../../../org/eclipse/emf/cdo/common/revision/class-use/CDOIDAndVersion.html#org.eclipse.emf.cdo.common.id"><B>CDOIDAndVersion</B></A></B>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;An <A HREF="../../../../../../org/eclipse/emf/cdo/common/id/CDOID.html" title="interface in org.eclipse.emf.cdo.common.id"><CODE>ID</CODE></A> / version pair.</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;An <A HREF="../../../../../../org/eclipse/emf/cdo/common/id/CDOID.html" title="interface in org.eclipse.emf.cdo.common.id"><CODE>ID</CODE></A> / version number pair.</TD>
</TR>
</TABLE>
&nbsp;
@@ -271,7 +271,7 @@ Classes in <A HREF="../../../../../../org/eclipse/emf/cdo/common/revision/packag
<TD><B><A HREF="../../../../../../org/eclipse/emf/cdo/common/revision/class-use/CDOIDAndVersion.html#org.eclipse.emf.cdo.common.protocol"><B>CDOIDAndVersion</B></A></B>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;An <A HREF="../../../../../../org/eclipse/emf/cdo/common/id/CDOID.html" title="interface in org.eclipse.emf.cdo.common.id"><CODE>ID</CODE></A> / version pair.</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;An <A HREF="../../../../../../org/eclipse/emf/cdo/common/id/CDOID.html" title="interface in org.eclipse.emf.cdo.common.id"><CODE>ID</CODE></A> / version number pair.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><B><A HREF="../../../../../../org/eclipse/emf/cdo/common/revision/class-use/CDOList.html#org.eclipse.emf.cdo.common.protocol"><B>CDOList</B></A></B>
@@ -312,7 +312,7 @@ Classes in <A HREF="../../../../../../org/eclipse/emf/cdo/common/revision/packag
<TD><B><A HREF="../../../../../../org/eclipse/emf/cdo/common/revision/class-use/CDOIDAndVersion.html#org.eclipse.emf.cdo.common.revision"><B>CDOIDAndVersion</B></A></B>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;An <A HREF="../../../../../../org/eclipse/emf/cdo/common/id/CDOID.html" title="interface in org.eclipse.emf.cdo.common.id"><CODE>ID</CODE></A> / version pair.</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;An <A HREF="../../../../../../org/eclipse/emf/cdo/common/id/CDOID.html" title="interface in org.eclipse.emf.cdo.common.id"><CODE>ID</CODE></A> / version number pair.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><B><A HREF="../../../../../../org/eclipse/emf/cdo/common/revision/class-use/CDOList.html#org.eclipse.emf.cdo.common.revision"><B>CDOList</B></A></B>
@@ -425,7 +425,7 @@ Classes in <A HREF="../../../../../../org/eclipse/emf/cdo/common/revision/packag
<TD><B><A HREF="../../../../../../org/eclipse/emf/cdo/common/revision/class-use/CDOIDAndVersion.html#org.eclipse.emf.cdo.common.revision.delta"><B>CDOIDAndVersion</B></A></B>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;An <A HREF="../../../../../../org/eclipse/emf/cdo/common/id/CDOID.html" title="interface in org.eclipse.emf.cdo.common.id"><CODE>ID</CODE></A> / version pair.</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;An <A HREF="../../../../../../org/eclipse/emf/cdo/common/id/CDOID.html" title="interface in org.eclipse.emf.cdo.common.id"><CODE>ID</CODE></A> / version number pair.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><B><A HREF="../../../../../../org/eclipse/emf/cdo/common/revision/class-use/CDORevisable.html#org.eclipse.emf.cdo.common.revision.delta"><B>CDORevisable</B></A></B>
diff --git a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/common/util/class-use/CDOTimeProvider.html b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/common/util/class-use/CDOTimeProvider.html
index cc842c3c4c..50574f36b9 100644
--- a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/common/util/class-use/CDOTimeProvider.html
+++ b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/common/util/class-use/CDOTimeProvider.html
@@ -95,7 +95,7 @@ Packages that use <A HREF="../../../../../../../org/eclipse/emf/cdo/common/util/
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="#org.eclipse.emf.cdo.common.admin"><B>org.eclipse.emf.cdo.common.admin</B></A></TD>
-<TD>&nbsp;&nbsp;</TD>
+<TD>Common concepts for the protocol to administer CDO repositories remotely.&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="#org.eclipse.emf.cdo.server"><B>org.eclipse.emf.cdo.server</B></A></TD>
diff --git a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/common/util/package-use.html b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/common/util/package-use.html
index b290448aa2..6fc52a2d1a 100644
--- a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/common/util/package-use.html
+++ b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/common/util/package-use.html
@@ -95,7 +95,7 @@ Packages that use <A HREF="../../../../../../org/eclipse/emf/cdo/common/util/pac
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="#org.eclipse.emf.cdo.common.admin"><B>org.eclipse.emf.cdo.common.admin</B></A></TD>
-<TD>&nbsp;&nbsp;</TD>
+<TD>Common concepts for the protocol to administer CDO repositories remotely.&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="#org.eclipse.emf.cdo.common.util"><B>org.eclipse.emf.cdo.common.util</B></A></TD>
diff --git a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/class-use/IQueryHandler.html b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/class-use/IQueryHandler.html
index 8ff05bcab8..cfd785cf5a 100644
--- a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/class-use/IQueryHandler.html
+++ b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/class-use/IQueryHandler.html
@@ -145,7 +145,7 @@ Uses of <A HREF="../../../../../../org/eclipse/emf/cdo/server/IQueryHandler.html
<TD><CODE><B><A HREF="../../../../../../org/eclipse/emf/cdo/server/ocl/OCLQueryHandler.html" title="class in org.eclipse.emf.cdo.server.ocl">OCLQueryHandler</A></B></CODE>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A <A HREF="../../../../../../org/eclipse/emf/cdo/server/IQueryHandler.html" title="interface in org.eclipse.emf.cdo.server"><CODE>query handler</CODE></A> that evaluates OCL query expressions.</TD>
</TR>
</TABLE>
&nbsp;
diff --git a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/class-use/IQueryHandlerProvider.html b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/class-use/IQueryHandlerProvider.html
index da9ca1f7c6..af5977d4f6 100644
--- a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/class-use/IQueryHandlerProvider.html
+++ b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/class-use/IQueryHandlerProvider.html
@@ -248,7 +248,7 @@ Uses of <A HREF="../../../../../../org/eclipse/emf/cdo/server/IQueryHandlerProvi
<TD><CODE><B><A HREF="../../../../../../org/eclipse/emf/cdo/server/mongodb/IMongoDBStoreAccessor.html" title="interface in org.eclipse.emf.cdo.server.mongodb">IMongoDBStoreAccessor</A></B></CODE>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A <A HREF="../../../../../../org/eclipse/emf/cdo/server/IStoreAccessor.html" title="interface in org.eclipse.emf.cdo.server"><CODE>store accessor</CODE></A> for CDO's <a href="http://www.mongodb.org">MongoDB</a> back-end integration.</TD>
</TR>
</TABLE>
&nbsp;
@@ -273,7 +273,7 @@ Uses of <A HREF="../../../../../../org/eclipse/emf/cdo/server/IQueryHandlerProvi
<TD><CODE><B><A HREF="../../../../../../org/eclipse/emf/cdo/server/objectivity/IObjectivityStoreAccessor.html" title="interface in org.eclipse.emf.cdo.server.objectivity">IObjectivityStoreAccessor</A></B></CODE>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A <A HREF="../../../../../../org/eclipse/emf/cdo/server/IStoreAccessor.html" title="interface in org.eclipse.emf.cdo.server"><CODE>store accessor</CODE></A> for CDO's Objecivity back-end integration.</TD>
</TR>
</TABLE>
&nbsp;
diff --git a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/class-use/IStore.html b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/class-use/IStore.html
index 1c1b17b304..734e3d3c64 100644
--- a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/class-use/IStore.html
+++ b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/class-use/IStore.html
@@ -362,7 +362,7 @@ Uses of <A HREF="../../../../../../org/eclipse/emf/cdo/server/IStore.html" title
<TD><CODE><B><A HREF="../../../../../../org/eclipse/emf/cdo/server/mongodb/IMongoDBStore.html" title="interface in org.eclipse.emf.cdo.server.mongodb">IMongoDBStore</A></B></CODE>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The main entry point to the API of CDO's <a href="http://www.mongodb.org">MongoDB</a> back-end integration.</TD>
</TR>
</TABLE>
&nbsp;
diff --git a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/class-use/IStoreAccessor.Raw.html b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/class-use/IStoreAccessor.Raw.html
index 40382bde3b..dcdfebde08 100644
--- a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/class-use/IStoreAccessor.Raw.html
+++ b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/class-use/IStoreAccessor.Raw.html
@@ -174,7 +174,7 @@ Uses of <A HREF="../../../../../../org/eclipse/emf/cdo/server/IStoreAccessor.Raw
<TD><CODE><B><A HREF="../../../../../../org/eclipse/emf/cdo/server/objectivity/IObjectivityStoreAccessor.html" title="interface in org.eclipse.emf.cdo.server.objectivity">IObjectivityStoreAccessor</A></B></CODE>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A <A HREF="../../../../../../org/eclipse/emf/cdo/server/IStoreAccessor.html" title="interface in org.eclipse.emf.cdo.server"><CODE>store accessor</CODE></A> for CDO's Objecivity back-end integration.</TD>
</TR>
</TABLE>
&nbsp;
diff --git a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/class-use/IStoreAccessor.html b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/class-use/IStoreAccessor.html
index 7b82f36a52..96b6e25381 100644
--- a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/class-use/IStoreAccessor.html
+++ b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/class-use/IStoreAccessor.html
@@ -268,7 +268,7 @@ Uses of <A HREF="../../../../../../org/eclipse/emf/cdo/server/IStoreAccessor.htm
<TD><CODE><B><A HREF="../../../../../../org/eclipse/emf/cdo/server/mongodb/IMongoDBStoreAccessor.html" title="interface in org.eclipse.emf.cdo.server.mongodb">IMongoDBStoreAccessor</A></B></CODE>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A <A HREF="../../../../../../org/eclipse/emf/cdo/server/IStoreAccessor.html" title="interface in org.eclipse.emf.cdo.server"><CODE>store accessor</CODE></A> for CDO's <a href="http://www.mongodb.org">MongoDB</a> back-end integration.</TD>
</TR>
</TABLE>
&nbsp;
@@ -293,7 +293,7 @@ Uses of <A HREF="../../../../../../org/eclipse/emf/cdo/server/IStoreAccessor.htm
<TD><CODE><B><A HREF="../../../../../../org/eclipse/emf/cdo/server/objectivity/IObjectivityStoreAccessor.html" title="interface in org.eclipse.emf.cdo.server.objectivity">IObjectivityStoreAccessor</A></B></CODE>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A <A HREF="../../../../../../org/eclipse/emf/cdo/server/IStoreAccessor.html" title="interface in org.eclipse.emf.cdo.server"><CODE>store accessor</CODE></A> for CDO's Objecivity back-end integration.</TD>
</TR>
</TABLE>
&nbsp;
diff --git a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/class-use/IStoreChunkReader.html b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/class-use/IStoreChunkReader.html
index b577d45a23..3d814ce998 100644
--- a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/class-use/IStoreChunkReader.html
+++ b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/class-use/IStoreChunkReader.html
@@ -204,7 +204,7 @@ Uses of <A HREF="../../../../../../org/eclipse/emf/cdo/server/IStoreChunkReader.
<TD><CODE><B><A HREF="../../../../../../org/eclipse/emf/cdo/server/objectivity/IObjectivityStoreChunkReader.html" title="interface in org.eclipse.emf.cdo.server.objectivity">IObjectivityStoreChunkReader</A></B></CODE>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A <A HREF="../../../../../../org/eclipse/emf/cdo/server/IStoreChunkReader.html" title="interface in org.eclipse.emf.cdo.server"><CODE>chunk reader</CODE></A> for for CDO's Objecivity back-end integration.</TD>
</TR>
</TABLE>
&nbsp;
diff --git a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/db/IDBStore.Props.html b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/db/IDBStore.Props.html
index 85f7d1d664..98d281782e 100644
--- a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/db/IDBStore.Props.html
+++ b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/db/IDBStore.Props.html
@@ -108,9 +108,17 @@ Interface IDBStore.Props</H2>
<P>
+Contains symbolic constants that specifiy valid keys of <A HREF="../../../../../../org/eclipse/emf/cdo/server/IRepository.html#getProperties()"><CODE>DB store properties</CODE></A>.
+<P>
+
+<P>
<DL>
<DT><B>Since:</B></DT>
<DD>4.0</DD>
+<DT><B>No Implement</B></DT>
+ <DD>This interface is not intended to be implemented by clients.</DD>
+<DT><B>No Extend</B></DT>
+ <DD>This interface is not intended to be extended by clients.</DD>
</DL>
<HR>
diff --git a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/db/IDBStore.html b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/db/IDBStore.html
index 1ca82334f7..d129bb9a49 100644
--- a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/db/IDBStore.html
+++ b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/db/IDBStore.html
@@ -139,7 +139,7 @@ The main entry point to the API of CDO's proprietary object/relational mapper.
<TD><CODE><B><A HREF="../../../../../../org/eclipse/emf/cdo/server/db/IDBStore.Props.html" title="interface in org.eclipse.emf.cdo.server.db">IDBStore.Props</A></B></CODE>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Contains symbolic constants that specifiy valid keys of <A HREF="../../../../../../org/eclipse/emf/cdo/server/IRepository.html#getProperties()"><CODE>DB store properties</CODE></A>.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="nested_classes_inherited_from_class_org.eclipse.emf.cdo.server.IStore"><!-- --></A>
diff --git a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/db/package-summary.html b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/db/package-summary.html
index 3509a1cde4..9d9a2feb82 100644
--- a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/db/package-summary.html
+++ b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/db/package-summary.html
@@ -116,7 +116,7 @@ Server concepts for dealing with DB stores and accessors.
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../../../org/eclipse/emf/cdo/server/db/IDBStore.Props.html" title="interface in org.eclipse.emf.cdo.server.db">IDBStore.Props</A></B></TD>
-<TD>&nbsp;</TD>
+<TD>Contains symbolic constants that specifiy valid keys of <A HREF="../../../../../../org/eclipse/emf/cdo/server/IRepository.html#getProperties()"><CODE>DB store properties</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../../../org/eclipse/emf/cdo/server/db/IDBStoreAccessor.html" title="interface in org.eclipse.emf.cdo.server.db">IDBStoreAccessor</A></B></TD>
diff --git a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/mongodb/CDOMongoDBUtil.html b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/mongodb/CDOMongoDBUtil.html
index 5ec26f4cba..be3ac9ac0d 100644
--- a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/mongodb/CDOMongoDBUtil.html
+++ b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/mongodb/CDOMongoDBUtil.html
@@ -110,6 +110,10 @@ Class CDOMongoDBUtil</H2>
<P>
+Various static methods that may help in setting up and dealing with <A HREF="../../../../../../org/eclipse/emf/cdo/server/mongodb/IMongoDBStore.html" title="interface in org.eclipse.emf.cdo.server.mongodb"><CODE>MongoDB stores</CODE></A>.
+<P>
+
+<P>
<HR>
<P>
diff --git a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/mongodb/IMongoDBStore.html b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/mongodb/IMongoDBStore.html
index 8ee8d93fdd..c30709cf66 100644
--- a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/mongodb/IMongoDBStore.html
+++ b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/mongodb/IMongoDBStore.html
@@ -110,6 +110,10 @@ Interface IMongoDBStore</H2>
<P>
+The main entry point to the API of CDO's <a href="http://www.mongodb.org">MongoDB</a> back-end integration.
+<P>
+
+<P>
<DL>
<DT><B>No Implement</B></DT>
<DD>This interface is not intended to be implemented by clients.</DD>
diff --git a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/mongodb/IMongoDBStoreAccessor.html b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/mongodb/IMongoDBStoreAccessor.html
index 9d52df5e45..5b9d3f1881 100644
--- a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/mongodb/IMongoDBStoreAccessor.html
+++ b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/mongodb/IMongoDBStoreAccessor.html
@@ -110,6 +110,10 @@ Interface IMongoDBStoreAccessor</H2>
<P>
+A <A HREF="../../../../../../org/eclipse/emf/cdo/server/IStoreAccessor.html" title="interface in org.eclipse.emf.cdo.server"><CODE>store accessor</CODE></A> for CDO's <a href="http://www.mongodb.org">MongoDB</a> back-end integration.
+<P>
+
+<P>
<DL>
<DT><B>No Implement</B></DT>
<DD>This interface is not intended to be implemented by clients.</DD>
diff --git a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/mongodb/package-summary.html b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/mongodb/package-summary.html
index 14bbe5c49e..9aaba3cbbf 100644
--- a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/mongodb/package-summary.html
+++ b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/mongodb/package-summary.html
@@ -104,11 +104,11 @@ Server concepts for dealing with MongoDB stores and accessors.
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../../../org/eclipse/emf/cdo/server/mongodb/IMongoDBStore.html" title="interface in org.eclipse.emf.cdo.server.mongodb">IMongoDBStore</A></B></TD>
-<TD>&nbsp;</TD>
+<TD>The main entry point to the API of CDO's <a href="http://www.mongodb.org">MongoDB</a> back-end integration.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../../../org/eclipse/emf/cdo/server/mongodb/IMongoDBStoreAccessor.html" title="interface in org.eclipse.emf.cdo.server.mongodb">IMongoDBStoreAccessor</A></B></TD>
-<TD>&nbsp;</TD>
+<TD>A <A HREF="../../../../../../org/eclipse/emf/cdo/server/IStoreAccessor.html" title="interface in org.eclipse.emf.cdo.server"><CODE>store accessor</CODE></A> for CDO's <a href="http://www.mongodb.org">MongoDB</a> back-end integration.</TD>
</TR>
</TABLE>
&nbsp;
@@ -122,7 +122,7 @@ Server concepts for dealing with MongoDB stores and accessors.
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../../../org/eclipse/emf/cdo/server/mongodb/CDOMongoDBUtil.html" title="class in org.eclipse.emf.cdo.server.mongodb">CDOMongoDBUtil</A></B></TD>
-<TD>&nbsp;</TD>
+<TD>Various static methods that may help in setting up and dealing with <A HREF="../../../../../../org/eclipse/emf/cdo/server/mongodb/IMongoDBStore.html" title="interface in org.eclipse.emf.cdo.server.mongodb"><CODE>MongoDB stores</CODE></A>.</TD>
</TR>
</TABLE>
&nbsp;
diff --git a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/mongodb/package-use.html b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/mongodb/package-use.html
index 74eea873fd..d7a5cc154c 100644
--- a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/mongodb/package-use.html
+++ b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/mongodb/package-use.html
@@ -106,7 +106,7 @@ Classes in <A HREF="../../../../../../org/eclipse/emf/cdo/server/mongodb/package
<TD><B><A HREF="../../../../../../org/eclipse/emf/cdo/server/mongodb/class-use/IMongoDBStore.html#org.eclipse.emf.cdo.server.mongodb"><B>IMongoDBStore</B></A></B>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The main entry point to the API of CDO's <a href="http://www.mongodb.org">MongoDB</a> back-end integration.</TD>
</TR>
</TABLE>
&nbsp;
diff --git a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/CDONet4jServerUtil.html b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/CDONet4jServerUtil.html
index f4e7b186b8..93f8cbf212 100644
--- a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/CDONet4jServerUtil.html
+++ b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/CDONet4jServerUtil.html
@@ -110,6 +110,10 @@ Class CDONet4jServerUtil</H2>
<P>
+Various static methods that may help with the server-side setup to support Net4j-specific CDO <A HREF="../../../../../../org/eclipse/emf/cdo/common/CDOCommonSession.html" title="interface in org.eclipse.emf.cdo.common"><CODE>sessions</CODE></A>.
+<P>
+
+<P>
<HR>
<P>
diff --git a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/FailoverAgent.Protocol.html b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/FailoverAgent.Protocol.html
index 44991db5bb..2622090e1c 100644
--- a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/FailoverAgent.Protocol.html
+++ b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/FailoverAgent.Protocol.html
@@ -122,6 +122,10 @@ Class FailoverAgent.Protocol</H2>
<P>
+The agent-side implementation of the <A HREF="../../../../../../org/eclipse/emf/cdo/server/net4j/FailoverMonitor.html" title="class in org.eclipse.emf.cdo.server.net4j"><CODE>fail-over monitor</CODE></A> protocol.
+<P>
+
+<P>
<HR>
<P>
diff --git a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/FailoverAgent.html b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/FailoverAgent.html
index be4175e265..4ffde2dee1 100644
--- a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/FailoverAgent.html
+++ b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/FailoverAgent.html
@@ -118,6 +118,10 @@ Class FailoverAgent</H2>
<P>
+A repository-side agent for a <A HREF="../../../../../../org/eclipse/emf/cdo/server/net4j/FailoverMonitor.html" title="class in org.eclipse.emf.cdo.server.net4j"><CODE>fail-over monitor</CODE></A>.
+<P>
+
+<P>
<DL>
<DT><B>Since:</B></DT>
<DD>4.0</DD>
@@ -139,7 +143,7 @@ Class FailoverAgent</H2>
<TD><CODE><B><A HREF="../../../../../../org/eclipse/emf/cdo/server/net4j/FailoverAgent.Protocol.html" title="class in org.eclipse.emf.cdo.server.net4j">FailoverAgent.Protocol</A></B></CODE>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The agent-side implementation of the <A HREF="../../../../../../org/eclipse/emf/cdo/server/net4j/FailoverMonitor.html" title="class in org.eclipse.emf.cdo.server.net4j"><CODE>fail-over monitor</CODE></A> protocol.</TD>
</TR>
</TABLE>
&nbsp;<!-- =========== FIELD SUMMARY =========== -->
diff --git a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/FailoverMonitor.AbstractServerProtocolFactory.html b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/FailoverMonitor.AbstractServerProtocolFactory.html
index 81bd517c11..3d06b46e64 100644
--- a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/FailoverMonitor.AbstractServerProtocolFactory.html
+++ b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/FailoverMonitor.AbstractServerProtocolFactory.html
@@ -126,6 +126,11 @@ Class FailoverMonitor.AbstractServerProtocolFactory</H2>
<P>
+An abstract base class for the <CODE>server-side protocol factories</CODE>
+ required by a <A HREF="../../../../../../org/eclipse/emf/cdo/server/net4j/FailoverMonitor.html" title="class in org.eclipse.emf.cdo.server.net4j"><CODE>fail-over monitor</CODE></A>.
+<P>
+
+<P>
<HR>
<P>
diff --git a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/FailoverMonitor.AgentProtocol.Factory.html b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/FailoverMonitor.AgentProtocol.Factory.html
index 98dff2f980..6e9b815f8b 100644
--- a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/FailoverMonitor.AgentProtocol.Factory.html
+++ b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/FailoverMonitor.AgentProtocol.Factory.html
@@ -120,6 +120,10 @@ Class FailoverMonitor.AgentProtocol.Factory</H2>
<P>
+Creates <A HREF="../../../../../../org/eclipse/emf/cdo/server/net4j/FailoverMonitor.AgentProtocol.html" title="class in org.eclipse.emf.cdo.server.net4j"><CODE>fail-over agent protocol</CODE></A> instances.
+<P>
+
+<P>
<HR>
<P>
diff --git a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/FailoverMonitor.AgentProtocol.html b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/FailoverMonitor.AgentProtocol.html
index aa5ce51c51..df4bb13a98 100644
--- a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/FailoverMonitor.AgentProtocol.html
+++ b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/FailoverMonitor.AgentProtocol.html
@@ -122,6 +122,10 @@ Class FailoverMonitor.AgentProtocol</H2>
<P>
+The monitor-side implementation of the <A HREF="../../../../../../org/eclipse/emf/cdo/server/net4j/FailoverMonitor.html" title="class in org.eclipse.emf.cdo.server.net4j"><CODE>fail-over monitor</CODE></A> agent protocol.
+<P>
+
+<P>
<HR>
<P>
@@ -139,7 +143,7 @@ Class FailoverMonitor.AgentProtocol</H2>
<TD><CODE><B><A HREF="../../../../../../org/eclipse/emf/cdo/server/net4j/FailoverMonitor.AgentProtocol.Factory.html" title="class in org.eclipse.emf.cdo.server.net4j">FailoverMonitor.AgentProtocol.Factory</A></B></CODE>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates <A HREF="../../../../../../org/eclipse/emf/cdo/server/net4j/FailoverMonitor.AgentProtocol.html" title="class in org.eclipse.emf.cdo.server.net4j"><CODE>fail-over agent protocol</CODE></A> instances.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="nested_classes_inherited_from_class_org.eclipse.net4j.signal.heartbeat.HeartBeatProtocol.Server"><!-- --></A>
diff --git a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/FailoverMonitor.ClientProtocol.Factory.html b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/FailoverMonitor.ClientProtocol.Factory.html
index 2d2a73ff83..4b2377e24a 100644
--- a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/FailoverMonitor.ClientProtocol.Factory.html
+++ b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/FailoverMonitor.ClientProtocol.Factory.html
@@ -120,6 +120,10 @@ Class FailoverMonitor.ClientProtocol.Factory</H2>
<P>
+Creates <A HREF="../../../../../../org/eclipse/emf/cdo/server/net4j/FailoverMonitor.ClientProtocol.html" title="class in org.eclipse.emf.cdo.server.net4j"><CODE>fail-over client protocol</CODE></A> instances.
+<P>
+
+<P>
<HR>
<P>
diff --git a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/FailoverMonitor.ClientProtocol.html b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/FailoverMonitor.ClientProtocol.html
index b736716839..4096496445 100644
--- a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/FailoverMonitor.ClientProtocol.html
+++ b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/FailoverMonitor.ClientProtocol.html
@@ -121,6 +121,10 @@ Class FailoverMonitor.ClientProtocol</H2>
<P>
+The monitor-side implementation of the <A HREF="../../../../../../org/eclipse/emf/cdo/server/net4j/FailoverMonitor.html" title="class in org.eclipse.emf.cdo.server.net4j"><CODE>fail-over monitor</CODE></A> client protocol.
+<P>
+
+<P>
<HR>
<P>
@@ -138,7 +142,7 @@ Class FailoverMonitor.ClientProtocol</H2>
<TD><CODE><B><A HREF="../../../../../../org/eclipse/emf/cdo/server/net4j/FailoverMonitor.ClientProtocol.Factory.html" title="class in org.eclipse.emf.cdo.server.net4j">FailoverMonitor.ClientProtocol.Factory</A></B></CODE>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates <A HREF="../../../../../../org/eclipse/emf/cdo/server/net4j/FailoverMonitor.ClientProtocol.html" title="class in org.eclipse.emf.cdo.server.net4j"><CODE>fail-over client protocol</CODE></A> instances.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="nested_classes_inherited_from_class_org.eclipse.net4j.signal.SignalProtocol"><!-- --></A>
diff --git a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/FailoverMonitor.Factory.html b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/FailoverMonitor.Factory.html
index 4249195ffd..ea3a181bbe 100644
--- a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/FailoverMonitor.Factory.html
+++ b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/FailoverMonitor.Factory.html
@@ -118,6 +118,10 @@ Class FailoverMonitor.Factory</H2>
<P>
+Creates <A HREF="../../../../../../org/eclipse/emf/cdo/server/net4j/FailoverMonitor.html" title="class in org.eclipse.emf.cdo.server.net4j"><CODE>fail-over monitor</CODE></A> instances.
+<P>
+
+<P>
<HR>
<P>
diff --git a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/FailoverMonitor.Provider.html b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/FailoverMonitor.Provider.html
index a7a43cf8c8..0009acfd13 100644
--- a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/FailoverMonitor.Provider.html
+++ b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/FailoverMonitor.Provider.html
@@ -112,6 +112,10 @@ Interface FailoverMonitor.Provider</H2>
<P>
+Provides a <A HREF="../../../../../../org/eclipse/emf/cdo/server/net4j/FailoverMonitor.html" title="class in org.eclipse.emf.cdo.server.net4j"><CODE>fail-over monitor</CODE></A> for a given named fail-over group.
+<P>
+
+<P>
<HR>
<P>
diff --git a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/FailoverMonitor.html b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/FailoverMonitor.html
index 0355aa6c70..e1fb223837 100644
--- a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/FailoverMonitor.html
+++ b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/FailoverMonitor.html
@@ -117,6 +117,11 @@ Class FailoverMonitor</H2>
<P>
+A facility for monitoring a variable set of <CODE>fail-over participant</CODE> repositories and electing,
+ as well as promoting, a <A HREF="../../../../../../org/eclipse/emf/cdo/common/CDOCommonRepository.Type.html#MASTER"><CODE>master</CODE></A> repository among them.
+<P>
+
+<P>
<DL>
<DT><B>Since:</B></DT>
<DD>4.0</DD>
@@ -138,7 +143,8 @@ Class FailoverMonitor</H2>
<TD><CODE><B><A HREF="../../../../../../org/eclipse/emf/cdo/server/net4j/FailoverMonitor.AbstractServerProtocolFactory.html" title="class in org.eclipse.emf.cdo.server.net4j">FailoverMonitor.AbstractServerProtocolFactory</A></B></CODE>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;An abstract base class for the <CODE>server-side protocol factories</CODE>
+ required by a <A HREF="../../../../../../org/eclipse/emf/cdo/server/net4j/FailoverMonitor.html" title="class in org.eclipse.emf.cdo.server.net4j"><CODE>fail-over monitor</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
@@ -146,7 +152,7 @@ Class FailoverMonitor</H2>
<TD><CODE><B><A HREF="../../../../../../org/eclipse/emf/cdo/server/net4j/FailoverMonitor.AgentProtocol.html" title="class in org.eclipse.emf.cdo.server.net4j">FailoverMonitor.AgentProtocol</A></B></CODE>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The monitor-side implementation of the <A HREF="../../../../../../org/eclipse/emf/cdo/server/net4j/FailoverMonitor.html" title="class in org.eclipse.emf.cdo.server.net4j"><CODE>fail-over monitor</CODE></A> agent protocol.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
@@ -154,7 +160,7 @@ Class FailoverMonitor</H2>
<TD><CODE><B><A HREF="../../../../../../org/eclipse/emf/cdo/server/net4j/FailoverMonitor.ClientProtocol.html" title="class in org.eclipse.emf.cdo.server.net4j">FailoverMonitor.ClientProtocol</A></B></CODE>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The monitor-side implementation of the <A HREF="../../../../../../org/eclipse/emf/cdo/server/net4j/FailoverMonitor.html" title="class in org.eclipse.emf.cdo.server.net4j"><CODE>fail-over monitor</CODE></A> client protocol.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
@@ -162,7 +168,7 @@ Class FailoverMonitor</H2>
<TD><CODE><B><A HREF="../../../../../../org/eclipse/emf/cdo/server/net4j/FailoverMonitor.Factory.html" title="class in org.eclipse.emf.cdo.server.net4j">FailoverMonitor.Factory</A></B></CODE>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates <A HREF="../../../../../../org/eclipse/emf/cdo/server/net4j/FailoverMonitor.html" title="class in org.eclipse.emf.cdo.server.net4j"><CODE>fail-over monitor</CODE></A> instances.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
@@ -170,7 +176,7 @@ Class FailoverMonitor</H2>
<TD><CODE><B><A HREF="../../../../../../org/eclipse/emf/cdo/server/net4j/FailoverMonitor.Provider.html" title="interface in org.eclipse.emf.cdo.server.net4j">FailoverMonitor.Provider</A></B></CODE>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Provides a <A HREF="../../../../../../org/eclipse/emf/cdo/server/net4j/FailoverMonitor.html" title="class in org.eclipse.emf.cdo.server.net4j"><CODE>fail-over monitor</CODE></A> for a given named fail-over group.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="nested_classes_inherited_from_class_org.eclipse.net4j.util.container.IContainer"><!-- --></A>
diff --git a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/class-use/FailoverMonitor.AbstractServerProtocolFactory.html b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/class-use/FailoverMonitor.AbstractServerProtocolFactory.html
index db77dccb10..acc11ab8df 100644
--- a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/class-use/FailoverMonitor.AbstractServerProtocolFactory.html
+++ b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/class-use/FailoverMonitor.AbstractServerProtocolFactory.html
@@ -116,7 +116,7 @@ Uses of <A HREF="../../../../../../../org/eclipse/emf/cdo/server/net4j/FailoverM
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/emf/cdo/server/net4j/FailoverMonitor.AgentProtocol.Factory.html" title="class in org.eclipse.emf.cdo.server.net4j">FailoverMonitor.AgentProtocol.Factory</A></B></CODE>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates <A HREF="../../../../../../../org/eclipse/emf/cdo/server/net4j/FailoverMonitor.AgentProtocol.html" title="class in org.eclipse.emf.cdo.server.net4j"><CODE>fail-over agent protocol</CODE></A> instances.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
@@ -124,7 +124,7 @@ Uses of <A HREF="../../../../../../../org/eclipse/emf/cdo/server/net4j/FailoverM
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/emf/cdo/server/net4j/FailoverMonitor.ClientProtocol.Factory.html" title="class in org.eclipse.emf.cdo.server.net4j">FailoverMonitor.ClientProtocol.Factory</A></B></CODE>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates <A HREF="../../../../../../../org/eclipse/emf/cdo/server/net4j/FailoverMonitor.ClientProtocol.html" title="class in org.eclipse.emf.cdo.server.net4j"><CODE>fail-over client protocol</CODE></A> instances.</TD>
</TR>
</TABLE>
&nbsp;
diff --git a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/class-use/FailoverMonitor.Provider.html b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/class-use/FailoverMonitor.Provider.html
index e2bca3ba6e..07b4d8e147 100644
--- a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/class-use/FailoverMonitor.Provider.html
+++ b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/class-use/FailoverMonitor.Provider.html
@@ -116,7 +116,8 @@ Uses of <A HREF="../../../../../../../org/eclipse/emf/cdo/server/net4j/FailoverM
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/emf/cdo/server/net4j/FailoverMonitor.AbstractServerProtocolFactory.html" title="class in org.eclipse.emf.cdo.server.net4j">FailoverMonitor.AbstractServerProtocolFactory</A></B></CODE>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;An abstract base class for the <CODE>server-side protocol factories</CODE>
+ required by a <A HREF="../../../../../../../org/eclipse/emf/cdo/server/net4j/FailoverMonitor.html" title="class in org.eclipse.emf.cdo.server.net4j"><CODE>fail-over monitor</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
@@ -124,7 +125,7 @@ Uses of <A HREF="../../../../../../../org/eclipse/emf/cdo/server/net4j/FailoverM
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/emf/cdo/server/net4j/FailoverMonitor.AgentProtocol.Factory.html" title="class in org.eclipse.emf.cdo.server.net4j">FailoverMonitor.AgentProtocol.Factory</A></B></CODE>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates <A HREF="../../../../../../../org/eclipse/emf/cdo/server/net4j/FailoverMonitor.AgentProtocol.html" title="class in org.eclipse.emf.cdo.server.net4j"><CODE>fail-over agent protocol</CODE></A> instances.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
@@ -132,7 +133,7 @@ Uses of <A HREF="../../../../../../../org/eclipse/emf/cdo/server/net4j/FailoverM
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/emf/cdo/server/net4j/FailoverMonitor.ClientProtocol.Factory.html" title="class in org.eclipse.emf.cdo.server.net4j">FailoverMonitor.ClientProtocol.Factory</A></B></CODE>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates <A HREF="../../../../../../../org/eclipse/emf/cdo/server/net4j/FailoverMonitor.ClientProtocol.html" title="class in org.eclipse.emf.cdo.server.net4j"><CODE>fail-over client protocol</CODE></A> instances.</TD>
</TR>
</TABLE>
&nbsp;
diff --git a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/package-summary.html b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/package-summary.html
index 23725ebdc0..d3223dbb05 100644
--- a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/package-summary.html
+++ b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/package-summary.html
@@ -118,7 +118,7 @@ Server concepts for dealing with Net4j-based repositories and fail-over infrastr
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../../../org/eclipse/emf/cdo/server/net4j/FailoverMonitor.Provider.html" title="interface in org.eclipse.emf.cdo.server.net4j">FailoverMonitor.Provider</A></B></TD>
-<TD>&nbsp;</TD>
+<TD>Provides a <A HREF="../../../../../../org/eclipse/emf/cdo/server/net4j/FailoverMonitor.html" title="class in org.eclipse.emf.cdo.server.net4j"><CODE>fail-over monitor</CODE></A> for a given named fail-over group.</TD>
</TR>
</TABLE>
&nbsp;
@@ -132,43 +132,45 @@ Server concepts for dealing with Net4j-based repositories and fail-over infrastr
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../../../org/eclipse/emf/cdo/server/net4j/CDONet4jServerUtil.html" title="class in org.eclipse.emf.cdo.server.net4j">CDONet4jServerUtil</A></B></TD>
-<TD>&nbsp;</TD>
+<TD>Various static methods that may help with the server-side setup to support Net4j-specific CDO <A HREF="../../../../../../org/eclipse/emf/cdo/common/CDOCommonSession.html" title="interface in org.eclipse.emf.cdo.common"><CODE>sessions</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../../../org/eclipse/emf/cdo/server/net4j/FailoverAgent.html" title="class in org.eclipse.emf.cdo.server.net4j">FailoverAgent</A></B></TD>
-<TD>&nbsp;</TD>
+<TD>A repository-side agent for a <A HREF="../../../../../../org/eclipse/emf/cdo/server/net4j/FailoverMonitor.html" title="class in org.eclipse.emf.cdo.server.net4j"><CODE>fail-over monitor</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../../../org/eclipse/emf/cdo/server/net4j/FailoverAgent.Protocol.html" title="class in org.eclipse.emf.cdo.server.net4j">FailoverAgent.Protocol</A></B></TD>
-<TD>&nbsp;</TD>
+<TD>The agent-side implementation of the <A HREF="../../../../../../org/eclipse/emf/cdo/server/net4j/FailoverMonitor.html" title="class in org.eclipse.emf.cdo.server.net4j"><CODE>fail-over monitor</CODE></A> protocol.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../../../org/eclipse/emf/cdo/server/net4j/FailoverMonitor.html" title="class in org.eclipse.emf.cdo.server.net4j">FailoverMonitor</A></B></TD>
-<TD>&nbsp;</TD>
+<TD>A facility for monitoring a variable set of <CODE>fail-over participant</CODE> repositories and electing,
+ as well as promoting, a <A HREF="../../../../../../org/eclipse/emf/cdo/common/CDOCommonRepository.Type.html#MASTER"><CODE>master</CODE></A> repository among them.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../../../org/eclipse/emf/cdo/server/net4j/FailoverMonitor.AbstractServerProtocolFactory.html" title="class in org.eclipse.emf.cdo.server.net4j">FailoverMonitor.AbstractServerProtocolFactory</A></B></TD>
-<TD>&nbsp;</TD>
+<TD>An abstract base class for the <CODE>server-side protocol factories</CODE>
+ required by a <A HREF="../../../../../../org/eclipse/emf/cdo/server/net4j/FailoverMonitor.html" title="class in org.eclipse.emf.cdo.server.net4j"><CODE>fail-over monitor</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../../../org/eclipse/emf/cdo/server/net4j/FailoverMonitor.AgentProtocol.html" title="class in org.eclipse.emf.cdo.server.net4j">FailoverMonitor.AgentProtocol</A></B></TD>
-<TD>&nbsp;</TD>
+<TD>The monitor-side implementation of the <A HREF="../../../../../../org/eclipse/emf/cdo/server/net4j/FailoverMonitor.html" title="class in org.eclipse.emf.cdo.server.net4j"><CODE>fail-over monitor</CODE></A> agent protocol.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../../../org/eclipse/emf/cdo/server/net4j/FailoverMonitor.AgentProtocol.Factory.html" title="class in org.eclipse.emf.cdo.server.net4j">FailoverMonitor.AgentProtocol.Factory</A></B></TD>
-<TD>&nbsp;</TD>
+<TD>Creates <A HREF="../../../../../../org/eclipse/emf/cdo/server/net4j/FailoverMonitor.AgentProtocol.html" title="class in org.eclipse.emf.cdo.server.net4j"><CODE>fail-over agent protocol</CODE></A> instances.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../../../org/eclipse/emf/cdo/server/net4j/FailoverMonitor.ClientProtocol.html" title="class in org.eclipse.emf.cdo.server.net4j">FailoverMonitor.ClientProtocol</A></B></TD>
-<TD>&nbsp;</TD>
+<TD>The monitor-side implementation of the <A HREF="../../../../../../org/eclipse/emf/cdo/server/net4j/FailoverMonitor.html" title="class in org.eclipse.emf.cdo.server.net4j"><CODE>fail-over monitor</CODE></A> client protocol.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../../../org/eclipse/emf/cdo/server/net4j/FailoverMonitor.ClientProtocol.Factory.html" title="class in org.eclipse.emf.cdo.server.net4j">FailoverMonitor.ClientProtocol.Factory</A></B></TD>
-<TD>&nbsp;</TD>
+<TD>Creates <A HREF="../../../../../../org/eclipse/emf/cdo/server/net4j/FailoverMonitor.ClientProtocol.html" title="class in org.eclipse.emf.cdo.server.net4j"><CODE>fail-over client protocol</CODE></A> instances.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../../../org/eclipse/emf/cdo/server/net4j/FailoverMonitor.Factory.html" title="class in org.eclipse.emf.cdo.server.net4j">FailoverMonitor.Factory</A></B></TD>
-<TD>&nbsp;</TD>
+<TD>Creates <A HREF="../../../../../../org/eclipse/emf/cdo/server/net4j/FailoverMonitor.html" title="class in org.eclipse.emf.cdo.server.net4j"><CODE>fail-over monitor</CODE></A> instances.</TD>
</TR>
</TABLE>
&nbsp;
diff --git a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/package-use.html b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/package-use.html
index 11d56fdd76..e07669339b 100644
--- a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/package-use.html
+++ b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/net4j/package-use.html
@@ -106,43 +106,45 @@ Classes in <A HREF="../../../../../../org/eclipse/emf/cdo/server/net4j/package-s
<TD><B><A HREF="../../../../../../org/eclipse/emf/cdo/server/net4j/class-use/FailoverAgent.html#org.eclipse.emf.cdo.server.net4j"><B>FailoverAgent</B></A></B>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A repository-side agent for a <A HREF="../../../../../../org/eclipse/emf/cdo/server/net4j/FailoverMonitor.html" title="class in org.eclipse.emf.cdo.server.net4j"><CODE>fail-over monitor</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><B><A HREF="../../../../../../org/eclipse/emf/cdo/server/net4j/class-use/FailoverAgent.Protocol.html#org.eclipse.emf.cdo.server.net4j"><B>FailoverAgent.Protocol</B></A></B>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The agent-side implementation of the <A HREF="../../../../../../org/eclipse/emf/cdo/server/net4j/FailoverMonitor.html" title="class in org.eclipse.emf.cdo.server.net4j"><CODE>fail-over monitor</CODE></A> protocol.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><B><A HREF="../../../../../../org/eclipse/emf/cdo/server/net4j/class-use/FailoverMonitor.html#org.eclipse.emf.cdo.server.net4j"><B>FailoverMonitor</B></A></B>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A facility for monitoring a variable set of <CODE>fail-over participant</CODE> repositories and electing,
+ as well as promoting, a <A HREF="../../../../../../org/eclipse/emf/cdo/common/CDOCommonRepository.Type.html#MASTER"><CODE>master</CODE></A> repository among them.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><B><A HREF="../../../../../../org/eclipse/emf/cdo/server/net4j/class-use/FailoverMonitor.AbstractServerProtocolFactory.html#org.eclipse.emf.cdo.server.net4j"><B>FailoverMonitor.AbstractServerProtocolFactory</B></A></B>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;An abstract base class for the <CODE>server-side protocol factories</CODE>
+ required by a <A HREF="../../../../../../org/eclipse/emf/cdo/server/net4j/FailoverMonitor.html" title="class in org.eclipse.emf.cdo.server.net4j"><CODE>fail-over monitor</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><B><A HREF="../../../../../../org/eclipse/emf/cdo/server/net4j/class-use/FailoverMonitor.AgentProtocol.html#org.eclipse.emf.cdo.server.net4j"><B>FailoverMonitor.AgentProtocol</B></A></B>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The monitor-side implementation of the <A HREF="../../../../../../org/eclipse/emf/cdo/server/net4j/FailoverMonitor.html" title="class in org.eclipse.emf.cdo.server.net4j"><CODE>fail-over monitor</CODE></A> agent protocol.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><B><A HREF="../../../../../../org/eclipse/emf/cdo/server/net4j/class-use/FailoverMonitor.ClientProtocol.html#org.eclipse.emf.cdo.server.net4j"><B>FailoverMonitor.ClientProtocol</B></A></B>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The monitor-side implementation of the <A HREF="../../../../../../org/eclipse/emf/cdo/server/net4j/FailoverMonitor.html" title="class in org.eclipse.emf.cdo.server.net4j"><CODE>fail-over monitor</CODE></A> client protocol.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><B><A HREF="../../../../../../org/eclipse/emf/cdo/server/net4j/class-use/FailoverMonitor.Provider.html#org.eclipse.emf.cdo.server.net4j"><B>FailoverMonitor.Provider</B></A></B>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Provides a <A HREF="../../../../../../org/eclipse/emf/cdo/server/net4j/FailoverMonitor.html" title="class in org.eclipse.emf.cdo.server.net4j"><CODE>fail-over monitor</CODE></A> for a given named fail-over group.</TD>
</TR>
</TABLE>
&nbsp;
diff --git a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/objectivity/IObjectivityStore.html b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/objectivity/IObjectivityStore.html
index 45e45b9142..f5cdc9220d 100644
--- a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/objectivity/IObjectivityStore.html
+++ b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/objectivity/IObjectivityStore.html
@@ -114,6 +114,12 @@ Interface to the Objecivity Store implemenation.
<P>
<P>
+<DL>
+<DT><B>No Implement</B></DT>
+ <DD>This interface is not intended to be implemented by clients.</DD>
+<DT><B>No Extend</B></DT>
+ <DD>This interface is not intended to be extended by clients.</DD>
+</DL>
<HR>
<P>
diff --git a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/objectivity/IObjectivityStoreAccessor.html b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/objectivity/IObjectivityStoreAccessor.html
index 8e3da863ef..74739bf868 100644
--- a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/objectivity/IObjectivityStoreAccessor.html
+++ b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/objectivity/IObjectivityStoreAccessor.html
@@ -110,6 +110,16 @@ Interface IObjectivityStoreAccessor</H2>
<P>
+A <A HREF="../../../../../../org/eclipse/emf/cdo/server/IStoreAccessor.html" title="interface in org.eclipse.emf.cdo.server"><CODE>store accessor</CODE></A> for CDO's Objecivity back-end integration.
+<P>
+
+<P>
+<DL>
+<DT><B>No Implement</B></DT>
+ <DD>This interface is not intended to be implemented by clients.</DD>
+<DT><B>No Extend</B></DT>
+ <DD>This interface is not intended to be extended by clients.</DD>
+</DL>
<HR>
<P>
diff --git a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/objectivity/IObjectivityStoreChunkReader.html b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/objectivity/IObjectivityStoreChunkReader.html
index 2c45498469..b18b92b52f 100644
--- a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/objectivity/IObjectivityStoreChunkReader.html
+++ b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/objectivity/IObjectivityStoreChunkReader.html
@@ -110,6 +110,16 @@ Interface IObjectivityStoreChunkReader</H2>
<P>
+A <A HREF="../../../../../../org/eclipse/emf/cdo/server/IStoreChunkReader.html" title="interface in org.eclipse.emf.cdo.server"><CODE>chunk reader</CODE></A> for for CDO's Objecivity back-end integration.
+<P>
+
+<P>
+<DL>
+<DT><B>No Implement</B></DT>
+ <DD>This interface is not intended to be implemented by clients.</DD>
+<DT><B>No Extend</B></DT>
+ <DD>This interface is not intended to be extended by clients.</DD>
+</DL>
<HR>
<P>
diff --git a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/objectivity/IObjectivityStoreConfig.html b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/objectivity/IObjectivityStoreConfig.html
index 795dbb2eae..e3c9448d1b 100644
--- a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/objectivity/IObjectivityStoreConfig.html
+++ b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/objectivity/IObjectivityStoreConfig.html
@@ -110,6 +110,16 @@ Interface IObjectivityStoreConfig</H2>
<P>
+Encapsulates Objectivity-specific back-end configuration settings.
+<P>
+
+<P>
+<DL>
+<DT><B>No Implement</B></DT>
+ <DD>This interface is not intended to be implemented by clients.</DD>
+<DT><B>No Extend</B></DT>
+ <DD>This interface is not intended to be extended by clients.</DD>
+</DL>
<HR>
<P>
diff --git a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/objectivity/ObjyStoreUtil.html b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/objectivity/ObjyStoreUtil.html
index 447e9e9b39..7d072fb4eb 100644
--- a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/objectivity/ObjyStoreUtil.html
+++ b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/objectivity/ObjyStoreUtil.html
@@ -110,6 +110,10 @@ Class ObjyStoreUtil</H2>
<P>
+Provides a static factory method that creates <A HREF="../../../../../../org/eclipse/emf/cdo/server/objectivity/IObjectivityStore.html" title="interface in org.eclipse.emf.cdo.server.objectivity"><CODE>IObjectivityStore</CODE></A> instances.
+<P>
+
+<P>
<HR>
<P>
diff --git a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/objectivity/package-summary.html b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/objectivity/package-summary.html
index 891b73391d..d4a960a081 100644
--- a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/objectivity/package-summary.html
+++ b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/objectivity/package-summary.html
@@ -111,15 +111,15 @@ Server concepts for dealing with Objectivity/DB stores and accessors.
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../../../org/eclipse/emf/cdo/server/objectivity/IObjectivityStoreAccessor.html" title="interface in org.eclipse.emf.cdo.server.objectivity">IObjectivityStoreAccessor</A></B></TD>
-<TD>&nbsp;</TD>
+<TD>A <A HREF="../../../../../../org/eclipse/emf/cdo/server/IStoreAccessor.html" title="interface in org.eclipse.emf.cdo.server"><CODE>store accessor</CODE></A> for CDO's Objecivity back-end integration.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../../../org/eclipse/emf/cdo/server/objectivity/IObjectivityStoreChunkReader.html" title="interface in org.eclipse.emf.cdo.server.objectivity">IObjectivityStoreChunkReader</A></B></TD>
-<TD>&nbsp;</TD>
+<TD>A <A HREF="../../../../../../org/eclipse/emf/cdo/server/IStoreChunkReader.html" title="interface in org.eclipse.emf.cdo.server"><CODE>chunk reader</CODE></A> for for CDO's Objecivity back-end integration.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../../../org/eclipse/emf/cdo/server/objectivity/IObjectivityStoreConfig.html" title="interface in org.eclipse.emf.cdo.server.objectivity">IObjectivityStoreConfig</A></B></TD>
-<TD>&nbsp;</TD>
+<TD>Encapsulates Objectivity-specific back-end configuration settings.</TD>
</TR>
</TABLE>
&nbsp;
@@ -133,7 +133,7 @@ Server concepts for dealing with Objectivity/DB stores and accessors.
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../../../org/eclipse/emf/cdo/server/objectivity/ObjyStoreUtil.html" title="class in org.eclipse.emf.cdo.server.objectivity">ObjyStoreUtil</A></B></TD>
-<TD>&nbsp;</TD>
+<TD>Provides a static factory method that creates <A HREF="../../../../../../org/eclipse/emf/cdo/server/objectivity/IObjectivityStore.html" title="interface in org.eclipse.emf.cdo.server.objectivity"><CODE>IObjectivityStore</CODE></A> instances.</TD>
</TR>
</TABLE>
&nbsp;
diff --git a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/objectivity/package-use.html b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/objectivity/package-use.html
index 61f50084b6..e0f1711aca 100644
--- a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/objectivity/package-use.html
+++ b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/objectivity/package-use.html
@@ -112,19 +112,19 @@ Classes in <A HREF="../../../../../../org/eclipse/emf/cdo/server/objectivity/pac
<TD><B><A HREF="../../../../../../org/eclipse/emf/cdo/server/objectivity/class-use/IObjectivityStoreAccessor.html#org.eclipse.emf.cdo.server.objectivity"><B>IObjectivityStoreAccessor</B></A></B>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A <A HREF="../../../../../../org/eclipse/emf/cdo/server/IStoreAccessor.html" title="interface in org.eclipse.emf.cdo.server"><CODE>store accessor</CODE></A> for CDO's Objecivity back-end integration.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><B><A HREF="../../../../../../org/eclipse/emf/cdo/server/objectivity/class-use/IObjectivityStoreChunkReader.html#org.eclipse.emf.cdo.server.objectivity"><B>IObjectivityStoreChunkReader</B></A></B>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A <A HREF="../../../../../../org/eclipse/emf/cdo/server/IStoreChunkReader.html" title="interface in org.eclipse.emf.cdo.server"><CODE>chunk reader</CODE></A> for for CDO's Objecivity back-end integration.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><B><A HREF="../../../../../../org/eclipse/emf/cdo/server/objectivity/class-use/IObjectivityStoreConfig.html#org.eclipse.emf.cdo.server.objectivity"><B>IObjectivityStoreConfig</B></A></B>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Encapsulates Objectivity-specific back-end configuration settings.</TD>
</TR>
</TABLE>
&nbsp;
diff --git a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/ocl/CDOExtentCreator.Lazy.html b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/ocl/CDOExtentCreator.Lazy.html
index 535cea5f91..f49061e4e2 100644
--- a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/ocl/CDOExtentCreator.Lazy.html
+++ b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/ocl/CDOExtentCreator.Lazy.html
@@ -118,6 +118,10 @@ Class CDOExtentCreator.Lazy</H2>
<P>
+An <A HREF="../../../../../../org/eclipse/emf/cdo/server/ocl/CDOExtentCreator.html" title="class in org.eclipse.emf.cdo.server.ocl"><CODE>extent creator</CODE></A> that creates extent sets which support a lazy populating iterator.
+<P>
+
+<P>
<HR>
<P>
diff --git a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/ocl/CDOExtentCreator.html b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/ocl/CDOExtentCreator.html
index 9cafaab704..ec16391544 100644
--- a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/ocl/CDOExtentCreator.html
+++ b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/ocl/CDOExtentCreator.html
@@ -119,6 +119,12 @@ Class CDOExtentCreator</H2>
<P>
+An OCL <A HREF="../../../../../../org/eclipse/emf/cdo/server/ocl/OCLExtentCreator.html" title="interface in org.eclipse.emf.cdo.server.ocl"><CODE>extent creator</CODE></A> implementation for CDO.
+ <p>
+ The <A HREF="../../../../../../org/eclipse/emf/cdo/server/ocl/CDOExtentCreator.html#createExtent(org.eclipse.emf.ecore.EClass, java.util.concurrent.atomic.AtomicBoolean)"><CODE>extent</CODE></A> of a <A HREF="http://download.eclipse.org/modeling/emf/emf/javadoc/2.7.0/org/eclipse/emf/ecore/EClass.html?is-external=true" title="class or interface in org.eclipse.emf.ecore"><CODE>class</CODE></A> X is the set of all <A HREF="http://download.eclipse.org/modeling/emf/emf/javadoc/2.7.0/org/eclipse/emf/ecore/EObject.html?is-external=true" title="class or interface in org.eclipse.emf.ecore"><CODE>objects</CODE></A> with <code>object.getEClass() == X</code>.
+<P>
+
+<P>
<HR>
<P>
@@ -136,7 +142,7 @@ Class CDOExtentCreator</H2>
<TD><CODE><B><A HREF="../../../../../../org/eclipse/emf/cdo/server/ocl/CDOExtentCreator.Lazy.html" title="class in org.eclipse.emf.cdo.server.ocl">CDOExtentCreator.Lazy</A></B></CODE>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;An <A HREF="../../../../../../org/eclipse/emf/cdo/server/ocl/CDOExtentCreator.html" title="class in org.eclipse.emf.cdo.server.ocl"><CODE>extent creator</CODE></A> that creates extent sets which support a lazy populating iterator.</TD>
</TR>
</TABLE>
&nbsp;
diff --git a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/ocl/CDOExtentMap.html b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/ocl/CDOExtentMap.html
index 4385eb098c..0d79f8cfef 100644
--- a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/ocl/CDOExtentMap.html
+++ b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/ocl/CDOExtentMap.html
@@ -115,6 +115,12 @@ Class CDOExtentMap</H2>
<P>
+Maps <A HREF="http://download.eclipse.org/modeling/emf/emf/javadoc/2.7.0/org/eclipse/emf/ecore/EClass.html?is-external=true" title="class or interface in org.eclipse.emf.ecore"><CODE>classes</CODE></A> to their extents.
+ <p>
+ The <A HREF="../../../../../../org/eclipse/emf/cdo/server/ocl/CDOExtentMap.html#get(java.lang.Object)"><CODE>extent</CODE></A> of a <A HREF="http://download.eclipse.org/modeling/emf/emf/javadoc/2.7.0/org/eclipse/emf/ecore/EClass.html?is-external=true" title="class or interface in org.eclipse.emf.ecore"><CODE>class</CODE></A> X is the set of all <A HREF="http://download.eclipse.org/modeling/emf/emf/javadoc/2.7.0/org/eclipse/emf/ecore/EObject.html?is-external=true" title="class or interface in org.eclipse.emf.ecore"><CODE>objects</CODE></A> with <code>object.getEClass() == X</code>.
+<P>
+
+<P>
<HR>
<P>
diff --git a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/ocl/OCLExtentCreator.html b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/ocl/OCLExtentCreator.html
index 38363bf739..7ae3026aa4 100644
--- a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/ocl/OCLExtentCreator.html
+++ b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/ocl/OCLExtentCreator.html
@@ -109,6 +109,12 @@ Interface OCLExtentCreator</H2>
<P>
+Creates extents of <A HREF="http://download.eclipse.org/modeling/emf/emf/javadoc/2.7.0/org/eclipse/emf/ecore/EClass.html?is-external=true" title="class or interface in org.eclipse.emf.ecore"><CODE>classes</CODE></A>.
+ <p>
+ The <A HREF="../../../../../../org/eclipse/emf/cdo/server/ocl/OCLExtentCreator.html#createExtent(org.eclipse.emf.ecore.EClass, java.util.concurrent.atomic.AtomicBoolean)"><CODE>extent</CODE></A> of a <A HREF="http://download.eclipse.org/modeling/emf/emf/javadoc/2.7.0/org/eclipse/emf/ecore/EClass.html?is-external=true" title="class or interface in org.eclipse.emf.ecore"><CODE>class</CODE></A> X is the set of all <A HREF="http://download.eclipse.org/modeling/emf/emf/javadoc/2.7.0/org/eclipse/emf/ecore/EObject.html?is-external=true" title="class or interface in org.eclipse.emf.ecore"><CODE>objects</CODE></A> with <code>object.getEClass() == X</code>.
+<P>
+
+<P>
<HR>
<P>
diff --git a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/ocl/OCLQueryHandler.Factory.html b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/ocl/OCLQueryHandler.Factory.html
index 3a65fefb00..e37536695c 100644
--- a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/ocl/OCLQueryHandler.Factory.html
+++ b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/ocl/OCLQueryHandler.Factory.html
@@ -119,6 +119,10 @@ Class OCLQueryHandler.Factory</H2>
<P>
+Creates <A HREF="../../../../../../org/eclipse/emf/cdo/server/ocl/OCLQueryHandler.html" title="class in org.eclipse.emf.cdo.server.ocl"><CODE>OCLQueryHandler</CODE></A> instances.
+<P>
+
+<P>
<HR>
<P>
diff --git a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/ocl/OCLQueryHandler.html b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/ocl/OCLQueryHandler.html
index b4870e74d3..f6f3aea13c 100644
--- a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/ocl/OCLQueryHandler.html
+++ b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/ocl/OCLQueryHandler.html
@@ -115,6 +115,10 @@ Class OCLQueryHandler</H2>
<P>
+A <A HREF="../../../../../../org/eclipse/emf/cdo/server/IQueryHandler.html" title="interface in org.eclipse.emf.cdo.server"><CODE>query handler</CODE></A> that evaluates OCL query expressions.
+<P>
+
+<P>
<HR>
<P>
@@ -132,7 +136,7 @@ Class OCLQueryHandler</H2>
<TD><CODE><B><A HREF="../../../../../../org/eclipse/emf/cdo/server/ocl/OCLQueryHandler.Factory.html" title="class in org.eclipse.emf.cdo.server.ocl">OCLQueryHandler.Factory</A></B></CODE>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates <A HREF="../../../../../../org/eclipse/emf/cdo/server/ocl/OCLQueryHandler.html" title="class in org.eclipse.emf.cdo.server.ocl"><CODE>OCLQueryHandler</CODE></A> instances.</TD>
</TR>
</TABLE>
&nbsp;<!-- =========== FIELD SUMMARY =========== -->
diff --git a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/ocl/class-use/CDOExtentCreator.html b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/ocl/class-use/CDOExtentCreator.html
index 57b5620d2e..d4944dde8b 100644
--- a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/ocl/class-use/CDOExtentCreator.html
+++ b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/ocl/class-use/CDOExtentCreator.html
@@ -116,7 +116,7 @@ Uses of <A HREF="../../../../../../../org/eclipse/emf/cdo/server/ocl/CDOExtentCr
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/emf/cdo/server/ocl/CDOExtentCreator.Lazy.html" title="class in org.eclipse.emf.cdo.server.ocl">CDOExtentCreator.Lazy</A></B></CODE>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;An <A HREF="../../../../../../../org/eclipse/emf/cdo/server/ocl/CDOExtentCreator.html" title="class in org.eclipse.emf.cdo.server.ocl"><CODE>extent creator</CODE></A> that creates extent sets which support a lazy populating iterator.</TD>
</TR>
</TABLE>
&nbsp;
diff --git a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/ocl/class-use/OCLExtentCreator.html b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/ocl/class-use/OCLExtentCreator.html
index eb34ec6f04..4c0292e2b7 100644
--- a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/ocl/class-use/OCLExtentCreator.html
+++ b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/ocl/class-use/OCLExtentCreator.html
@@ -116,7 +116,7 @@ Uses of <A HREF="../../../../../../../org/eclipse/emf/cdo/server/ocl/OCLExtentCr
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/emf/cdo/server/ocl/CDOExtentCreator.html" title="class in org.eclipse.emf.cdo.server.ocl">CDOExtentCreator</A></B></CODE>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;An OCL <A HREF="../../../../../../../org/eclipse/emf/cdo/server/ocl/OCLExtentCreator.html" title="interface in org.eclipse.emf.cdo.server.ocl"><CODE>extent creator</CODE></A> implementation for CDO.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
@@ -124,7 +124,7 @@ Uses of <A HREF="../../../../../../../org/eclipse/emf/cdo/server/ocl/OCLExtentCr
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/emf/cdo/server/ocl/CDOExtentCreator.Lazy.html" title="class in org.eclipse.emf.cdo.server.ocl">CDOExtentCreator.Lazy</A></B></CODE>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;An <A HREF="../../../../../../../org/eclipse/emf/cdo/server/ocl/CDOExtentCreator.html" title="class in org.eclipse.emf.cdo.server.ocl"><CODE>extent creator</CODE></A> that creates extent sets which support a lazy populating iterator.</TD>
</TR>
</TABLE>
&nbsp;
diff --git a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/ocl/package-summary.html b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/ocl/package-summary.html
index 25bf65551f..4db7d2f42f 100644
--- a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/ocl/package-summary.html
+++ b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/ocl/package-summary.html
@@ -108,7 +108,7 @@ Server implementation of a generic OCL query handler.
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../../../org/eclipse/emf/cdo/server/ocl/OCLExtentCreator.html" title="interface in org.eclipse.emf.cdo.server.ocl">OCLExtentCreator</A></B></TD>
-<TD>&nbsp;</TD>
+<TD>Creates extents of <A HREF="http://download.eclipse.org/modeling/emf/emf/javadoc/2.7.0/org/eclipse/emf/ecore/EClass.html?is-external=true" title="class or interface in org.eclipse.emf.ecore"><CODE>classes</CODE></A>.</TD>
</TR>
</TABLE>
&nbsp;
@@ -122,23 +122,23 @@ Server implementation of a generic OCL query handler.
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../../../org/eclipse/emf/cdo/server/ocl/CDOExtentCreator.html" title="class in org.eclipse.emf.cdo.server.ocl">CDOExtentCreator</A></B></TD>
-<TD>&nbsp;</TD>
+<TD>An OCL <A HREF="../../../../../../org/eclipse/emf/cdo/server/ocl/OCLExtentCreator.html" title="interface in org.eclipse.emf.cdo.server.ocl"><CODE>extent creator</CODE></A> implementation for CDO.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../../../org/eclipse/emf/cdo/server/ocl/CDOExtentCreator.Lazy.html" title="class in org.eclipse.emf.cdo.server.ocl">CDOExtentCreator.Lazy</A></B></TD>
-<TD>&nbsp;</TD>
+<TD>An <A HREF="../../../../../../org/eclipse/emf/cdo/server/ocl/CDOExtentCreator.html" title="class in org.eclipse.emf.cdo.server.ocl"><CODE>extent creator</CODE></A> that creates extent sets which support a lazy populating iterator.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../../../org/eclipse/emf/cdo/server/ocl/CDOExtentMap.html" title="class in org.eclipse.emf.cdo.server.ocl">CDOExtentMap</A></B></TD>
-<TD>&nbsp;</TD>
+<TD>Maps <A HREF="http://download.eclipse.org/modeling/emf/emf/javadoc/2.7.0/org/eclipse/emf/ecore/EClass.html?is-external=true" title="class or interface in org.eclipse.emf.ecore"><CODE>classes</CODE></A> to their extents.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../../../org/eclipse/emf/cdo/server/ocl/OCLQueryHandler.html" title="class in org.eclipse.emf.cdo.server.ocl">OCLQueryHandler</A></B></TD>
-<TD>&nbsp;</TD>
+<TD>A <A HREF="../../../../../../org/eclipse/emf/cdo/server/IQueryHandler.html" title="interface in org.eclipse.emf.cdo.server"><CODE>query handler</CODE></A> that evaluates OCL query expressions.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../../../org/eclipse/emf/cdo/server/ocl/OCLQueryHandler.Factory.html" title="class in org.eclipse.emf.cdo.server.ocl">OCLQueryHandler.Factory</A></B></TD>
-<TD>&nbsp;</TD>
+<TD>Creates <A HREF="../../../../../../org/eclipse/emf/cdo/server/ocl/OCLQueryHandler.html" title="class in org.eclipse.emf.cdo.server.ocl"><CODE>OCLQueryHandler</CODE></A> instances.</TD>
</TR>
</TABLE>
&nbsp;
diff --git a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/ocl/package-use.html b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/ocl/package-use.html
index 26c790154d..acbf6f67ea 100644
--- a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/ocl/package-use.html
+++ b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/server/ocl/package-use.html
@@ -106,25 +106,25 @@ Classes in <A HREF="../../../../../../org/eclipse/emf/cdo/server/ocl/package-sum
<TD><B><A HREF="../../../../../../org/eclipse/emf/cdo/server/ocl/class-use/CDOExtentCreator.html#org.eclipse.emf.cdo.server.ocl"><B>CDOExtentCreator</B></A></B>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;An OCL <A HREF="../../../../../../org/eclipse/emf/cdo/server/ocl/OCLExtentCreator.html" title="interface in org.eclipse.emf.cdo.server.ocl"><CODE>extent creator</CODE></A> implementation for CDO.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><B><A HREF="../../../../../../org/eclipse/emf/cdo/server/ocl/class-use/CDOExtentMap.html#org.eclipse.emf.cdo.server.ocl"><B>CDOExtentMap</B></A></B>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Maps <A HREF="http://download.eclipse.org/modeling/emf/emf/javadoc/2.7.0/org/eclipse/emf/ecore/EClass.html?is-external=true" title="class or interface in org.eclipse.emf.ecore"><CODE>classes</CODE></A> to their extents.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><B><A HREF="../../../../../../org/eclipse/emf/cdo/server/ocl/class-use/OCLExtentCreator.html#org.eclipse.emf.cdo.server.ocl"><B>OCLExtentCreator</B></A></B>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates extents of <A HREF="http://download.eclipse.org/modeling/emf/emf/javadoc/2.7.0/org/eclipse/emf/ecore/EClass.html?is-external=true" title="class or interface in org.eclipse.emf.ecore"><CODE>classes</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><B><A HREF="../../../../../../org/eclipse/emf/cdo/server/ocl/class-use/OCLQueryHandler.html#org.eclipse.emf.cdo.server.ocl"><B>OCLQueryHandler</B></A></B>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A <A HREF="../../../../../../org/eclipse/emf/cdo/server/IQueryHandler.html" title="interface in org.eclipse.emf.cdo.server"><CODE>query handler</CODE></A> that evaluates OCL query expressions.</TD>
</TR>
</TABLE>
&nbsp;
diff --git a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/session/class-use/CDOSessionConfigurationFactory.html b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/session/class-use/CDOSessionConfigurationFactory.html
index 9cf2446dec..9c656eeb61 100644
--- a/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/session/class-use/CDOSessionConfigurationFactory.html
+++ b/plugins/org.eclipse.emf.cdo.doc/javadoc/org/eclipse/emf/cdo/session/class-use/CDOSessionConfigurationFactory.html
@@ -194,7 +194,7 @@ Uses of <A HREF="../../../../../../org/eclipse/emf/cdo/session/CDOSessionConfigu
<TD><CODE><B><A HREF="../../../../../../org/eclipse/emf/cdo/server/net4j/FailoverAgent.html" title="class in org.eclipse.emf.cdo.server.net4j">FailoverAgent</A></B></CODE>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A repository-side agent for a <A HREF="../../../../../../org/eclipse/emf/cdo/server/net4j/FailoverMonitor.html" title="class in org.eclipse.emf.cdo.server.net4j"><CODE>fail-over monitor</CODE></A>.</TD>
</TR>
</TABLE>
&nbsp;
diff --git a/plugins/org.eclipse.emf.cdo.doc/javadoc/overview-summary.html b/plugins/org.eclipse.emf.cdo.doc/javadoc/overview-summary.html
index ff121fc83f..ba98052885 100644
--- a/plugins/org.eclipse.emf.cdo.doc/javadoc/overview-summary.html
+++ b/plugins/org.eclipse.emf.cdo.doc/javadoc/overview-summary.html
@@ -295,7 +295,7 @@ CDO is both a development-time model repository and a run-time persistence frame
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="20%"><B><A HREF="org/eclipse/emf/cdo/common/admin/package-summary.html">org.eclipse.emf.cdo.common.admin</A></B></TD>
-<TD>&nbsp;</TD>
+<TD>Common concepts for the protocol to administer CDO repositories remotely.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="20%"><B><A HREF="org/eclipse/emf/cdo/common/branch/package-summary.html">org.eclipse.emf.cdo.common.branch</A></B></TD>
diff --git a/plugins/org.eclipse.emf.cdo.doc/javadoc/serialized-form.html b/plugins/org.eclipse.emf.cdo.doc/javadoc/serialized-form.html
index 1354da36be..31a64fce97 100644
--- a/plugins/org.eclipse.emf.cdo.doc/javadoc/serialized-form.html
+++ b/plugins/org.eclipse.emf.cdo.doc/javadoc/serialized-form.html
@@ -443,6 +443,80 @@ result</H3>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
<TH ALIGN="center"><FONT SIZE="+2">
+<B>Package</B> <B>org.eclipse.emf.cdo.ui.ide</B></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="org.eclipse.emf.cdo.ui.ide.CommonNavigatorUtils$1"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Class org.eclipse.emf.cdo.ui.ide.CommonNavigatorUtils$1 extends <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> implements Serializable</B></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+<A NAME="org.eclipse.emf.cdo.ui.ide.CommonNavigatorUtils$1$1"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Class org.eclipse.emf.cdo.ui.ide.CommonNavigatorUtils$1$1 extends <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> implements Serializable</B></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+<A NAME="org.eclipse.emf.cdo.ui.ide.CommonNavigatorUtils$1$2"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Class org.eclipse.emf.cdo.ui.ide.CommonNavigatorUtils$1$2 extends <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> implements Serializable</B></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+<A NAME="org.eclipse.emf.cdo.ui.ide.RepositoryContentProvider$1"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Class org.eclipse.emf.cdo.ui.ide.RepositoryContentProvider$1 extends <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> implements Serializable</B></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+<A NAME="org.eclipse.emf.cdo.ui.ide.RepositoryContentProvider$2"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Class org.eclipse.emf.cdo.ui.ide.RepositoryContentProvider$2 extends <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> implements Serializable</B></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+<A NAME="org.eclipse.emf.cdo.ui.ide.RepositoryContentProvider$3"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Class org.eclipse.emf.cdo.ui.ide.RepositoryContentProvider$3 extends <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> implements Serializable</B></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+<HR SIZE="4" NOSHADE>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="center"><FONT SIZE="+2">
<B>Package</B> <B>org.eclipse.emf.cdo.util</B></FONT></TH>
</TR>
</TABLE>
diff --git a/plugins/org.eclipse.emf.cdo.releng.doc/debug/org.eclipse.emf.cdo.doc.warnings b/plugins/org.eclipse.emf.cdo.releng.doc/debug/org.eclipse.emf.cdo.doc.warnings
index f2b47fa7e4..4c39b46e95 100644
--- a/plugins/org.eclipse.emf.cdo.releng.doc/debug/org.eclipse.emf.cdo.doc.warnings
+++ b/plugins/org.eclipse.emf.cdo.releng.doc/debug/org.eclipse.emf.cdo.doc.warnings
@@ -1,33 +1,7 @@
-Class description missing: org.eclipse.emf.cdo.server.db.IDBStore$Props.class(IDBStore.java:68)
Class description missing: org.eclipse.emf.cdo.server.hibernate.CDOHibernateUtil.class(CDOHibernateUtil.java:21)
Class description missing: org.eclipse.emf.cdo.server.hibernate.IHibernateMappingProvider$Factory.class(IHibernateMappingProvider.java:38)
Class description missing: org.eclipse.emf.cdo.server.hibernate.IHibernateStore.class(IHibernateStore.java:27)
Class description missing: org.eclipse.emf.cdo.server.hibernate.IHibernateStoreAccessor.class(IHibernateStoreAccessor.java:25)
Class description missing: org.eclipse.emf.cdo.server.hibernate.IHibernateStoreChunkReader.class(IHibernateStoreChunkReader.java:20)
-Class description missing: org.eclipse.emf.cdo.server.mongodb.CDOMongoDBUtil.class(CDOMongoDBUtil.java:25)
-Class description missing: org.eclipse.emf.cdo.server.mongodb.IMongoDBStore.class(IMongoDBStore.java:22)
-Class description missing: org.eclipse.emf.cdo.server.mongodb.IMongoDBStoreAccessor.class(IMongoDBStoreAccessor.java:20)
-Class description missing: org.eclipse.emf.cdo.server.net4j.CDONet4jServerUtil.class(CDONet4jServerUtil.java:22)
-Class description missing: org.eclipse.emf.cdo.server.net4j.FailoverAgent$Protocol.class(FailoverAgent.java:232)
-Class description missing: org.eclipse.emf.cdo.server.net4j.FailoverAgent.class(FailoverAgent.java:41)
-Class description missing: org.eclipse.emf.cdo.server.net4j.FailoverMonitor$AbstractServerProtocolFactory.class(FailoverMonitor.java:218)
-Class description missing: org.eclipse.emf.cdo.server.net4j.FailoverMonitor$AgentProtocol$Factory.class(FailoverMonitor.java:307)
-Class description missing: org.eclipse.emf.cdo.server.net4j.FailoverMonitor$AgentProtocol.class(FailoverMonitor.java:243)
-Class description missing: org.eclipse.emf.cdo.server.net4j.FailoverMonitor$ClientProtocol$Factory.class(FailoverMonitor.java:395)
-Class description missing: org.eclipse.emf.cdo.server.net4j.FailoverMonitor$ClientProtocol.class(FailoverMonitor.java:329)
-Class description missing: org.eclipse.emf.cdo.server.net4j.FailoverMonitor$Factory.class(FailoverMonitor.java:198)
-Class description missing: org.eclipse.emf.cdo.server.net4j.FailoverMonitor$Provider.class(FailoverMonitor.java:190)
-Class description missing: org.eclipse.emf.cdo.server.net4j.FailoverMonitor.class(FailoverMonitor.java:38)
-Class description missing: org.eclipse.emf.cdo.server.objectivity.IObjectivityStoreAccessor.class(IObjectivityStoreAccessor.java:22)
-Class description missing: org.eclipse.emf.cdo.server.objectivity.IObjectivityStoreChunkReader.class(IObjectivityStoreChunkReader.java:19)
-Class description missing: org.eclipse.emf.cdo.server.objectivity.IObjectivityStoreConfig.class(IObjectivityStoreConfig.java:15)
-Class description missing: org.eclipse.emf.cdo.server.objectivity.ObjyStoreUtil.class(ObjyStoreUtil.java:16)
-Class description missing: org.eclipse.emf.cdo.server.ocl.CDOExtentCreator$Lazy.class(CDOExtentCreator.java:161)
-Class description missing: org.eclipse.emf.cdo.server.ocl.CDOExtentCreator.class(CDOExtentCreator.java:43)
-Class description missing: org.eclipse.emf.cdo.server.ocl.CDOExtentMap.class(CDOExtentMap.java:24)
-Class description missing: org.eclipse.emf.cdo.server.ocl.OCLExtentCreator.class(OCLExtentCreator.java:22)
-Class description missing: org.eclipse.emf.cdo.server.ocl.OCLQueryHandler$Factory.class(OCLQueryHandler.java:378)
-Class description missing: org.eclipse.emf.cdo.server.ocl.OCLQueryHandler.class(OCLQueryHandler.java:71)
Class description missing: org.eclipse.emf.internal.cdo.CDOObjectImpl$CDOStoreEcoreEMap.class(CDOObjectImpl.java:1306)
Class description missing: org.eclipse.emf.internal.cdo.CDOObjectImpl$CDOStoreUnorderedEList.class(CDOObjectImpl.java:1435)
-Package description missing: org.eclipse.emf.cdo.common.admin
diff --git a/plugins/org.eclipse.emf.cdo.releng.doc/debug/org.eclipse.net4j.doc.warnings b/plugins/org.eclipse.emf.cdo.releng.doc/debug/org.eclipse.net4j.doc.warnings
deleted file mode 100644
index 3d6f86fa16..0000000000
--- a/plugins/org.eclipse.emf.cdo.releng.doc/debug/org.eclipse.net4j.doc.warnings
+++ /dev/null
@@ -1,26 +0,0 @@
-Class description missing: org.eclipse.net4j.jvm.IJVMChannel.class(IJVMChannel.java:19)
-Class description missing: org.eclipse.net4j.protocol.IProtocol.class(IProtocol.java:24)
-Class description missing: org.eclipse.net4j.protocol.IProtocolProvider.class(IProtocolProvider.java:16)
-Class description missing: org.eclipse.net4j.signal.ISignalProtocol.class(ISignalProtocol.java:24)
-Class description missing: org.eclipse.net4j.signal.Indication.class(Indication.java:20)
-Class description missing: org.eclipse.net4j.signal.IndicationWithMonitoring.class(IndicationWithMonitoring.java:30)
-Class description missing: org.eclipse.net4j.signal.IndicationWithResponse.class(IndicationWithResponse.java:22)
-Class description missing: org.eclipse.net4j.signal.RemoteException.class(RemoteException.java:17)
-Class description missing: org.eclipse.net4j.signal.Request.class(Request.java:20)
-Class description missing: org.eclipse.net4j.signal.RequestWithConfirmation.class(RequestWithConfirmation.java:25)
-Class description missing: org.eclipse.net4j.signal.RequestWithMonitoring.class(RequestWithMonitoring.java:31)
-Class description missing: org.eclipse.net4j.signal.Signal.class(Signal.java:32)
-Class description missing: org.eclipse.net4j.signal.SignalActor.class(SignalActor.java:19)
-Class description missing: org.eclipse.net4j.signal.SignalCounter.class(SignalCounter.java:21)
-Class description missing: org.eclipse.net4j.signal.SignalFinishedEvent.class(SignalFinishedEvent.java:20)
-Class description missing: org.eclipse.net4j.signal.SignalProtocol$TimeoutChangedEvent.class(SignalProtocol.java:522)
-Class description missing: org.eclipse.net4j.signal.SignalProtocol.class(SignalProtocol.java:45)
-Class description missing: org.eclipse.net4j.signal.SignalReactor.class(SignalReactor.java:16)
-Class description missing: org.eclipse.net4j.signal.SignalScheduledEvent.class(SignalScheduledEvent.java:20)
-Class description missing: org.eclipse.net4j.signal.heartbeat.HeartBeatProtocol$Server$Factory.class(HeartBeatProtocol.java:309)
-Class description missing: org.eclipse.net4j.signal.heartbeat.HeartBeatProtocol$Server$TimerInjector.class(HeartBeatProtocol.java:325)
-Class description missing: org.eclipse.net4j.signal.heartbeat.HeartBeatProtocol$Server.class(HeartBeatProtocol.java:195)
-Class description missing: org.eclipse.net4j.signal.heartbeat.HeartBeatProtocol.class(HeartBeatProtocol.java:43)
-Class description missing: org.eclipse.net4j.signal.wrapping.GZIPStreamWrapperInjector.class(GZIPStreamWrapperInjector.java:18)
-Class description missing: org.eclipse.net4j.signal.wrapping.StreamWrapperInjector.class(StreamWrapperInjector.java:22)
-Class description missing: org.eclipse.net4j.signal.wrapping.XORStreamWrapperInjector.class(XORStreamWrapperInjector.java:18)
diff --git a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/db/IDBStore.java b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/db/IDBStore.java
index 5e2fbf8d99..f8636b6299 100644
--- a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/db/IDBStore.java
+++ b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/db/IDBStore.java
@@ -12,6 +12,7 @@
*/
package org.eclipse.emf.cdo.server.db;
+import org.eclipse.emf.cdo.server.IRepository;
import org.eclipse.emf.cdo.server.ISession;
import org.eclipse.emf.cdo.server.IStore;
import org.eclipse.emf.cdo.server.IStore.CanHandleClientAssignedIDs;
@@ -63,7 +64,12 @@ public interface IDBStore extends IStore, IDBConnectionProvider, CanHandleClient
public IDBStoreAccessor getWriter(ITransaction transaction);
/**
+ * Contains symbolic constants that specifiy valid keys of {@link IRepository#getProperties() DB store properties}.
+ *
+ * @author Eike Stepper
* @since 4.0
+ * @noextend This interface is not intended to be extended by clients.
+ * @noimplement This interface is not intended to be implemented by clients.
*/
public interface Props
{
diff --git a/plugins/org.eclipse.emf.cdo.server.mongodb/src/org/eclipse/emf/cdo/server/mongodb/CDOMongoDBUtil.java b/plugins/org.eclipse.emf.cdo.server.mongodb/src/org/eclipse/emf/cdo/server/mongodb/CDOMongoDBUtil.java
index 29937fee7c..3e1292c9de 100644
--- a/plugins/org.eclipse.emf.cdo.server.mongodb/src/org/eclipse/emf/cdo/server/mongodb/CDOMongoDBUtil.java
+++ b/plugins/org.eclipse.emf.cdo.server.mongodb/src/org/eclipse/emf/cdo/server/mongodb/CDOMongoDBUtil.java
@@ -1,44 +1,46 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
- * Stefan Winkler - 271444: [DB] Multiple refactorings
- * Stefan Winkler - 249610: [DB] Support external references (Implementation)
- */
-package org.eclipse.emf.cdo.server.mongodb;
-
-import org.eclipse.emf.cdo.server.internal.mongodb.MongoDBBrowserPage;
-import org.eclipse.emf.cdo.server.internal.mongodb.MongoDBStore;
-
-import org.eclipse.net4j.util.container.IManagedContainer;
-
-import com.mongodb.MongoURI;
-
-/**
- * @author Eike Stepper
- */
-public final class CDOMongoDBUtil
-{
- private CDOMongoDBUtil()
- {
- }
-
- public static void prepareContainer(IManagedContainer container)
- {
- container.registerFactory(new MongoDBBrowserPage.Factory());
- }
-
- public static IMongoDBStore createStore(String uri, String dbName)
- {
- MongoURI mongoURI = new MongoURI(uri);
- MongoDBStore store = new MongoDBStore();
- store.setMongoURI(mongoURI);
- store.setDBName(dbName);
- return store;
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ * Stefan Winkler - 271444: [DB] Multiple refactorings
+ * Stefan Winkler - 249610: [DB] Support external references (Implementation)
+ */
+package org.eclipse.emf.cdo.server.mongodb;
+
+import org.eclipse.emf.cdo.server.internal.mongodb.MongoDBBrowserPage;
+import org.eclipse.emf.cdo.server.internal.mongodb.MongoDBStore;
+
+import org.eclipse.net4j.util.container.IManagedContainer;
+
+import com.mongodb.MongoURI;
+
+/**
+ * Various static methods that may help in setting up and dealing with {@link IMongoDBStore MongoDB stores}.
+ *
+ * @author Eike Stepper
+ */
+public final class CDOMongoDBUtil
+{
+ private CDOMongoDBUtil()
+ {
+ }
+
+ public static void prepareContainer(IManagedContainer container)
+ {
+ container.registerFactory(new MongoDBBrowserPage.Factory());
+ }
+
+ public static IMongoDBStore createStore(String uri, String dbName)
+ {
+ MongoURI mongoURI = new MongoURI(uri);
+ MongoDBStore store = new MongoDBStore();
+ store.setMongoURI(mongoURI);
+ store.setDBName(dbName);
+ return store;
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.server.mongodb/src/org/eclipse/emf/cdo/server/mongodb/IMongoDBStore.java b/plugins/org.eclipse.emf.cdo.server.mongodb/src/org/eclipse/emf/cdo/server/mongodb/IMongoDBStore.java
index 24edae1f47..751756e7a7 100644
--- a/plugins/org.eclipse.emf.cdo.server.mongodb/src/org/eclipse/emf/cdo/server/mongodb/IMongoDBStore.java
+++ b/plugins/org.eclipse.emf.cdo.server.mongodb/src/org/eclipse/emf/cdo/server/mongodb/IMongoDBStore.java
@@ -1,28 +1,30 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
- * Stefan Winkler - 271444: [DB] Multiple refactorings
- * Stefan Winkler - 249610: [DB] Support external references (Implementation)
- */
-package org.eclipse.emf.cdo.server.mongodb;
-
-import org.eclipse.emf.cdo.server.IStore;
-
-/**
- * @author Eike Stepper
- * @noextend This interface is not intended to be extended by clients.
- * @noimplement This interface is not intended to be implemented by clients.
- */
-public interface IMongoDBStore extends IStore
-{
- /**
- * The return value can be cast to {@link com.mongodb.DB}.
- */
- public Object getDB();
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ * Stefan Winkler - 271444: [DB] Multiple refactorings
+ * Stefan Winkler - 249610: [DB] Support external references (Implementation)
+ */
+package org.eclipse.emf.cdo.server.mongodb;
+
+import org.eclipse.emf.cdo.server.IStore;
+
+/**
+ * The main entry point to the API of CDO's <a href="http://www.mongodb.org">MongoDB</a> back-end integration.
+ *
+ * @author Eike Stepper
+ * @noextend This interface is not intended to be extended by clients.
+ * @noimplement This interface is not intended to be implemented by clients.
+ */
+public interface IMongoDBStore extends IStore
+{
+ /**
+ * The return value can be cast to {@link com.mongodb.DB}.
+ */
+ public Object getDB();
+}
diff --git a/plugins/org.eclipse.emf.cdo.server.mongodb/src/org/eclipse/emf/cdo/server/mongodb/IMongoDBStoreAccessor.java b/plugins/org.eclipse.emf.cdo.server.mongodb/src/org/eclipse/emf/cdo/server/mongodb/IMongoDBStoreAccessor.java
index ed9ab96971..540967bd31 100644
--- a/plugins/org.eclipse.emf.cdo.server.mongodb/src/org/eclipse/emf/cdo/server/mongodb/IMongoDBStoreAccessor.java
+++ b/plugins/org.eclipse.emf.cdo.server.mongodb/src/org/eclipse/emf/cdo/server/mongodb/IMongoDBStoreAccessor.java
@@ -1,23 +1,25 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
- */
-package org.eclipse.emf.cdo.server.mongodb;
-
-import org.eclipse.emf.cdo.server.IStoreAccessor;
-
-/**
- * @author Eike Stepper
- * @noextend This interface is not intended to be extended by clients.
- * @noimplement This interface is not intended to be implemented by clients.
- */
-public interface IMongoDBStoreAccessor extends IStoreAccessor
-{
- public IMongoDBStore getStore();
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.server.mongodb;
+
+import org.eclipse.emf.cdo.server.IStoreAccessor;
+
+/**
+ * A {@link IStoreAccessor store accessor} for CDO's <a href="http://www.mongodb.org">MongoDB</a> back-end integration.
+ *
+ * @author Eike Stepper
+ * @noextend This interface is not intended to be extended by clients.
+ * @noimplement This interface is not intended to be implemented by clients.
+ */
+public interface IMongoDBStoreAccessor extends IStoreAccessor
+{
+ public IMongoDBStore getStore();
+}
diff --git a/plugins/org.eclipse.emf.cdo.server.net4j/src/org/eclipse/emf/cdo/server/net4j/CDONet4jServerUtil.java b/plugins/org.eclipse.emf.cdo.server.net4j/src/org/eclipse/emf/cdo/server/net4j/CDONet4jServerUtil.java
index 344e9252b6..7c92710648 100644
--- a/plugins/org.eclipse.emf.cdo.server.net4j/src/org/eclipse/emf/cdo/server/net4j/CDONet4jServerUtil.java
+++ b/plugins/org.eclipse.emf.cdo.server.net4j/src/org/eclipse/emf/cdo/server/net4j/CDONet4jServerUtil.java
@@ -1,40 +1,43 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
- */
-package org.eclipse.emf.cdo.server.net4j;
-
-import org.eclipse.emf.cdo.server.IRepositoryProvider;
-import org.eclipse.emf.cdo.server.internal.net4j.protocol.CDOServerProtocolFactory;
-import org.eclipse.emf.cdo.spi.server.ContainerRepositoryProvider;
-
-import org.eclipse.net4j.util.container.IManagedContainer;
-
-/**
- * @author Eike Stepper
- */
-public final class CDONet4jServerUtil
-{
- private CDONet4jServerUtil()
- {
- }
-
- public static void prepareContainer(IManagedContainer container, IRepositoryProvider repositoryProvider)
- {
- container.registerFactory(new CDOServerProtocolFactory(repositoryProvider));
- container.registerFactory(new FailoverMonitor.Factory());
- container.registerFactory(new FailoverMonitor.AgentProtocol.Factory(container));
- container.registerFactory(new FailoverMonitor.ClientProtocol.Factory(container));
- }
-
- public static void prepareContainer(IManagedContainer container)
- {
- prepareContainer(container, new ContainerRepositoryProvider(container));
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.server.net4j;
+
+import org.eclipse.emf.cdo.common.CDOCommonSession;
+import org.eclipse.emf.cdo.server.IRepositoryProvider;
+import org.eclipse.emf.cdo.server.internal.net4j.protocol.CDOServerProtocolFactory;
+import org.eclipse.emf.cdo.spi.server.ContainerRepositoryProvider;
+
+import org.eclipse.net4j.util.container.IManagedContainer;
+
+/**
+ * Various static methods that may help with the server-side setup to support Net4j-specific CDO {@link CDOCommonSession sessions}.
+ *
+ * @author Eike Stepper
+ */
+public final class CDONet4jServerUtil
+{
+ private CDONet4jServerUtil()
+ {
+ }
+
+ public static void prepareContainer(IManagedContainer container, IRepositoryProvider repositoryProvider)
+ {
+ container.registerFactory(new CDOServerProtocolFactory(repositoryProvider));
+ container.registerFactory(new FailoverMonitor.Factory());
+ container.registerFactory(new FailoverMonitor.AgentProtocol.Factory(container));
+ container.registerFactory(new FailoverMonitor.ClientProtocol.Factory(container));
+ }
+
+ public static void prepareContainer(IManagedContainer container)
+ {
+ prepareContainer(container, new ContainerRepositoryProvider(container));
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.server.net4j/src/org/eclipse/emf/cdo/server/net4j/FailoverAgent.java b/plugins/org.eclipse.emf.cdo.server.net4j/src/org/eclipse/emf/cdo/server/net4j/FailoverAgent.java
index 23a2ea92c8..5497a2139c 100644
--- a/plugins/org.eclipse.emf.cdo.server.net4j/src/org/eclipse/emf/cdo/server/net4j/FailoverAgent.java
+++ b/plugins/org.eclipse.emf.cdo.server.net4j/src/org/eclipse/emf/cdo/server/net4j/FailoverAgent.java
@@ -1,286 +1,290 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
- */
-package org.eclipse.emf.cdo.server.net4j;
-
-import org.eclipse.emf.cdo.common.CDOCommonRepository;
-import org.eclipse.emf.cdo.server.CDOServerUtil;
-import org.eclipse.emf.cdo.server.ISynchronizableRepository;
-import org.eclipse.emf.cdo.session.CDOSessionConfiguration;
-import org.eclipse.emf.cdo.session.CDOSessionConfigurationFactory;
-import org.eclipse.emf.cdo.spi.server.InternalFailoverParticipant;
-import org.eclipse.emf.cdo.spi.server.InternalRepositorySynchronizer;
-
-import org.eclipse.net4j.connector.IConnector;
-import org.eclipse.net4j.signal.Indication;
-import org.eclipse.net4j.signal.SignalReactor;
-import org.eclipse.net4j.signal.heartbeat.HeartBeatProtocol;
-import org.eclipse.net4j.util.concurrent.TimerLifecycle;
-import org.eclipse.net4j.util.concurrent.TimerLifecycle.DaemonFactory;
-import org.eclipse.net4j.util.container.IManagedContainer;
-import org.eclipse.net4j.util.container.IPluginContainer;
-import org.eclipse.net4j.util.io.ExtendedDataInputStream;
-import org.eclipse.net4j.util.io.ExtendedDataOutputStream;
-import org.eclipse.net4j.util.lifecycle.Lifecycle;
-import org.eclipse.net4j.util.lifecycle.LifecycleUtil;
-
-import java.io.IOException;
-import java.util.Timer;
-
-/**
- * @author Eike Stepper
- * @since 4.0
- */
-public abstract class FailoverAgent extends Lifecycle implements CDOSessionConfigurationFactory
-{
- private IConnector monitorConnector;
-
- private Timer timer;
-
- private long rate;
-
- private long timeout;
-
- private String group;
-
- private String connectorDescription;
-
- private InternalFailoverParticipant repository;
-
- private Protocol protocol;
-
- private String masterConnectorDescription;
-
- private String masterRepositoryName;
-
- private InternalRepositorySynchronizer synchronizer;
-
- public FailoverAgent()
- {
- }
-
- public IConnector getMonitorConnector()
- {
- return monitorConnector;
- }
-
- public void setMonitorConnector(IConnector connector)
- {
- checkInactive();
- monitorConnector = connector;
- }
-
- public Timer getTimer()
- {
- return timer;
- }
-
- public void setTimer(Timer timer)
- {
- checkInactive();
- this.timer = timer;
- }
-
- public long getRate()
- {
- return rate;
- }
-
- public void setRate(long rate)
- {
- checkInactive();
- this.rate = rate;
- }
-
- public long getTimeout()
- {
- return timeout;
- }
-
- public void setTimeout(long timeout)
- {
- checkInactive();
- this.timeout = timeout;
- }
-
- public String getGroup()
- {
- return group;
- }
-
- public void setGroup(String group)
- {
- checkInactive();
- this.group = group;
- }
-
- public String getConnectorDescription()
- {
- return connectorDescription;
- }
-
- public void setConnectorDescription(String connectorDescription)
- {
- checkInactive();
- this.connectorDescription = connectorDescription;
- }
-
- public ISynchronizableRepository getRepository()
- {
- return repository;
- }
-
- public void setRepository(ISynchronizableRepository repository)
- {
- checkInactive();
-
- if (!(repository instanceof InternalFailoverParticipant))
- {
- throw new IllegalArgumentException("Not a failover participant: " + repository);
- }
-
- if (repository.getSynchronizer() != null)
- {
- throw new IllegalArgumentException("Synchronizer must be null: " + repository);
- }
-
- this.repository = (InternalFailoverParticipant)repository;
- }
-
- public Protocol getProtocol()
- {
- return protocol;
- }
-
- public CDOSessionConfiguration createSessionConfiguration()
- {
- return createSessionConfiguration(masterConnectorDescription, masterRepositoryName);
- }
-
- @Override
- protected void doBeforeActivate() throws Exception
- {
- super.doBeforeActivate();
- checkState(monitorConnector, "monitorConnector");
- checkState(group, "group");
- checkState(connectorDescription, "connectorDescription");
- checkState(repository, "repository");
- }
-
- @Override
- protected void doActivate() throws Exception
- {
- super.doActivate();
-
- if (timer == null)
- {
- timer = (Timer)getContainer().getElement(TimerLifecycle.PRODUCT_GROUP, DaemonFactory.TYPE, null);
- }
-
- synchronizer = (InternalRepositorySynchronizer)CDOServerUtil.createRepositorySynchronizer(this);
- repository.setSynchronizer(synchronizer);
- setMaster(); // Will be adjusted with the following SIGNAL_PUBLISH_MASTER
-
- LifecycleUtil.activate(repository);
-
- protocol = new Protocol(this);
- protocol.start(rate, timeout);
- }
-
- @Override
- protected void doDeactivate() throws Exception
- {
- protocol.close();
- protocol = null;
- timer = null;
- monitorConnector = null;
- super.doDeactivate();
- }
-
- protected void setMaster()
- {
- repository.setType(CDOCommonRepository.Type.MASTER);
- masterConnectorDescription = null;
- masterRepositoryName = null;
- }
-
- protected void setBackup(String connectorDescription, String repositoryName)
- {
- masterConnectorDescription = connectorDescription;
- masterRepositoryName = repositoryName;
- repository.setType(CDOCommonRepository.Type.BACKUP);
- }
-
- protected abstract CDOSessionConfiguration createSessionConfiguration(String connectorDescription,
- String repositoryName);
-
- protected IManagedContainer getContainer()
- {
- return IPluginContainer.INSTANCE;
- }
-
- /**
- * @author Eike Stepper
- */
- public static class Protocol extends HeartBeatProtocol
- {
- private FailoverAgent agent;
-
- public Protocol(FailoverAgent agent)
- {
- super(FailoverMonitor.PROTOCOL_NAME, agent.getMonitorConnector(), agent.getTimer());
- this.agent = agent;
- }
-
- public FailoverAgent getAgent()
- {
- return agent;
- }
-
- @Override
- protected void requestingStart(ExtendedDataOutputStream out, long rate) throws IOException
- {
- out.writeString(agent.getGroup());
- out.writeString(agent.getConnectorDescription());
- out.writeString(agent.getRepository().getName());
- super.requestingStart(out, rate);
- }
-
- @Override
- protected SignalReactor createSignalReactor(short signalID)
- {
- switch (signalID)
- {
- case FailoverMonitor.SIGNAL_PUBLISH_MASTER:
- return new Indication(this, FailoverMonitor.SIGNAL_PUBLISH_MASTER)
- {
- @Override
- protected void indicating(ExtendedDataInputStream in) throws Exception
- {
- boolean master = in.readBoolean();
- if (master)
- {
- agent.setMaster();
- }
- else
- {
- String connectorDescription = in.readString();
- String repositoryName = in.readString();
- agent.setBackup(connectorDescription, repositoryName);
- }
- }
- };
-
- default:
- return super.createSignalReactor(signalID);
- }
- }
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.server.net4j;
+
+import org.eclipse.emf.cdo.common.CDOCommonRepository;
+import org.eclipse.emf.cdo.server.CDOServerUtil;
+import org.eclipse.emf.cdo.server.ISynchronizableRepository;
+import org.eclipse.emf.cdo.session.CDOSessionConfiguration;
+import org.eclipse.emf.cdo.session.CDOSessionConfigurationFactory;
+import org.eclipse.emf.cdo.spi.server.InternalFailoverParticipant;
+import org.eclipse.emf.cdo.spi.server.InternalRepositorySynchronizer;
+
+import org.eclipse.net4j.connector.IConnector;
+import org.eclipse.net4j.signal.Indication;
+import org.eclipse.net4j.signal.SignalReactor;
+import org.eclipse.net4j.signal.heartbeat.HeartBeatProtocol;
+import org.eclipse.net4j.util.concurrent.TimerLifecycle;
+import org.eclipse.net4j.util.concurrent.TimerLifecycle.DaemonFactory;
+import org.eclipse.net4j.util.container.IManagedContainer;
+import org.eclipse.net4j.util.container.IPluginContainer;
+import org.eclipse.net4j.util.io.ExtendedDataInputStream;
+import org.eclipse.net4j.util.io.ExtendedDataOutputStream;
+import org.eclipse.net4j.util.lifecycle.Lifecycle;
+import org.eclipse.net4j.util.lifecycle.LifecycleUtil;
+
+import java.io.IOException;
+import java.util.Timer;
+
+/**
+ * A repository-side agent for a {@link FailoverMonitor fail-over monitor}.
+ *
+ * @author Eike Stepper
+ * @since 4.0
+ */
+public abstract class FailoverAgent extends Lifecycle implements CDOSessionConfigurationFactory
+{
+ private IConnector monitorConnector;
+
+ private Timer timer;
+
+ private long rate;
+
+ private long timeout;
+
+ private String group;
+
+ private String connectorDescription;
+
+ private InternalFailoverParticipant repository;
+
+ private Protocol protocol;
+
+ private String masterConnectorDescription;
+
+ private String masterRepositoryName;
+
+ private InternalRepositorySynchronizer synchronizer;
+
+ public FailoverAgent()
+ {
+ }
+
+ public IConnector getMonitorConnector()
+ {
+ return monitorConnector;
+ }
+
+ public void setMonitorConnector(IConnector connector)
+ {
+ checkInactive();
+ monitorConnector = connector;
+ }
+
+ public Timer getTimer()
+ {
+ return timer;
+ }
+
+ public void setTimer(Timer timer)
+ {
+ checkInactive();
+ this.timer = timer;
+ }
+
+ public long getRate()
+ {
+ return rate;
+ }
+
+ public void setRate(long rate)
+ {
+ checkInactive();
+ this.rate = rate;
+ }
+
+ public long getTimeout()
+ {
+ return timeout;
+ }
+
+ public void setTimeout(long timeout)
+ {
+ checkInactive();
+ this.timeout = timeout;
+ }
+
+ public String getGroup()
+ {
+ return group;
+ }
+
+ public void setGroup(String group)
+ {
+ checkInactive();
+ this.group = group;
+ }
+
+ public String getConnectorDescription()
+ {
+ return connectorDescription;
+ }
+
+ public void setConnectorDescription(String connectorDescription)
+ {
+ checkInactive();
+ this.connectorDescription = connectorDescription;
+ }
+
+ public ISynchronizableRepository getRepository()
+ {
+ return repository;
+ }
+
+ public void setRepository(ISynchronizableRepository repository)
+ {
+ checkInactive();
+
+ if (!(repository instanceof InternalFailoverParticipant))
+ {
+ throw new IllegalArgumentException("Not a failover participant: " + repository);
+ }
+
+ if (repository.getSynchronizer() != null)
+ {
+ throw new IllegalArgumentException("Synchronizer must be null: " + repository);
+ }
+
+ this.repository = (InternalFailoverParticipant)repository;
+ }
+
+ public Protocol getProtocol()
+ {
+ return protocol;
+ }
+
+ public CDOSessionConfiguration createSessionConfiguration()
+ {
+ return createSessionConfiguration(masterConnectorDescription, masterRepositoryName);
+ }
+
+ @Override
+ protected void doBeforeActivate() throws Exception
+ {
+ super.doBeforeActivate();
+ checkState(monitorConnector, "monitorConnector");
+ checkState(group, "group");
+ checkState(connectorDescription, "connectorDescription");
+ checkState(repository, "repository");
+ }
+
+ @Override
+ protected void doActivate() throws Exception
+ {
+ super.doActivate();
+
+ if (timer == null)
+ {
+ timer = (Timer)getContainer().getElement(TimerLifecycle.PRODUCT_GROUP, DaemonFactory.TYPE, null);
+ }
+
+ synchronizer = (InternalRepositorySynchronizer)CDOServerUtil.createRepositorySynchronizer(this);
+ repository.setSynchronizer(synchronizer);
+ setMaster(); // Will be adjusted with the following SIGNAL_PUBLISH_MASTER
+
+ LifecycleUtil.activate(repository);
+
+ protocol = new Protocol(this);
+ protocol.start(rate, timeout);
+ }
+
+ @Override
+ protected void doDeactivate() throws Exception
+ {
+ protocol.close();
+ protocol = null;
+ timer = null;
+ monitorConnector = null;
+ super.doDeactivate();
+ }
+
+ protected void setMaster()
+ {
+ repository.setType(CDOCommonRepository.Type.MASTER);
+ masterConnectorDescription = null;
+ masterRepositoryName = null;
+ }
+
+ protected void setBackup(String connectorDescription, String repositoryName)
+ {
+ masterConnectorDescription = connectorDescription;
+ masterRepositoryName = repositoryName;
+ repository.setType(CDOCommonRepository.Type.BACKUP);
+ }
+
+ protected abstract CDOSessionConfiguration createSessionConfiguration(String connectorDescription,
+ String repositoryName);
+
+ protected IManagedContainer getContainer()
+ {
+ return IPluginContainer.INSTANCE;
+ }
+
+ /**
+ * The agent-side implementation of the {@link FailoverMonitor fail-over monitor} protocol.
+ *
+ * @author Eike Stepper
+ */
+ public static class Protocol extends HeartBeatProtocol
+ {
+ private FailoverAgent agent;
+
+ public Protocol(FailoverAgent agent)
+ {
+ super(FailoverMonitor.PROTOCOL_NAME, agent.getMonitorConnector(), agent.getTimer());
+ this.agent = agent;
+ }
+
+ public FailoverAgent getAgent()
+ {
+ return agent;
+ }
+
+ @Override
+ protected void requestingStart(ExtendedDataOutputStream out, long rate) throws IOException
+ {
+ out.writeString(agent.getGroup());
+ out.writeString(agent.getConnectorDescription());
+ out.writeString(agent.getRepository().getName());
+ super.requestingStart(out, rate);
+ }
+
+ @Override
+ protected SignalReactor createSignalReactor(short signalID)
+ {
+ switch (signalID)
+ {
+ case FailoverMonitor.SIGNAL_PUBLISH_MASTER:
+ return new Indication(this, FailoverMonitor.SIGNAL_PUBLISH_MASTER)
+ {
+ @Override
+ protected void indicating(ExtendedDataInputStream in) throws Exception
+ {
+ boolean master = in.readBoolean();
+ if (master)
+ {
+ agent.setMaster();
+ }
+ else
+ {
+ String connectorDescription = in.readString();
+ String repositoryName = in.readString();
+ agent.setBackup(connectorDescription, repositoryName);
+ }
+ }
+ };
+
+ default:
+ return super.createSignalReactor(signalID);
+ }
+ }
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.server.net4j/src/org/eclipse/emf/cdo/server/net4j/FailoverMonitor.java b/plugins/org.eclipse.emf.cdo.server.net4j/src/org/eclipse/emf/cdo/server/net4j/FailoverMonitor.java
index ca36a61031..52888fa028 100644
--- a/plugins/org.eclipse.emf.cdo.server.net4j/src/org/eclipse/emf/cdo/server/net4j/FailoverMonitor.java
+++ b/plugins/org.eclipse.emf.cdo.server.net4j/src/org/eclipse/emf/cdo/server/net4j/FailoverMonitor.java
@@ -1,413 +1,433 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
- */
-package org.eclipse.emf.cdo.server.net4j;
-
-import org.eclipse.emf.cdo.server.internal.net4j.bundle.OM;
-import org.eclipse.emf.cdo.server.net4j.FailoverMonitor.AgentProtocol;
-
-import org.eclipse.net4j.signal.IndicationWithResponse;
-import org.eclipse.net4j.signal.Request;
-import org.eclipse.net4j.signal.SignalProtocol;
-import org.eclipse.net4j.signal.SignalReactor;
-import org.eclipse.net4j.signal.heartbeat.HeartBeatProtocol;
-import org.eclipse.net4j.util.container.Container;
-import org.eclipse.net4j.util.container.IManagedContainer;
-import org.eclipse.net4j.util.container.IPluginContainer;
-import org.eclipse.net4j.util.factory.ProductCreationException;
-import org.eclipse.net4j.util.io.ExtendedDataInputStream;
-import org.eclipse.net4j.util.io.ExtendedDataOutputStream;
-
-import org.eclipse.spi.net4j.ServerProtocolFactory;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @author Eike Stepper
- * @since 4.0
- */
-public class FailoverMonitor extends Container<AgentProtocol>
-{
- public static final String PRODUCT_GROUP = "org.eclipse.emf.cdo.server.net4j.failoverMonitors";
-
- public static final String PROTOCOL_NAME = "failover"; //$NON-NLS-1$
-
- public static final short SIGNAL_PUBLISH_MASTER = 3;
-
- private String group;
-
- private List<AgentProtocol> agents = new ArrayList<AgentProtocol>();
-
- private AgentProtocol masterAgent;
-
- public FailoverMonitor()
- {
- }
-
- public String getGroup()
- {
- return group;
- }
-
- public void setGroup(String group)
- {
- checkInactive();
- this.group = group;
- }
-
- public AgentProtocol[] getElements()
- {
- synchronized (agents)
- {
- return agents.toArray(new AgentProtocol[agents.size()]);
- }
- }
-
- public AgentProtocol getMasterAgent()
- {
- synchronized (agents)
- {
- return masterAgent;
- }
- }
-
- public void registerAgent(AgentProtocol agent)
- {
- AgentProtocol newMasterAgent = null;
- AgentProtocol[] newAgents = null;
-
- synchronized (agents)
- {
- agents.add(agent);
- if (agents.size() == 1)
- {
- masterAgent = agent;
- }
-
- newMasterAgent = masterAgent;
- newAgents = getElements();
- }
-
- if (newMasterAgent != null)
- {
- publishNewMaster(newMasterAgent, newAgents);
- }
-
- fireElementAddedEvent(agent);
- }
-
- public void deregisterAgent(AgentProtocol agent)
- {
- AgentProtocol newMasterAgent = null;
- AgentProtocol[] newAgents = null;
-
- synchronized (agents)
- {
- if (!agents.remove(agent))
- {
- return;
- }
-
- if (masterAgent == agent)
- {
- if (agents.isEmpty())
- {
- masterAgent = null;
- }
- else
- {
- masterAgent = electNewMaster(agents);
- }
- }
-
- newMasterAgent = masterAgent;
- newAgents = getElements();
- }
-
- if (newMasterAgent != null)
- {
- publishNewMaster(newMasterAgent, newAgents);
- }
-
- fireElementRemovedEvent(agent);
- }
-
- @Override
- protected void doBeforeActivate() throws Exception
- {
- super.doBeforeActivate();
- checkState(group, "group");
- }
-
- protected AgentProtocol electNewMaster(List<AgentProtocol> agents)
- {
- return agents.iterator().next();
- }
-
- private void publishNewMaster(final AgentProtocol masterAgent, AgentProtocol[] agents)
- {
- for (final AgentProtocol agent : agents)
- {
- try
- {
- new Request(agent, SIGNAL_PUBLISH_MASTER)
- {
- @Override
- protected void requesting(ExtendedDataOutputStream out) throws Exception
- {
- if (agent == masterAgent)
- {
- out.writeBoolean(true);
- }
- else
- {
- out.writeBoolean(false);
- out.writeString(masterAgent.getConnectorDescription());
- out.writeString(masterAgent.getRepositoryName());
- }
- }
- }.sendAsync();
- }
- catch (Exception ex)
- {
- OM.LOG.error(ex);
- }
- }
- }
-
- /**
- * @author Eike Stepper
- */
- public interface Provider
- {
- public FailoverMonitor getFailoverMonitor(String group);
- }
-
- /**
- * @author Eike Stepper
- */
- public static class Factory extends org.eclipse.net4j.util.factory.Factory
- {
- public static final String TYPE = "net4j";
-
- public Factory()
- {
- super(PRODUCT_GROUP, TYPE);
- }
-
- public FailoverMonitor create(String description) throws ProductCreationException
- {
- FailoverMonitor monitor = new FailoverMonitor();
- monitor.setGroup(description);
- return monitor;
- }
- }
-
- /**
- * @author Eike Stepper
- */
- public static abstract class AbstractServerProtocolFactory extends ServerProtocolFactory implements
- FailoverMonitor.Provider
- {
- private IManagedContainer container;
-
- protected AbstractServerProtocolFactory(String type)
- {
- this(type, IPluginContainer.INSTANCE);
- }
-
- protected AbstractServerProtocolFactory(String type, IManagedContainer container)
- {
- super(type);
- this.container = container;
- }
-
- public FailoverMonitor getFailoverMonitor(String group)
- {
- return (FailoverMonitor)container.getElement(FailoverMonitor.PRODUCT_GROUP, "net4j", group);
- }
- }
-
- /**
- * @author Eike Stepper
- */
- public static class AgentProtocol extends HeartBeatProtocol.Server
- {
- private FailoverMonitor.Provider failoverMonitorProvider;
-
- private FailoverMonitor failoverMonitor;
-
- private String connectorDescription;
-
- private String repositoryName;
-
- public AgentProtocol(Provider failOverMonitorProvider)
- {
- super(PROTOCOL_NAME);
- failoverMonitorProvider = failOverMonitorProvider;
- }
-
- @Override
- public String toString()
- {
- return connectorDescription + "/" + repositoryName;
- }
-
- protected FailoverMonitor getFailoverMonitor()
- {
- return failoverMonitor;
- }
-
- protected String getConnectorDescription()
- {
- return connectorDescription;
- }
-
- protected String getRepositoryName()
- {
- return repositoryName;
- }
-
- @Override
- protected void indicatingStart(ExtendedDataInputStream in) throws IOException
- {
- String group = in.readString();
- connectorDescription = in.readString();
- repositoryName = in.readString();
-
- failoverMonitor = failoverMonitorProvider.getFailoverMonitor(group);
- if (failoverMonitor == null)
- {
- throw new IllegalStateException("No monitor available for fail-over group " + group);
- }
-
- failoverMonitor.registerAgent(this);
- super.indicatingStart(in);
- }
-
- @Override
- protected void doDeactivate() throws Exception
- {
- failoverMonitor.deregisterAgent(this);
- super.doDeactivate();
- }
-
- /**
- * @author Eike Stepper
- */
- public static class Factory extends AbstractServerProtocolFactory
- {
- public Factory(IManagedContainer container)
- {
- super(PROTOCOL_NAME, container);
- }
-
- public Factory()
- {
- super(PROTOCOL_NAME);
- }
-
- public AgentProtocol create(String description) throws ProductCreationException
- {
- return new AgentProtocol(this);
- }
- }
- }
-
- /**
- * @author Eike Stepper
- */
- public static class ClientProtocol extends SignalProtocol<Object>
- {
- public static final String PROTOCOL_NAME = "failover-client"; //$NON-NLS-1$
-
- public static final short SIGNAL_QUERY_REPOSITORY_INFO = 1;
-
- private FailoverMonitor.Provider failoverMonitorProvider;
-
- private FailoverMonitor failoverMonitor;
-
- public ClientProtocol(Provider failOverMonitorProvider)
- {
- super(PROTOCOL_NAME);
- failoverMonitorProvider = failOverMonitorProvider;
- }
-
- @Override
- protected SignalReactor createSignalReactor(short signalID)
- {
- switch (signalID)
- {
- case SIGNAL_QUERY_REPOSITORY_INFO:
- return new IndicationWithResponse(this, SIGNAL_QUERY_REPOSITORY_INFO, "QueryRepositoryInfo")
- {
- @Override
- protected void indicating(ExtendedDataInputStream in) throws Exception
- {
- String group = in.readString();
- failoverMonitor = failoverMonitorProvider.getFailoverMonitor(group);
- if (failoverMonitor == null)
- {
- throw new IllegalStateException("No monitor available for fail-over group " + group);
- }
- }
-
- @Override
- protected void responding(ExtendedDataOutputStream out) throws Exception
- {
- AgentProtocol masterAgent = getMasterAgent();
- out.writeString(masterAgent.getConnectorDescription());
- out.writeString(masterAgent.getRepositoryName());
- }
-
- protected AgentProtocol getMasterAgent() throws InterruptedException
- {
- for (;;)
- {
- AgentProtocol masterAgent = failoverMonitor.getMasterAgent();
- if (masterAgent != null)
- {
- return masterAgent;
- }
-
- Thread.sleep(100L);
- }
- }
- };
-
- default:
- return super.createSignalReactor(signalID);
- }
- }
-
- /**
- * @author Eike Stepper
- */
- public static class Factory extends AbstractServerProtocolFactory
- {
- public Factory(IManagedContainer container)
- {
- super(PROTOCOL_NAME, container);
- }
-
- public Factory()
- {
- super(PROTOCOL_NAME);
- }
-
- public ClientProtocol create(String description) throws ProductCreationException
- {
- return new ClientProtocol(this);
- }
- }
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.server.net4j;
+
+import org.eclipse.emf.cdo.common.CDOCommonRepository.Type;
+import org.eclipse.emf.cdo.server.internal.net4j.bundle.OM;
+import org.eclipse.emf.cdo.server.net4j.FailoverMonitor.AgentProtocol;
+import org.eclipse.emf.cdo.spi.server.InternalFailoverParticipant;
+
+import org.eclipse.net4j.signal.IndicationWithResponse;
+import org.eclipse.net4j.signal.Request;
+import org.eclipse.net4j.signal.SignalProtocol;
+import org.eclipse.net4j.signal.SignalReactor;
+import org.eclipse.net4j.signal.heartbeat.HeartBeatProtocol;
+import org.eclipse.net4j.util.container.Container;
+import org.eclipse.net4j.util.container.IManagedContainer;
+import org.eclipse.net4j.util.container.IPluginContainer;
+import org.eclipse.net4j.util.factory.ProductCreationException;
+import org.eclipse.net4j.util.io.ExtendedDataInputStream;
+import org.eclipse.net4j.util.io.ExtendedDataOutputStream;
+
+import org.eclipse.spi.net4j.ServerProtocolFactory;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * A facility for monitoring a variable set of {@link InternalFailoverParticipant fail-over participant} repositories and electing,
+ * as well as promoting, a {@link Type#MASTER master} repository among them.
+ *
+ * @author Eike Stepper
+ * @since 4.0
+ */
+public class FailoverMonitor extends Container<AgentProtocol>
+{
+ public static final String PRODUCT_GROUP = "org.eclipse.emf.cdo.server.net4j.failoverMonitors";
+
+ public static final String PROTOCOL_NAME = "failover"; //$NON-NLS-1$
+
+ public static final short SIGNAL_PUBLISH_MASTER = 3;
+
+ private String group;
+
+ private List<AgentProtocol> agents = new ArrayList<AgentProtocol>();
+
+ private AgentProtocol masterAgent;
+
+ public FailoverMonitor()
+ {
+ }
+
+ public String getGroup()
+ {
+ return group;
+ }
+
+ public void setGroup(String group)
+ {
+ checkInactive();
+ this.group = group;
+ }
+
+ public AgentProtocol[] getElements()
+ {
+ synchronized (agents)
+ {
+ return agents.toArray(new AgentProtocol[agents.size()]);
+ }
+ }
+
+ public AgentProtocol getMasterAgent()
+ {
+ synchronized (agents)
+ {
+ return masterAgent;
+ }
+ }
+
+ public void registerAgent(AgentProtocol agent)
+ {
+ AgentProtocol newMasterAgent = null;
+ AgentProtocol[] newAgents = null;
+
+ synchronized (agents)
+ {
+ agents.add(agent);
+ if (agents.size() == 1)
+ {
+ masterAgent = agent;
+ }
+
+ newMasterAgent = masterAgent;
+ newAgents = getElements();
+ }
+
+ if (newMasterAgent != null)
+ {
+ publishNewMaster(newMasterAgent, newAgents);
+ }
+
+ fireElementAddedEvent(agent);
+ }
+
+ public void deregisterAgent(AgentProtocol agent)
+ {
+ AgentProtocol newMasterAgent = null;
+ AgentProtocol[] newAgents = null;
+
+ synchronized (agents)
+ {
+ if (!agents.remove(agent))
+ {
+ return;
+ }
+
+ if (masterAgent == agent)
+ {
+ if (agents.isEmpty())
+ {
+ masterAgent = null;
+ }
+ else
+ {
+ masterAgent = electNewMaster(agents);
+ }
+ }
+
+ newMasterAgent = masterAgent;
+ newAgents = getElements();
+ }
+
+ if (newMasterAgent != null)
+ {
+ publishNewMaster(newMasterAgent, newAgents);
+ }
+
+ fireElementRemovedEvent(agent);
+ }
+
+ @Override
+ protected void doBeforeActivate() throws Exception
+ {
+ super.doBeforeActivate();
+ checkState(group, "group");
+ }
+
+ protected AgentProtocol electNewMaster(List<AgentProtocol> agents)
+ {
+ return agents.iterator().next();
+ }
+
+ private void publishNewMaster(final AgentProtocol masterAgent, AgentProtocol[] agents)
+ {
+ for (final AgentProtocol agent : agents)
+ {
+ try
+ {
+ new Request(agent, SIGNAL_PUBLISH_MASTER)
+ {
+ @Override
+ protected void requesting(ExtendedDataOutputStream out) throws Exception
+ {
+ if (agent == masterAgent)
+ {
+ out.writeBoolean(true);
+ }
+ else
+ {
+ out.writeBoolean(false);
+ out.writeString(masterAgent.getConnectorDescription());
+ out.writeString(masterAgent.getRepositoryName());
+ }
+ }
+ }.sendAsync();
+ }
+ catch (Exception ex)
+ {
+ OM.LOG.error(ex);
+ }
+ }
+ }
+
+ /**
+ * Provides a {@link FailoverMonitor fail-over monitor} for a given named fail-over group.
+ *
+ * @author Eike Stepper
+ */
+ public interface Provider
+ {
+ public FailoverMonitor getFailoverMonitor(String group);
+ }
+
+ /**
+ * Creates {@link FailoverMonitor fail-over monitor} instances.
+ *
+ * @author Eike Stepper
+ */
+ public static class Factory extends org.eclipse.net4j.util.factory.Factory
+ {
+ public static final String TYPE = "net4j";
+
+ public Factory()
+ {
+ super(PRODUCT_GROUP, TYPE);
+ }
+
+ public FailoverMonitor create(String description) throws ProductCreationException
+ {
+ FailoverMonitor monitor = new FailoverMonitor();
+ monitor.setGroup(description);
+ return monitor;
+ }
+ }
+
+ /**
+ * An abstract base class for the {@link ServerProtocolFactory server-side protocol factories}
+ * required by a {@link FailoverMonitor fail-over monitor}.
+ *
+ * @author Eike Stepper
+ */
+ public static abstract class AbstractServerProtocolFactory extends ServerProtocolFactory implements
+ FailoverMonitor.Provider
+ {
+ private IManagedContainer container;
+
+ protected AbstractServerProtocolFactory(String type)
+ {
+ this(type, IPluginContainer.INSTANCE);
+ }
+
+ protected AbstractServerProtocolFactory(String type, IManagedContainer container)
+ {
+ super(type);
+ this.container = container;
+ }
+
+ public FailoverMonitor getFailoverMonitor(String group)
+ {
+ return (FailoverMonitor)container.getElement(FailoverMonitor.PRODUCT_GROUP, "net4j", group);
+ }
+ }
+
+ /**
+ * The monitor-side implementation of the {@link FailoverMonitor fail-over monitor} agent protocol.
+ *
+ * @author Eike Stepper
+ */
+ public static class AgentProtocol extends HeartBeatProtocol.Server
+ {
+ private FailoverMonitor.Provider failoverMonitorProvider;
+
+ private FailoverMonitor failoverMonitor;
+
+ private String connectorDescription;
+
+ private String repositoryName;
+
+ public AgentProtocol(Provider failOverMonitorProvider)
+ {
+ super(PROTOCOL_NAME);
+ failoverMonitorProvider = failOverMonitorProvider;
+ }
+
+ @Override
+ public String toString()
+ {
+ return connectorDescription + "/" + repositoryName;
+ }
+
+ protected FailoverMonitor getFailoverMonitor()
+ {
+ return failoverMonitor;
+ }
+
+ protected String getConnectorDescription()
+ {
+ return connectorDescription;
+ }
+
+ protected String getRepositoryName()
+ {
+ return repositoryName;
+ }
+
+ @Override
+ protected void indicatingStart(ExtendedDataInputStream in) throws IOException
+ {
+ String group = in.readString();
+ connectorDescription = in.readString();
+ repositoryName = in.readString();
+
+ failoverMonitor = failoverMonitorProvider.getFailoverMonitor(group);
+ if (failoverMonitor == null)
+ {
+ throw new IllegalStateException("No monitor available for fail-over group " + group);
+ }
+
+ failoverMonitor.registerAgent(this);
+ super.indicatingStart(in);
+ }
+
+ @Override
+ protected void doDeactivate() throws Exception
+ {
+ failoverMonitor.deregisterAgent(this);
+ super.doDeactivate();
+ }
+
+ /**
+ * Creates {@link AgentProtocol fail-over agent protocol} instances.
+ *
+ * @author Eike Stepper
+ */
+ public static class Factory extends AbstractServerProtocolFactory
+ {
+ public Factory(IManagedContainer container)
+ {
+ super(PROTOCOL_NAME, container);
+ }
+
+ public Factory()
+ {
+ super(PROTOCOL_NAME);
+ }
+
+ public AgentProtocol create(String description) throws ProductCreationException
+ {
+ return new AgentProtocol(this);
+ }
+ }
+ }
+
+ /**
+ * The monitor-side implementation of the {@link FailoverMonitor fail-over monitor} client protocol.
+ *
+ * @author Eike Stepper
+ */
+ public static class ClientProtocol extends SignalProtocol<Object>
+ {
+ public static final String PROTOCOL_NAME = "failover-client"; //$NON-NLS-1$
+
+ public static final short SIGNAL_QUERY_REPOSITORY_INFO = 1;
+
+ private FailoverMonitor.Provider failoverMonitorProvider;
+
+ private FailoverMonitor failoverMonitor;
+
+ public ClientProtocol(Provider failOverMonitorProvider)
+ {
+ super(PROTOCOL_NAME);
+ failoverMonitorProvider = failOverMonitorProvider;
+ }
+
+ @Override
+ protected SignalReactor createSignalReactor(short signalID)
+ {
+ switch (signalID)
+ {
+ case SIGNAL_QUERY_REPOSITORY_INFO:
+ return new IndicationWithResponse(this, SIGNAL_QUERY_REPOSITORY_INFO, "QueryRepositoryInfo")
+ {
+ @Override
+ protected void indicating(ExtendedDataInputStream in) throws Exception
+ {
+ String group = in.readString();
+ failoverMonitor = failoverMonitorProvider.getFailoverMonitor(group);
+ if (failoverMonitor == null)
+ {
+ throw new IllegalStateException("No monitor available for fail-over group " + group);
+ }
+ }
+
+ @Override
+ protected void responding(ExtendedDataOutputStream out) throws Exception
+ {
+ AgentProtocol masterAgent = getMasterAgent();
+ out.writeString(masterAgent.getConnectorDescription());
+ out.writeString(masterAgent.getRepositoryName());
+ }
+
+ protected AgentProtocol getMasterAgent() throws InterruptedException
+ {
+ for (;;)
+ {
+ AgentProtocol masterAgent = failoverMonitor.getMasterAgent();
+ if (masterAgent != null)
+ {
+ return masterAgent;
+ }
+
+ Thread.sleep(100L);
+ }
+ }
+ };
+
+ default:
+ return super.createSignalReactor(signalID);
+ }
+ }
+
+ /**
+ * Creates {@link ClientProtocol fail-over client protocol} instances.
+ *
+ * @author Eike Stepper
+ */
+ public static class Factory extends AbstractServerProtocolFactory
+ {
+ public Factory(IManagedContainer container)
+ {
+ super(PROTOCOL_NAME, container);
+ }
+
+ public Factory()
+ {
+ super(PROTOCOL_NAME);
+ }
+
+ public ClientProtocol create(String description) throws ProductCreationException
+ {
+ return new ClientProtocol(this);
+ }
+ }
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.server.objectivity/src/org/eclipse/emf/cdo/server/objectivity/IObjectivityStore.java b/plugins/org.eclipse.emf.cdo.server.objectivity/src/org/eclipse/emf/cdo/server/objectivity/IObjectivityStore.java
index 130a1741cb..8126d9544f 100644
--- a/plugins/org.eclipse.emf.cdo.server.objectivity/src/org/eclipse/emf/cdo/server/objectivity/IObjectivityStore.java
+++ b/plugins/org.eclipse.emf.cdo.server.objectivity/src/org/eclipse/emf/cdo/server/objectivity/IObjectivityStore.java
@@ -1,24 +1,25 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Simon McDuff - initial API and implementation
- * Ibrahim Sallam - code refactoring for CDO 3.0
- */
-package org.eclipse.emf.cdo.server.objectivity;
-
-import org.eclipse.emf.cdo.server.IStore;
-
-/**
- * Interface to the Objecivity Store implemenation.
- *
- * @author ibrahim
- */
-public interface IObjectivityStore extends IStore
-{
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Simon McDuff - initial API and implementation
+ * Ibrahim Sallam - code refactoring for CDO 3.0
+ */
+package org.eclipse.emf.cdo.server.objectivity;
+
+import org.eclipse.emf.cdo.server.IStore;
+
+/**
+ * Interface to the Objecivity Store implemenation.
+ *
+ * @author ibrahim
+ * @noextend This interface is not intended to be extended by clients.
+ * @noimplement This interface is not intended to be implemented by clients.
+ */
+public interface IObjectivityStore extends IStore
+{
+}
diff --git a/plugins/org.eclipse.emf.cdo.server.objectivity/src/org/eclipse/emf/cdo/server/objectivity/IObjectivityStoreAccessor.java b/plugins/org.eclipse.emf.cdo.server.objectivity/src/org/eclipse/emf/cdo/server/objectivity/IObjectivityStoreAccessor.java
index 3d35aeb51c..130091b8b7 100644
--- a/plugins/org.eclipse.emf.cdo.server.objectivity/src/org/eclipse/emf/cdo/server/objectivity/IObjectivityStoreAccessor.java
+++ b/plugins/org.eclipse.emf.cdo.server.objectivity/src/org/eclipse/emf/cdo/server/objectivity/IObjectivityStoreAccessor.java
@@ -1,30 +1,34 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Simon McDuff - initial API and implementation
- * Ibrahim Sallam - code refactoring for CDO 3.0
- */
-package org.eclipse.emf.cdo.server.objectivity;
-
-import org.eclipse.emf.cdo.server.IStoreAccessor;
-import org.eclipse.emf.cdo.spi.common.revision.InternalCDORevision;
-
-import org.eclipse.emf.ecore.EStructuralFeature;
-
-/**
- * @author Ibrahim Sallam
- */
-public interface IObjectivityStoreAccessor extends IStoreAccessor.Raw
-{
- public IObjectivityStore getStore();
-
- /**
- * @since 2.0
- */
- public IObjectivityStoreChunkReader createChunkReader(InternalCDORevision revision, EStructuralFeature feature);
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Simon McDuff - initial API and implementation
+ * Ibrahim Sallam - code refactoring for CDO 3.0
+ */
+package org.eclipse.emf.cdo.server.objectivity;
+
+import org.eclipse.emf.cdo.server.IStoreAccessor;
+import org.eclipse.emf.cdo.spi.common.revision.InternalCDORevision;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+/**
+ * A {@link IStoreAccessor store accessor} for CDO's Objecivity back-end integration.
+ *
+ * @author Ibrahim Sallam
+ * @noextend This interface is not intended to be extended by clients.
+ * @noimplement This interface is not intended to be implemented by clients.
+ */
+public interface IObjectivityStoreAccessor extends IStoreAccessor.Raw
+{
+ public IObjectivityStore getStore();
+
+ /**
+ * @since 2.0
+ */
+ public IObjectivityStoreChunkReader createChunkReader(InternalCDORevision revision, EStructuralFeature feature);
+}
diff --git a/plugins/org.eclipse.emf.cdo.server.objectivity/src/org/eclipse/emf/cdo/server/objectivity/IObjectivityStoreChunkReader.java b/plugins/org.eclipse.emf.cdo.server.objectivity/src/org/eclipse/emf/cdo/server/objectivity/IObjectivityStoreChunkReader.java
index 497481f230..b58dccfd2f 100644
--- a/plugins/org.eclipse.emf.cdo.server.objectivity/src/org/eclipse/emf/cdo/server/objectivity/IObjectivityStoreChunkReader.java
+++ b/plugins/org.eclipse.emf.cdo.server.objectivity/src/org/eclipse/emf/cdo/server/objectivity/IObjectivityStoreChunkReader.java
@@ -1,25 +1,29 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Simon McDuff - initial API and implementation
- * Ibrahim Sallam - code refactoring for CDO 3.0
- */
-package org.eclipse.emf.cdo.server.objectivity;
-
-import org.eclipse.emf.cdo.server.IStoreChunkReader;
-
-/**
- * @author Eike Stepper
- */
-public interface IObjectivityStoreChunkReader extends IStoreChunkReader
-{
- /**
- * @since 2.0
- */
- public IObjectivityStoreAccessor getAccessor();
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Simon McDuff - initial API and implementation
+ * Ibrahim Sallam - code refactoring for CDO 3.0
+ */
+package org.eclipse.emf.cdo.server.objectivity;
+
+import org.eclipse.emf.cdo.server.IStoreChunkReader;
+
+/**
+ * A {@link IStoreChunkReader chunk reader} for for CDO's Objecivity back-end integration.
+ *
+ * @author Eike Stepper
+ * @noextend This interface is not intended to be extended by clients.
+ * @noimplement This interface is not intended to be implemented by clients.
+ */
+public interface IObjectivityStoreChunkReader extends IStoreChunkReader
+{
+ /**
+ * @since 2.0
+ */
+ public IObjectivityStoreAccessor getAccessor();
+}
diff --git a/plugins/org.eclipse.emf.cdo.server.objectivity/src/org/eclipse/emf/cdo/server/objectivity/IObjectivityStoreConfig.java b/plugins/org.eclipse.emf.cdo.server.objectivity/src/org/eclipse/emf/cdo/server/objectivity/IObjectivityStoreConfig.java
index 9e98d2c459..b7ae669f24 100644
--- a/plugins/org.eclipse.emf.cdo.server.objectivity/src/org/eclipse/emf/cdo/server/objectivity/IObjectivityStoreConfig.java
+++ b/plugins/org.eclipse.emf.cdo.server.objectivity/src/org/eclipse/emf/cdo/server/objectivity/IObjectivityStoreConfig.java
@@ -1,36 +1,41 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ibrahim Sallam - initial API and implementation
- */
-package org.eclipse.emf.cdo.server.objectivity;
-
-import java.io.Serializable;
-
-public interface IObjectivityStoreConfig extends Serializable
-{
-
- String getFdName();
-
- void resetFD();
-
- int getSessionMinCacheSize();
-
- int getSessionMaxCacheSize();
-
- /**
- * @since 4.0
- */
- String getLogPath();
-
- /**
- * @since 4.0
- */
- int getLogOption();
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Ibrahim Sallam - initial API and implementation
+ */
+package org.eclipse.emf.cdo.server.objectivity;
+
+import java.io.Serializable;
+
+/**
+ * Encapsulates Objectivity-specific back-end configuration settings.
+ *
+ * @author Ibrahim Sallam
+ * @noextend This interface is not intended to be extended by clients.
+ * @noimplement This interface is not intended to be implemented by clients.
+ */
+public interface IObjectivityStoreConfig extends Serializable
+{
+ String getFdName();
+
+ void resetFD();
+
+ int getSessionMinCacheSize();
+
+ int getSessionMaxCacheSize();
+
+ /**
+ * @since 4.0
+ */
+ String getLogPath();
+
+ /**
+ * @since 4.0
+ */
+ int getLogOption();
+}
diff --git a/plugins/org.eclipse.emf.cdo.server.objectivity/src/org/eclipse/emf/cdo/server/objectivity/ObjyStoreUtil.java b/plugins/org.eclipse.emf.cdo.server.objectivity/src/org/eclipse/emf/cdo/server/objectivity/ObjyStoreUtil.java
index 8569898215..1c91e0e539 100644
--- a/plugins/org.eclipse.emf.cdo.server.objectivity/src/org/eclipse/emf/cdo/server/objectivity/ObjyStoreUtil.java
+++ b/plugins/org.eclipse.emf.cdo.server.objectivity/src/org/eclipse/emf/cdo/server/objectivity/ObjyStoreUtil.java
@@ -1,32 +1,37 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Simon McDuff - initial API and implementation
- * Ibrahim Sallam - code refactoring for CDO 3.0
- */
-package org.eclipse.emf.cdo.server.objectivity;
-
-import org.eclipse.emf.cdo.server.internal.objectivity.ObjectivityStore;
-
-public final class ObjyStoreUtil
-{
- private ObjyStoreUtil()
- {
- }
-
- // public static IObjectivityStore createStore(IObjectivityStoreConfig storeConfig, boolean reset) {
- // // The store will open the connection to Objy...
- // return new ObjectivityStore(storeConfig, reset);
- // }
-
- public static IObjectivityStore createStore(IObjectivityStoreConfig storeConfig)
- {
- // The store will open the connection to Objy...
- return new ObjectivityStore(storeConfig);
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Simon McDuff - initial API and implementation
+ * Ibrahim Sallam - code refactoring for CDO 3.0
+ */
+package org.eclipse.emf.cdo.server.objectivity;
+
+import org.eclipse.emf.cdo.server.internal.objectivity.ObjectivityStore;
+
+/**
+ * Provides a static factory method that creates {@link IObjectivityStore} instances.
+ *
+ * @author Simon McDuff
+ */
+public final class ObjyStoreUtil
+{
+ private ObjyStoreUtil()
+ {
+ }
+
+ // public static IObjectivityStore createStore(IObjectivityStoreConfig storeConfig, boolean reset) {
+ // // The store will open the connection to Objy...
+ // return new ObjectivityStore(storeConfig, reset);
+ // }
+
+ public static IObjectivityStore createStore(IObjectivityStoreConfig storeConfig)
+ {
+ // The store will open the connection to Objy...
+ return new ObjectivityStore(storeConfig);
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.server.ocl/src/org/eclipse/emf/cdo/server/ocl/CDOExtentCreator.java b/plugins/org.eclipse.emf.cdo.server.ocl/src/org/eclipse/emf/cdo/server/ocl/CDOExtentCreator.java
index cff404ee16..984f344d64 100644
--- a/plugins/org.eclipse.emf.cdo.server.ocl/src/org/eclipse/emf/cdo/server/ocl/CDOExtentCreator.java
+++ b/plugins/org.eclipse.emf.cdo.server.ocl/src/org/eclipse/emf/cdo/server/ocl/CDOExtentCreator.java
@@ -1,412 +1,418 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
- */
-package org.eclipse.emf.cdo.server.ocl;
-
-import org.eclipse.emf.cdo.common.branch.CDOBranch;
-import org.eclipse.emf.cdo.common.commit.CDOChangeKind;
-import org.eclipse.emf.cdo.common.commit.CDOChangeSetData;
-import org.eclipse.emf.cdo.common.id.CDOID;
-import org.eclipse.emf.cdo.common.revision.CDOIDAndVersion;
-import org.eclipse.emf.cdo.common.revision.CDORevision;
-import org.eclipse.emf.cdo.common.revision.CDORevisionCacheAdder;
-import org.eclipse.emf.cdo.common.revision.CDORevisionHandler;
-import org.eclipse.emf.cdo.server.IStoreAccessor;
-import org.eclipse.emf.cdo.server.StoreThreadLocal;
-import org.eclipse.emf.cdo.util.ObjectNotFoundException;
-import org.eclipse.emf.cdo.view.CDOView;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.spi.cdo.InternalCDOObject;
-
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.NoSuchElementException;
-import java.util.Set;
-import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.atomic.AtomicBoolean;
-
-/**
- * @author Eike Stepper
- */
-public class CDOExtentCreator implements OCLExtentCreator
-{
- private CDOView view;
-
- private CDOChangeSetData changeSetData;
-
- private CDORevisionCacheAdder revisionCacheAdder;
-
- public CDOExtentCreator(CDOView view)
- {
- this.view = view;
- }
-
- public CDOView getView()
- {
- return view;
- }
-
- public CDOChangeSetData getChangeSetData()
- {
- return changeSetData;
- }
-
- public void setChangeSetData(CDOChangeSetData changeSetData)
- {
- this.changeSetData = changeSetData;
- }
-
- public CDORevisionCacheAdder getRevisionCacheAdder()
- {
- return revisionCacheAdder;
- }
-
- public void setRevisionCacheAdder(CDORevisionCacheAdder revisionCacheAdder)
- {
- this.revisionCacheAdder = revisionCacheAdder;
- }
-
- public Set<EObject> createExtent(EClass eClass, AtomicBoolean canceled)
- {
- IStoreAccessor accessor = StoreThreadLocal.getAccessor();
- CDOBranch branch = view.getBranch();
- long timeStamp = view.getTimeStamp();
- return createExtent(eClass, accessor, branch, timeStamp, canceled);
- }
-
- protected Set<EObject> createExtent(EClass eClass, IStoreAccessor accessor, CDOBranch branch, long timeStamp,
- final AtomicBoolean canceled)
- {
- final Set<EObject> extent = new HashSet<EObject>();
- if (changeSetData != null)
- {
- List<CDOIDAndVersion> newObjects = changeSetData.getNewObjects();
- if (newObjects != null)
- {
- for (CDOIDAndVersion key : newObjects)
- {
- EObject object = getEObject(key.getID());
- if (object != null)
- {
- extent.add(object);
- }
- }
- }
- }
-
- accessor.handleRevisions(eClass, branch, timeStamp, false, new CDORevisionHandler.Filtered.Undetached(
- new CDORevisionHandler()
- {
- public boolean handleRevision(CDORevision revision)
- {
- if (revisionCacheAdder != null)
- {
- revisionCacheAdder.addRevision(revision);
- }
-
- CDOID id = revision.getID();
- if (!isDetached(id))
- {
- EObject object = getEObject(id);
- if (object != null)
- {
- extent.add(object);
- }
- }
-
- return !canceled.get();
- }
- }));
-
- return extent;
- }
-
- protected boolean isDetached(CDOID id)
- {
- if (changeSetData == null)
- {
- return false;
- }
-
- CDOChangeKind changeKind = changeSetData.getChangeKind(id);
- return changeKind == CDOChangeKind.DETACHED;
- }
-
- protected EObject getEObject(CDOID id) throws ObjectNotFoundException
- {
- InternalCDOObject object = (InternalCDOObject)view.getObject(id);
- if (object == null)
- {
- throw new ObjectNotFoundException(id);
- }
-
- return object.cdoInternalInstance();
- }
-
- /**
- * @author Eike Stepper
- */
- public static class Lazy extends CDOExtentCreator
- {
- public Lazy(CDOView view)
- {
- super(view);
- }
-
- @Override
- protected Set<EObject> createExtent(final EClass eClass, final IStoreAccessor accessor, final CDOBranch branch,
- final long timeStamp, final AtomicBoolean canceled)
- {
- return new Set<EObject>()
- {
- private Iterator<EObject> emptyIterator;
-
- private Boolean empty;
-
- private CountDownLatch emptyKnown = new CountDownLatch(1);
-
- public synchronized boolean isEmpty()
- {
- if (empty != null)
- {
- return empty;
- }
-
- emptyIterator = iterator();
-
- try
- {
- emptyKnown.await();
- return empty;
- }
- catch (InterruptedException ex)
- {
- throw new Error("Interrupted");
- }
- }
-
- public synchronized Iterator<EObject> iterator()
- {
- if (emptyIterator != null)
- {
- Iterator<EObject> it = emptyIterator;
- emptyIterator = null;
- return it;
- }
-
- final Object mutex = new Object();
- final LinkedList<CDOID> ids = new LinkedList<CDOID>();
- final boolean[] done = { false };
-
- Thread thread = new Thread("OCLExtentIterator")
- {
- @Override
- public void run()
- {
- handleDirtyState();
- handlePersistentState();
-
- synchronized (mutex)
- {
- done[0] = true;
- mutex.notify();
- }
-
- if (empty == null)
- {
- empty = true;
- emptyKnown.countDown();
- }
- }
-
- private void handleDirtyState()
- {
- CDOChangeSetData changeSetData = getChangeSetData();
- if (changeSetData != null)
- {
- List<CDOIDAndVersion> newObjects = changeSetData.getNewObjects();
- if (newObjects != null)
- {
- for (CDOIDAndVersion key : newObjects)
- {
- enqueue(key.getID());
- }
- }
- }
- }
-
- private void handlePersistentState()
- {
- accessor.handleRevisions(eClass, branch, timeStamp, false, new CDORevisionHandler.Filtered.Undetached(
- new CDORevisionHandler()
- {
- public boolean handleRevision(CDORevision revision)
- {
- empty = false;
- emptyKnown.countDown();
-
- CDORevisionCacheAdder revisionCacheAdder = getRevisionCacheAdder();
- if (revisionCacheAdder != null)
- {
- revisionCacheAdder.addRevision(revision);
- }
-
- CDOID id = revision.getID();
- if (!isDetached(id))
- {
- enqueue(id);
- }
-
- return !canceled.get();
- }
- }));
- }
-
- private void enqueue(CDOID id)
- {
- synchronized (mutex)
- {
- ids.addLast(id);
- mutex.notify();
- }
- }
- };
-
- thread.setDaemon(true);
- thread.start();
-
- return new Iterator<EObject>()
- {
- private CDOID next;
-
- public boolean hasNext()
- {
- while (next == null)
- {
- if (canceled.get())
- {
- return false;
- }
-
- synchronized (mutex)
- {
- if (ids.isEmpty())
- {
- if (done[0])
- {
- return false;
- }
-
- try
- {
- mutex.wait();
- }
- catch (InterruptedException ex)
- {
- throw new Error(ex);
- }
- }
- else
- {
- next = ids.removeFirst();
- }
- }
- }
-
- return true;
- }
-
- public EObject next()
- {
- if (!hasNext())
- {
- throw new NoSuchElementException();
- }
-
- try
- {
- return getEObject(next);
- }
- finally
- {
- next = null;
- }
- }
-
- public void remove()
- {
- throw new UnsupportedOperationException();
- }
- };
- }
-
- public int size()
- {
- throw new Error("Not supported"); // RuntimeException gets swallowed up the stack!
- }
-
- public boolean contains(Object o)
- {
- throw new Error("Not supported");
- }
-
- public Object[] toArray()
- {
- throw new Error("Not supported");
- }
-
- public <T> T[] toArray(T[] a)
- {
- throw new Error("Not supported");
- }
-
- public boolean add(EObject o)
- {
- throw new Error("Not supported");
- }
-
- public boolean remove(Object o)
- {
- throw new Error("Not supported");
- }
-
- public boolean containsAll(Collection<?> c)
- {
- throw new Error("Not supported");
- }
-
- public boolean addAll(Collection<? extends EObject> c)
- {
- throw new Error("Not supported");
- }
-
- public boolean retainAll(Collection<?> c)
- {
- throw new Error("Not supported");
- }
-
- public boolean removeAll(Collection<?> c)
- {
- throw new Error("Not supported");
- }
-
- public void clear()
- {
- throw new Error("Not supported");
- }
- };
- }
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.server.ocl;
+
+import org.eclipse.emf.cdo.common.branch.CDOBranch;
+import org.eclipse.emf.cdo.common.commit.CDOChangeKind;
+import org.eclipse.emf.cdo.common.commit.CDOChangeSetData;
+import org.eclipse.emf.cdo.common.id.CDOID;
+import org.eclipse.emf.cdo.common.revision.CDOIDAndVersion;
+import org.eclipse.emf.cdo.common.revision.CDORevision;
+import org.eclipse.emf.cdo.common.revision.CDORevisionCacheAdder;
+import org.eclipse.emf.cdo.common.revision.CDORevisionHandler;
+import org.eclipse.emf.cdo.server.IStoreAccessor;
+import org.eclipse.emf.cdo.server.StoreThreadLocal;
+import org.eclipse.emf.cdo.util.ObjectNotFoundException;
+import org.eclipse.emf.cdo.view.CDOView;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.spi.cdo.InternalCDOObject;
+
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.NoSuchElementException;
+import java.util.Set;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.atomic.AtomicBoolean;
+
+/**
+ * An OCL {@link OCLExtentCreator extent creator} implementation for CDO.
+ * <p>
+ * The {@link #createExtent(EClass, AtomicBoolean) extent} of a {@link EClass class} X is the set of all {@link EObject objects} with <code>object.getEClass() == X</code>.
+ *
+ * @author Eike Stepper
+ */
+public class CDOExtentCreator implements OCLExtentCreator
+{
+ private CDOView view;
+
+ private CDOChangeSetData changeSetData;
+
+ private CDORevisionCacheAdder revisionCacheAdder;
+
+ public CDOExtentCreator(CDOView view)
+ {
+ this.view = view;
+ }
+
+ public CDOView getView()
+ {
+ return view;
+ }
+
+ public CDOChangeSetData getChangeSetData()
+ {
+ return changeSetData;
+ }
+
+ public void setChangeSetData(CDOChangeSetData changeSetData)
+ {
+ this.changeSetData = changeSetData;
+ }
+
+ public CDORevisionCacheAdder getRevisionCacheAdder()
+ {
+ return revisionCacheAdder;
+ }
+
+ public void setRevisionCacheAdder(CDORevisionCacheAdder revisionCacheAdder)
+ {
+ this.revisionCacheAdder = revisionCacheAdder;
+ }
+
+ public Set<EObject> createExtent(EClass eClass, AtomicBoolean canceled)
+ {
+ IStoreAccessor accessor = StoreThreadLocal.getAccessor();
+ CDOBranch branch = view.getBranch();
+ long timeStamp = view.getTimeStamp();
+ return createExtent(eClass, accessor, branch, timeStamp, canceled);
+ }
+
+ protected Set<EObject> createExtent(EClass eClass, IStoreAccessor accessor, CDOBranch branch, long timeStamp,
+ final AtomicBoolean canceled)
+ {
+ final Set<EObject> extent = new HashSet<EObject>();
+ if (changeSetData != null)
+ {
+ List<CDOIDAndVersion> newObjects = changeSetData.getNewObjects();
+ if (newObjects != null)
+ {
+ for (CDOIDAndVersion key : newObjects)
+ {
+ EObject object = getEObject(key.getID());
+ if (object != null)
+ {
+ extent.add(object);
+ }
+ }
+ }
+ }
+
+ accessor.handleRevisions(eClass, branch, timeStamp, false, new CDORevisionHandler.Filtered.Undetached(
+ new CDORevisionHandler()
+ {
+ public boolean handleRevision(CDORevision revision)
+ {
+ if (revisionCacheAdder != null)
+ {
+ revisionCacheAdder.addRevision(revision);
+ }
+
+ CDOID id = revision.getID();
+ if (!isDetached(id))
+ {
+ EObject object = getEObject(id);
+ if (object != null)
+ {
+ extent.add(object);
+ }
+ }
+
+ return !canceled.get();
+ }
+ }));
+
+ return extent;
+ }
+
+ protected boolean isDetached(CDOID id)
+ {
+ if (changeSetData == null)
+ {
+ return false;
+ }
+
+ CDOChangeKind changeKind = changeSetData.getChangeKind(id);
+ return changeKind == CDOChangeKind.DETACHED;
+ }
+
+ protected EObject getEObject(CDOID id) throws ObjectNotFoundException
+ {
+ InternalCDOObject object = (InternalCDOObject)view.getObject(id);
+ if (object == null)
+ {
+ throw new ObjectNotFoundException(id);
+ }
+
+ return object.cdoInternalInstance();
+ }
+
+ /**
+ * An {@link CDOExtentCreator extent creator} that creates extent sets which support a lazy populating iterator.
+ *
+ * @author Eike Stepper
+ */
+ public static class Lazy extends CDOExtentCreator
+ {
+ public Lazy(CDOView view)
+ {
+ super(view);
+ }
+
+ @Override
+ protected Set<EObject> createExtent(final EClass eClass, final IStoreAccessor accessor, final CDOBranch branch,
+ final long timeStamp, final AtomicBoolean canceled)
+ {
+ return new Set<EObject>()
+ {
+ private Iterator<EObject> emptyIterator;
+
+ private Boolean empty;
+
+ private CountDownLatch emptyKnown = new CountDownLatch(1);
+
+ public synchronized boolean isEmpty()
+ {
+ if (empty != null)
+ {
+ return empty;
+ }
+
+ emptyIterator = iterator();
+
+ try
+ {
+ emptyKnown.await();
+ return empty;
+ }
+ catch (InterruptedException ex)
+ {
+ throw new Error("Interrupted");
+ }
+ }
+
+ public synchronized Iterator<EObject> iterator()
+ {
+ if (emptyIterator != null)
+ {
+ Iterator<EObject> it = emptyIterator;
+ emptyIterator = null;
+ return it;
+ }
+
+ final Object mutex = new Object();
+ final LinkedList<CDOID> ids = new LinkedList<CDOID>();
+ final boolean[] done = { false };
+
+ Thread thread = new Thread("OCLExtentIterator")
+ {
+ @Override
+ public void run()
+ {
+ handleDirtyState();
+ handlePersistentState();
+
+ synchronized (mutex)
+ {
+ done[0] = true;
+ mutex.notify();
+ }
+
+ if (empty == null)
+ {
+ empty = true;
+ emptyKnown.countDown();
+ }
+ }
+
+ private void handleDirtyState()
+ {
+ CDOChangeSetData changeSetData = getChangeSetData();
+ if (changeSetData != null)
+ {
+ List<CDOIDAndVersion> newObjects = changeSetData.getNewObjects();
+ if (newObjects != null)
+ {
+ for (CDOIDAndVersion key : newObjects)
+ {
+ enqueue(key.getID());
+ }
+ }
+ }
+ }
+
+ private void handlePersistentState()
+ {
+ accessor.handleRevisions(eClass, branch, timeStamp, false, new CDORevisionHandler.Filtered.Undetached(
+ new CDORevisionHandler()
+ {
+ public boolean handleRevision(CDORevision revision)
+ {
+ empty = false;
+ emptyKnown.countDown();
+
+ CDORevisionCacheAdder revisionCacheAdder = getRevisionCacheAdder();
+ if (revisionCacheAdder != null)
+ {
+ revisionCacheAdder.addRevision(revision);
+ }
+
+ CDOID id = revision.getID();
+ if (!isDetached(id))
+ {
+ enqueue(id);
+ }
+
+ return !canceled.get();
+ }
+ }));
+ }
+
+ private void enqueue(CDOID id)
+ {
+ synchronized (mutex)
+ {
+ ids.addLast(id);
+ mutex.notify();
+ }
+ }
+ };
+
+ thread.setDaemon(true);
+ thread.start();
+
+ return new Iterator<EObject>()
+ {
+ private CDOID next;
+
+ public boolean hasNext()
+ {
+ while (next == null)
+ {
+ if (canceled.get())
+ {
+ return false;
+ }
+
+ synchronized (mutex)
+ {
+ if (ids.isEmpty())
+ {
+ if (done[0])
+ {
+ return false;
+ }
+
+ try
+ {
+ mutex.wait();
+ }
+ catch (InterruptedException ex)
+ {
+ throw new Error(ex);
+ }
+ }
+ else
+ {
+ next = ids.removeFirst();
+ }
+ }
+ }
+
+ return true;
+ }
+
+ public EObject next()
+ {
+ if (!hasNext())
+ {
+ throw new NoSuchElementException();
+ }
+
+ try
+ {
+ return getEObject(next);
+ }
+ finally
+ {
+ next = null;
+ }
+ }
+
+ public void remove()
+ {
+ throw new UnsupportedOperationException();
+ }
+ };
+ }
+
+ public int size()
+ {
+ throw new Error("Not supported"); // RuntimeException gets swallowed up the stack!
+ }
+
+ public boolean contains(Object o)
+ {
+ throw new Error("Not supported");
+ }
+
+ public Object[] toArray()
+ {
+ throw new Error("Not supported");
+ }
+
+ public <T> T[] toArray(T[] a)
+ {
+ throw new Error("Not supported");
+ }
+
+ public boolean add(EObject o)
+ {
+ throw new Error("Not supported");
+ }
+
+ public boolean remove(Object o)
+ {
+ throw new Error("Not supported");
+ }
+
+ public boolean containsAll(Collection<?> c)
+ {
+ throw new Error("Not supported");
+ }
+
+ public boolean addAll(Collection<? extends EObject> c)
+ {
+ throw new Error("Not supported");
+ }
+
+ public boolean retainAll(Collection<?> c)
+ {
+ throw new Error("Not supported");
+ }
+
+ public boolean removeAll(Collection<?> c)
+ {
+ throw new Error("Not supported");
+ }
+
+ public void clear()
+ {
+ throw new Error("Not supported");
+ }
+ };
+ }
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.server.ocl/src/org/eclipse/emf/cdo/server/ocl/CDOExtentMap.java b/plugins/org.eclipse.emf.cdo.server.ocl/src/org/eclipse/emf/cdo/server/ocl/CDOExtentMap.java
index c7c65e6706..2a44a3bee6 100644
--- a/plugins/org.eclipse.emf.cdo.server.ocl/src/org/eclipse/emf/cdo/server/ocl/CDOExtentMap.java
+++ b/plugins/org.eclipse.emf.cdo.server.ocl/src/org/eclipse/emf/cdo/server/ocl/CDOExtentMap.java
@@ -1,138 +1,142 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
- */
-package org.eclipse.emf.cdo.server.ocl;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-
-import java.util.Collection;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.atomic.AtomicBoolean;
-
-/**
- * @author Eike Stepper
- */
-public class CDOExtentMap implements Map<EClass, Set<? extends EObject>>
-{
- private final Map<EClass, Set<? extends EObject>> delegate = new java.util.HashMap<EClass, Set<? extends EObject>>();
-
- private final OCLExtentCreator extentCreator;
-
- private AtomicBoolean canceled = new AtomicBoolean(false);
-
- public CDOExtentMap(OCLExtentCreator extentCreator)
- {
- this.extentCreator = extentCreator;
- }
-
- public void cancel()
- {
- canceled.set(true);
- }
-
- public Set<? extends EObject> get(Object key)
- {
- if (key instanceof EClass)
- {
- EClass cls = (EClass)key;
-
- // TODO: Optimize by parsing ahead of time to find all EClasses that we will query
- Set<? extends EObject> result = delegate.get(cls);
- if (result == null)
- {
- result = extentCreator.createExtent(cls, canceled);
- delegate.put(cls, result);
- }
-
- return result;
- }
-
- return null;
- }
-
- //
- // Strictly delegating methods
- //
-
- public void clear()
- {
- delegate.clear();
- }
-
- public boolean containsKey(Object key)
- {
- return delegate.containsKey(key);
- }
-
- public boolean containsValue(Object value)
- {
- return delegate.containsValue(value);
- }
-
- public Set<Map.Entry<EClass, Set<? extends EObject>>> entrySet()
- {
- return delegate.entrySet();
- }
-
- @Override
- public boolean equals(Object obj)
- {
- return delegate.equals(obj);
- }
-
- @Override
- public int hashCode()
- {
- return delegate.hashCode();
- }
-
- public boolean isEmpty()
- {
- return delegate.isEmpty();
- }
-
- public Set<EClass> keySet()
- {
- return delegate.keySet();
- }
-
- public Set<? extends EObject> put(EClass key, Set<? extends EObject> value)
- {
- return delegate.put(key, value);
- }
-
- public void putAll(Map<? extends EClass, ? extends Set<? extends EObject>> t)
- {
- delegate.putAll(t);
- }
-
- public Set<? extends EObject> remove(Object key)
- {
- return delegate.remove(key);
- }
-
- public int size()
- {
- return delegate.size();
- }
-
- @Override
- public String toString()
- {
- return delegate.toString();
- }
-
- public Collection<Set<? extends EObject>> values()
- {
- return delegate.values();
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.server.ocl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+
+import java.util.Collection;
+import java.util.Map;
+import java.util.Set;
+import java.util.concurrent.atomic.AtomicBoolean;
+
+/**
+ * Maps {@link EClass classes} to their extents.
+ * <p>
+ * The {@link #get(Object) extent} of a {@link EClass class} X is the set of all {@link EObject objects} with <code>object.getEClass() == X</code>.
+ *
+ * @author Eike Stepper
+ */
+public class CDOExtentMap implements Map<EClass, Set<? extends EObject>>
+{
+ private final Map<EClass, Set<? extends EObject>> delegate = new java.util.HashMap<EClass, Set<? extends EObject>>();
+
+ private final OCLExtentCreator extentCreator;
+
+ private AtomicBoolean canceled = new AtomicBoolean(false);
+
+ public CDOExtentMap(OCLExtentCreator extentCreator)
+ {
+ this.extentCreator = extentCreator;
+ }
+
+ public void cancel()
+ {
+ canceled.set(true);
+ }
+
+ public Set<? extends EObject> get(Object key)
+ {
+ if (key instanceof EClass)
+ {
+ EClass cls = (EClass)key;
+
+ // TODO: Optimize by parsing ahead of time to find all EClasses that we will query
+ Set<? extends EObject> result = delegate.get(cls);
+ if (result == null)
+ {
+ result = extentCreator.createExtent(cls, canceled);
+ delegate.put(cls, result);
+ }
+
+ return result;
+ }
+
+ return null;
+ }
+
+ //
+ // Strictly delegating methods
+ //
+
+ public void clear()
+ {
+ delegate.clear();
+ }
+
+ public boolean containsKey(Object key)
+ {
+ return delegate.containsKey(key);
+ }
+
+ public boolean containsValue(Object value)
+ {
+ return delegate.containsValue(value);
+ }
+
+ public Set<Map.Entry<EClass, Set<? extends EObject>>> entrySet()
+ {
+ return delegate.entrySet();
+ }
+
+ @Override
+ public boolean equals(Object obj)
+ {
+ return delegate.equals(obj);
+ }
+
+ @Override
+ public int hashCode()
+ {
+ return delegate.hashCode();
+ }
+
+ public boolean isEmpty()
+ {
+ return delegate.isEmpty();
+ }
+
+ public Set<EClass> keySet()
+ {
+ return delegate.keySet();
+ }
+
+ public Set<? extends EObject> put(EClass key, Set<? extends EObject> value)
+ {
+ return delegate.put(key, value);
+ }
+
+ public void putAll(Map<? extends EClass, ? extends Set<? extends EObject>> t)
+ {
+ delegate.putAll(t);
+ }
+
+ public Set<? extends EObject> remove(Object key)
+ {
+ return delegate.remove(key);
+ }
+
+ public int size()
+ {
+ return delegate.size();
+ }
+
+ @Override
+ public String toString()
+ {
+ return delegate.toString();
+ }
+
+ public Collection<Set<? extends EObject>> values()
+ {
+ return delegate.values();
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.server.ocl/src/org/eclipse/emf/cdo/server/ocl/OCLExtentCreator.java b/plugins/org.eclipse.emf.cdo.server.ocl/src/org/eclipse/emf/cdo/server/ocl/OCLExtentCreator.java
index 739a88440e..0856af34b9 100644
--- a/plugins/org.eclipse.emf.cdo.server.ocl/src/org/eclipse/emf/cdo/server/ocl/OCLExtentCreator.java
+++ b/plugins/org.eclipse.emf.cdo.server.ocl/src/org/eclipse/emf/cdo/server/ocl/OCLExtentCreator.java
@@ -1,25 +1,29 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
- */
-package org.eclipse.emf.cdo.server.ocl;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-
-import java.util.Set;
-import java.util.concurrent.atomic.AtomicBoolean;
-
-/**
- * @author Eike Stepper
- */
-public interface OCLExtentCreator
-{
- public Set<EObject> createExtent(EClass cls, AtomicBoolean canceled);
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.server.ocl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+
+import java.util.Set;
+import java.util.concurrent.atomic.AtomicBoolean;
+
+/**
+ * Creates extents of {@link EClass classes}.
+ * <p>
+ * The {@link #createExtent(EClass, AtomicBoolean) extent} of a {@link EClass class} X is the set of all {@link EObject objects} with <code>object.getEClass() == X</code>.
+ *
+ * @author Eike Stepper
+ */
+public interface OCLExtentCreator
+{
+ public Set<EObject> createExtent(EClass cls, AtomicBoolean canceled);
+}
diff --git a/plugins/org.eclipse.emf.cdo.server.ocl/src/org/eclipse/emf/cdo/server/ocl/OCLQueryHandler.java b/plugins/org.eclipse.emf.cdo.server.ocl/src/org/eclipse/emf/cdo/server/ocl/OCLQueryHandler.java
index 03eb11f66c..6363c144aa 100644
--- a/plugins/org.eclipse.emf.cdo.server.ocl/src/org/eclipse/emf/cdo/server/ocl/OCLQueryHandler.java
+++ b/plugins/org.eclipse.emf.cdo.server.ocl/src/org/eclipse/emf/cdo/server/ocl/OCLQueryHandler.java
@@ -66,6 +66,8 @@ import java.util.Map.Entry;
import java.util.Set;
/**
+ * A {@link IQueryHandler query handler} that evaluates OCL query expressions.
+ *
* @author Eike Stepper
*/
public class OCLQueryHandler implements IQueryHandler
@@ -373,6 +375,8 @@ public class OCLQueryHandler implements IQueryHandler
}
/**
+ * Creates {@link OCLQueryHandler} instances.
+ *
* @author Eike Stepper
*/
public static class Factory extends QueryHandlerFactory
diff --git a/plugins/org.eclipse.net4j.doc/build.xml b/plugins/org.eclipse.net4j.doc/build.xml
index 6aa72e2731..9cd6a56fe2 100644
--- a/plugins/org.eclipse.net4j.doc/build.xml
+++ b/plugins/org.eclipse.net4j.doc/build.xml
@@ -160,10 +160,13 @@
<copy todir="${javadoc.destdir}" verbose="true" failonerror="false">
<cutdirsmapper dirs="2" />
<fileset dir="plugins" defaultexcludes="true">
+ <include name="org.eclipse.net4j/src/org/eclipse/net4j/doc-files/**" />
<include name="org.eclipse.net4j/src/org/eclipse/net4j/acceptor/doc-files/**" />
<include name="org.eclipse.net4j/src/org/eclipse/net4j/buffer/doc-files/**" />
<include name="org.eclipse.net4j/src/org/eclipse/net4j/channel/doc-files/**" />
<include name="org.eclipse.net4j/src/org/eclipse/net4j/connector/doc-files/**" />
+ <include name="org.eclipse.net4j/src/org/eclipse/net4j/protocol/doc-files/**" />
+ <include name="org.eclipse.net4j/src/org/eclipse/net4j/signal/doc-files/**" />
</fileset>
</copy>
diff --git a/plugins/org.eclipse.net4j.doc/javadoc/index-all.html b/plugins/org.eclipse.net4j.doc/javadoc/index-all.html
index 8c834ca518..85b848f904 100644
--- a/plugins/org.eclipse.net4j.doc/javadoc/index-all.html
+++ b/plugins/org.eclipse.net4j.doc/javadoc/index-all.html
@@ -815,7 +815,7 @@ Method in interface org.eclipse.net4j.protocol.<A HREF="./org/eclipse/net4j/prot
<DT><A HREF="./org/eclipse/net4j/connector/IConnector.html#getURL()"><B>getURL()</B></A> -
Method in interface org.eclipse.net4j.connector.<A HREF="./org/eclipse/net4j/connector/IConnector.html" title="interface in org.eclipse.net4j.connector">IConnector</A>
<DD>&nbsp;
-<DT><A HREF="./org/eclipse/net4j/signal/wrapping/GZIPStreamWrapperInjector.html" title="class in org.eclipse.net4j.signal.wrapping"><B>GZIPStreamWrapperInjector</B></A> - Class in <A HREF="./org/eclipse/net4j/signal/wrapping/package-summary.html">org.eclipse.net4j.signal.wrapping</A><DD>&nbsp;<DT><A HREF="./org/eclipse/net4j/signal/wrapping/GZIPStreamWrapperInjector.html#GZIPStreamWrapperInjector(java.lang.String)"><B>GZIPStreamWrapperInjector(String)</B></A> -
+<DT><A HREF="./org/eclipse/net4j/signal/wrapping/GZIPStreamWrapperInjector.html" title="class in org.eclipse.net4j.signal.wrapping"><B>GZIPStreamWrapperInjector</B></A> - Class in <A HREF="./org/eclipse/net4j/signal/wrapping/package-summary.html">org.eclipse.net4j.signal.wrapping</A><DD>An <A HREF="./org/eclipse/net4j/signal/wrapping/StreamWrapperInjector.html" title="class in org.eclipse.net4j.signal.wrapping"><CODE>injector</CODE></A> that injects <A HREF="../../org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/io/GZIPStreamWrapper.html?is-external=true" title="class or interface in org.eclipse.net4j.util.io"><CODE>GZIPStreamWrapper</CODE></A> instances.<DT><A HREF="./org/eclipse/net4j/signal/wrapping/GZIPStreamWrapperInjector.html#GZIPStreamWrapperInjector(java.lang.String)"><B>GZIPStreamWrapperInjector(String)</B></A> -
Constructor for class org.eclipse.net4j.signal.wrapping.<A HREF="./org/eclipse/net4j/signal/wrapping/GZIPStreamWrapperInjector.html" title="class in org.eclipse.net4j.signal.wrapping">GZIPStreamWrapperInjector</A>
<DD>&nbsp;
</DL>
@@ -871,7 +871,8 @@ Method in interface org.eclipse.net4j.tcp.<A HREF="./org/eclipse/net4j/tcp/ITCPA
<DT><A HREF="./org/eclipse/net4j/buffer/IBuffer.html#HEADER_SIZE"><B>HEADER_SIZE</B></A> -
Static variable in interface org.eclipse.net4j.buffer.<A HREF="./org/eclipse/net4j/buffer/IBuffer.html" title="interface in org.eclipse.net4j.buffer">IBuffer</A>
<DD>&nbsp;
-<DT><A HREF="./org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.html" title="class in org.eclipse.net4j.signal.heartbeat"><B>HeartBeatProtocol</B></A> - Class in <A HREF="./org/eclipse/net4j/signal/heartbeat/package-summary.html">org.eclipse.net4j.signal.heartbeat</A><DD>&nbsp;<DT><A HREF="./org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.html#HeartBeatProtocol(java.lang.String, org.eclipse.net4j.connector.IConnector, java.util.Timer)"><B>HeartBeatProtocol(String, IConnector, Timer)</B></A> -
+<DT><A HREF="./org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.html" title="class in org.eclipse.net4j.signal.heartbeat"><B>HeartBeatProtocol</B></A> - Class in <A HREF="./org/eclipse/net4j/signal/heartbeat/package-summary.html">org.eclipse.net4j.signal.heartbeat</A><DD>A <A HREF="./org/eclipse/net4j/signal/SignalProtocol.html" title="class in org.eclipse.net4j.signal"><CODE>signal protocol</CODE></A> that keeps the <A HREF="./org/eclipse/net4j/connector/IConnector.html" title="interface in org.eclipse.net4j.connector"><CODE>connector</CODE></A> of its <A HREF="./org/eclipse/net4j/channel/IChannel.html" title="interface in org.eclipse.net4j.channel"><CODE>channel</CODE></A> open
+ or provides early deactivation feedback by exchanging periodic heart beats.<DT><A HREF="./org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.html#HeartBeatProtocol(java.lang.String, org.eclipse.net4j.connector.IConnector, java.util.Timer)"><B>HeartBeatProtocol(String, IConnector, Timer)</B></A> -
Constructor for class org.eclipse.net4j.signal.heartbeat.<A HREF="./org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.html" title="class in org.eclipse.net4j.signal.heartbeat">HeartBeatProtocol</A>
<DD>&nbsp;
<DT><A HREF="./org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.html#HeartBeatProtocol(org.eclipse.net4j.connector.IConnector, java.util.Timer)"><B>HeartBeatProtocol(IConnector, Timer)</B></A> -
@@ -883,16 +884,17 @@ Constructor for class org.eclipse.net4j.signal.heartbeat.<A HREF="./org/eclipse/
<DT><A HREF="./org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.html#HeartBeatProtocol(org.eclipse.net4j.connector.IConnector)"><B>HeartBeatProtocol(IConnector)</B></A> -
Constructor for class org.eclipse.net4j.signal.heartbeat.<A HREF="./org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.html" title="class in org.eclipse.net4j.signal.heartbeat">HeartBeatProtocol</A>
<DD>&nbsp;
-<DT><A HREF="./org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.Server.html" title="class in org.eclipse.net4j.signal.heartbeat"><B>HeartBeatProtocol.Server</B></A> - Class in <A HREF="./org/eclipse/net4j/signal/heartbeat/package-summary.html">org.eclipse.net4j.signal.heartbeat</A><DD>&nbsp;<DT><A HREF="./org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.Server.html#HeartBeatProtocol.Server(java.lang.String)"><B>HeartBeatProtocol.Server(String)</B></A> -
+<DT><A HREF="./org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.Server.html" title="class in org.eclipse.net4j.signal.heartbeat"><B>HeartBeatProtocol.Server</B></A> - Class in <A HREF="./org/eclipse/net4j/signal/heartbeat/package-summary.html">org.eclipse.net4j.signal.heartbeat</A><DD>The server-side implementation of a <A HREF="./org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.html" title="class in org.eclipse.net4j.signal.heartbeat"><CODE>heart beat protocol</CODE></A>.<DT><A HREF="./org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.Server.html#HeartBeatProtocol.Server(java.lang.String)"><B>HeartBeatProtocol.Server(String)</B></A> -
Constructor for class org.eclipse.net4j.signal.heartbeat.<A HREF="./org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.Server.html" title="class in org.eclipse.net4j.signal.heartbeat">HeartBeatProtocol.Server</A>
<DD>&nbsp;
<DT><A HREF="./org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.Server.html#HeartBeatProtocol.Server()"><B>HeartBeatProtocol.Server()</B></A> -
Constructor for class org.eclipse.net4j.signal.heartbeat.<A HREF="./org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.Server.html" title="class in org.eclipse.net4j.signal.heartbeat">HeartBeatProtocol.Server</A>
<DD>&nbsp;
-<DT><A HREF="./org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.Server.Factory.html" title="class in org.eclipse.net4j.signal.heartbeat"><B>HeartBeatProtocol.Server.Factory</B></A> - Class in <A HREF="./org/eclipse/net4j/signal/heartbeat/package-summary.html">org.eclipse.net4j.signal.heartbeat</A><DD>&nbsp;<DT><A HREF="./org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.Server.Factory.html#HeartBeatProtocol.Server.Factory()"><B>HeartBeatProtocol.Server.Factory()</B></A> -
+<DT><A HREF="./org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.Server.Factory.html" title="class in org.eclipse.net4j.signal.heartbeat"><B>HeartBeatProtocol.Server.Factory</B></A> - Class in <A HREF="./org/eclipse/net4j/signal/heartbeat/package-summary.html">org.eclipse.net4j.signal.heartbeat</A><DD>Creates server-side <A HREF="./org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.Server.html" title="class in org.eclipse.net4j.signal.heartbeat"><CODE>heart beat protocol</CODE></A> instances.<DT><A HREF="./org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.Server.Factory.html#HeartBeatProtocol.Server.Factory()"><B>HeartBeatProtocol.Server.Factory()</B></A> -
Constructor for class org.eclipse.net4j.signal.heartbeat.<A HREF="./org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.Server.Factory.html" title="class in org.eclipse.net4j.signal.heartbeat">HeartBeatProtocol.Server.Factory</A>
<DD>&nbsp;
-<DT><A HREF="./org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.Server.TimerInjector.html" title="class in org.eclipse.net4j.signal.heartbeat"><B>HeartBeatProtocol.Server.TimerInjector</B></A> - Class in <A HREF="./org/eclipse/net4j/signal/heartbeat/package-summary.html">org.eclipse.net4j.signal.heartbeat</A><DD>&nbsp;<DT><A HREF="./org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.Server.TimerInjector.html#HeartBeatProtocol.Server.TimerInjector()"><B>HeartBeatProtocol.Server.TimerInjector()</B></A> -
+<DT><A HREF="./org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.Server.TimerInjector.html" title="class in org.eclipse.net4j.signal.heartbeat"><B>HeartBeatProtocol.Server.TimerInjector</B></A> - Class in <A HREF="./org/eclipse/net4j/signal/heartbeat/package-summary.html">org.eclipse.net4j.signal.heartbeat</A><DD>An <A HREF="../../org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/IElementProcessor.html?is-external=true" title="class or interface in org.eclipse.net4j.util.container"><CODE>element post processor</CODE></A> that injects a <A HREF="./org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.Server.TimerInjector.html#getTimer(org.eclipse.net4j.util.container.IManagedContainer)"><CODE>timer</CODE></A>
+ into server-side <A HREF="./org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.Server.html" title="class in org.eclipse.net4j.signal.heartbeat"><CODE>heart beat protocol</CODE></A> instances.<DT><A HREF="./org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.Server.TimerInjector.html#HeartBeatProtocol.Server.TimerInjector()"><B>HeartBeatProtocol.Server.TimerInjector()</B></A> -
Constructor for class org.eclipse.net4j.signal.heartbeat.<A HREF="./org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.Server.TimerInjector.html" title="class in org.eclipse.net4j.signal.heartbeat">HeartBeatProtocol.Server.TimerInjector</A>
<DD>&nbsp;
<DT><A HREF="./org/eclipse/net4j/http/server/HTTPServerUtil.html" title="class in org.eclipse.net4j.http.server"><B>HTTPServerUtil</B></A> - Class in <A HREF="./org/eclipse/net4j/http/server/package-summary.html">org.eclipse.net4j.http.server</A><DD>A utility class with static convenience methods.<DT><A HREF="./org/eclipse/net4j/http/HTTPUtil.html" title="class in org.eclipse.net4j.http"><B>HTTPUtil</B></A> - Class in <A HREF="./org/eclipse/net4j/http/package-summary.html">org.eclipse.net4j.http</A><DD>A utility class with static convenience methods.</DL>
@@ -902,7 +904,7 @@ Constructor for class org.eclipse.net4j.signal.heartbeat.<A HREF="./org/eclipse/
<DL>
<DT><A HREF="./org/eclipse/net4j/acceptor/IAcceptor.html" title="interface in org.eclipse.net4j.acceptor"><B>IAcceptor</B></A> - Interface in <A HREF="./org/eclipse/net4j/acceptor/package-summary.html">org.eclipse.net4j.acceptor</A><DD>Accepts incoming connection requests from <A HREF="./org/eclipse/net4j/ILocationAware.Location.html#CLIENT"><CODE>client</CODE></A> <A HREF="./org/eclipse/net4j/connector/IConnector.html" title="interface in org.eclipse.net4j.connector"><CODE>connectors</CODE></A> and creates
the appropriate <A HREF="./org/eclipse/net4j/ILocationAware.Location.html#SERVER"><CODE>server</CODE></A> connectors.<DT><A HREF="./org/eclipse/net4j/buffer/IBuffer.html" title="interface in org.eclipse.net4j.buffer"><B>IBuffer</B></A> - Interface in <A HREF="./org/eclipse/net4j/buffer/package-summary.html">org.eclipse.net4j.buffer</A><DD>Basic <b>unit of transport</b> in Net4j.<DT><A HREF="./org/eclipse/net4j/buffer/IBufferHandler.html" title="interface in org.eclipse.net4j.buffer"><B>IBufferHandler</B></A> - Interface in <A HREF="./org/eclipse/net4j/buffer/package-summary.html">org.eclipse.net4j.buffer</A><DD>Provides clients with the ability to pass <A HREF="./org/eclipse/net4j/buffer/IBuffer.html" title="interface in org.eclipse.net4j.buffer"><CODE>IBuffer</CODE></A>s in for further buffer handling.<DT><A HREF="./org/eclipse/net4j/buffer/IBufferPool.html" title="interface in org.eclipse.net4j.buffer"><B>IBufferPool</B></A> - Interface in <A HREF="./org/eclipse/net4j/buffer/package-summary.html">org.eclipse.net4j.buffer</A><DD>Provides clients with the ability to obtain and retain pooled <A HREF="./org/eclipse/net4j/buffer/IBuffer.html" title="interface in org.eclipse.net4j.buffer"><CODE>IBuffer</CODE></A>s.<DT><A HREF="./org/eclipse/net4j/buffer/IBufferPool.Introspection.html" title="interface in org.eclipse.net4j.buffer"><B>IBufferPool.Introspection</B></A> - Interface in <A HREF="./org/eclipse/net4j/buffer/package-summary.html">org.eclipse.net4j.buffer</A><DD>Offers additional introspection features for <A HREF="./org/eclipse/net4j/buffer/IBufferPool.html" title="interface in org.eclipse.net4j.buffer"><CODE>IBufferPool</CODE></A>s.<DT><A HREF="./org/eclipse/net4j/buffer/IBufferProvider.html" title="interface in org.eclipse.net4j.buffer"><B>IBufferProvider</B></A> - Interface in <A HREF="./org/eclipse/net4j/buffer/package-summary.html">org.eclipse.net4j.buffer</A><DD>Provides clients with the ability to obtain and retain <A HREF="./org/eclipse/net4j/buffer/IBuffer.html" title="interface in org.eclipse.net4j.buffer"><CODE>IBuffer</CODE></A>s.<DT><A HREF="./org/eclipse/net4j/buffer/IBufferProvider.Introspection.html" title="interface in org.eclipse.net4j.buffer"><B>IBufferProvider.Introspection</B></A> - Interface in <A HREF="./org/eclipse/net4j/buffer/package-summary.html">org.eclipse.net4j.buffer</A><DD>Offers additional introspection features for <A HREF="./org/eclipse/net4j/buffer/IBufferProvider.html" title="interface in org.eclipse.net4j.buffer"><CODE>IBufferProvider</CODE></A>s.<DT><A HREF="./org/eclipse/net4j/channel/IChannel.html" title="interface in org.eclipse.net4j.channel"><B>IChannel</B></A> - Interface in <A HREF="./org/eclipse/net4j/channel/package-summary.html">org.eclipse.net4j.channel</A><DD>A bidirectional communications channel for the asynchronous exchange of <A HREF="./org/eclipse/net4j/buffer/IBuffer.html" title="interface in org.eclipse.net4j.buffer"><CODE>buffers</CODE></A>.<DT><A HREF="./org/eclipse/net4j/channel/IChannelMultiplexer.html" title="interface in org.eclipse.net4j.channel"><B>IChannelMultiplexer</B></A> - Interface in <A HREF="./org/eclipse/net4j/channel/package-summary.html">org.eclipse.net4j.channel</A><DD>Manages and multiplexes virtual data <A HREF="./org/eclipse/net4j/channel/IChannel.html" title="interface in org.eclipse.net4j.channel"><CODE>channels</CODE></A> over a shared physical connection.<DT><A HREF="./org/eclipse/net4j/connector/IConnector.html" title="interface in org.eclipse.net4j.connector"><B>IConnector</B></A> - Interface in <A HREF="./org/eclipse/net4j/connector/package-summary.html">org.eclipse.net4j.connector</A><DD>One endpoint of a physical connection of arbitrary nature between two communicating parties.<DT><A HREF="./org/eclipse/net4j/connector/IConnectorEvent.html" title="interface in org.eclipse.net4j.connector"><B>IConnectorEvent</B></A> - Interface in <A HREF="./org/eclipse/net4j/connector/package-summary.html">org.eclipse.net4j.connector</A><DD>A generic <A HREF="../../org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/event/IEvent.html?is-external=true" title="class or interface in org.eclipse.net4j.util.event"><CODE>event</CODE></A> fired from a <A HREF="./org/eclipse/net4j/connector/IConnector.html" title="interface in org.eclipse.net4j.connector"><CODE>connector</CODE></A>.<DT><A HREF="./org/eclipse/net4j/connector/IConnectorStateEvent.html" title="interface in org.eclipse.net4j.connector"><B>IConnectorStateEvent</B></A> - Interface in <A HREF="./org/eclipse/net4j/connector/package-summary.html">org.eclipse.net4j.connector</A><DD>An event that is fired by an <A HREF="./org/eclipse/net4j/connector/IConnector.html" title="interface in org.eclipse.net4j.connector"><CODE>IConnector</CODE></A> to indicate that its state has changed.<DT><A HREF="./org/eclipse/net4j/http/server/IHTTPAcceptor.html" title="interface in org.eclipse.net4j.http.server"><B>IHTTPAcceptor</B></A> - Interface in <A HREF="./org/eclipse/net4j/http/server/package-summary.html">org.eclipse.net4j.http.server</A><DD>An <A HREF="./org/eclipse/net4j/acceptor/IAcceptor.html" title="interface in org.eclipse.net4j.acceptor"><CODE>acceptor</CODE></A> that implements HTTP transport by collaborating with a configured
- <A HREF="./org/eclipse/net4j/http/server/INet4jTransportServlet.html" title="interface in org.eclipse.net4j.http.server"><CODE>servlet</CODE></A>.<DT><A HREF="./org/eclipse/net4j/http/common/IHTTPConnector.html" title="interface in org.eclipse.net4j.http.common"><B>IHTTPConnector</B></A> - Interface in <A HREF="./org/eclipse/net4j/http/common/package-summary.html">org.eclipse.net4j.http.common</A><DD>A <A HREF="./org/eclipse/net4j/connector/IConnector.html" title="interface in org.eclipse.net4j.connector"><CODE>connector</CODE></A> that implements polling HTTP transport.<DT><A HREF="./org/eclipse/net4j/jvm/IJVMAcceptor.html" title="interface in org.eclipse.net4j.jvm"><B>IJVMAcceptor</B></A> - Interface in <A HREF="./org/eclipse/net4j/jvm/package-summary.html">org.eclipse.net4j.jvm</A><DD>An <A HREF="./org/eclipse/net4j/acceptor/IAcceptor.html" title="interface in org.eclipse.net4j.acceptor"><CODE>acceptor</CODE></A> that implements JVM-embedded transport.<DT><A HREF="./org/eclipse/net4j/jvm/IJVMAcceptorManager.html" title="interface in org.eclipse.net4j.jvm"><B>IJVMAcceptorManager</B></A> - Interface in <A HREF="./org/eclipse/net4j/jvm/package-summary.html">org.eclipse.net4j.jvm</A><DD>A singleton that manages all <A HREF="./org/eclipse/net4j/jvm/IJVMAcceptor.html" title="interface in org.eclipse.net4j.jvm"><CODE>JVM acceptors</CODE></A> in the current JVM.<DT><A HREF="./org/eclipse/net4j/jvm/IJVMChannel.html" title="interface in org.eclipse.net4j.jvm"><B>IJVMChannel</B></A> - Interface in <A HREF="./org/eclipse/net4j/jvm/package-summary.html">org.eclipse.net4j.jvm</A><DD>&nbsp;<DT><A HREF="./org/eclipse/net4j/jvm/IJVMConnector.html" title="interface in org.eclipse.net4j.jvm"><B>IJVMConnector</B></A> - Interface in <A HREF="./org/eclipse/net4j/jvm/package-summary.html">org.eclipse.net4j.jvm</A><DD>A <A HREF="./org/eclipse/net4j/connector/IConnector.html" title="interface in org.eclipse.net4j.connector"><CODE>connector</CODE></A> that implements JVM-embedded transport.<DT><A HREF="./org/eclipse/net4j/ILocationAware.html" title="interface in org.eclipse.net4j"><B>ILocationAware</B></A> - Interface in <A HREF="./org/eclipse/net4j/package-summary.html">org.eclipse.net4j</A><DD>A concept that has a <A HREF="./org/eclipse/net4j/ILocationAware.Location.html" title="enum in org.eclipse.net4j"><CODE>location</CODE></A> in a <A HREF="./org/eclipse/net4j/ILocationAware.Location.html#CLIENT"><CODE>client</CODE></A>/<A HREF="./org/eclipse/net4j/ILocationAware.Location.html#SERVER"><CODE>server</CODE></A>
+ <A HREF="./org/eclipse/net4j/http/server/INet4jTransportServlet.html" title="interface in org.eclipse.net4j.http.server"><CODE>servlet</CODE></A>.<DT><A HREF="./org/eclipse/net4j/http/common/IHTTPConnector.html" title="interface in org.eclipse.net4j.http.common"><B>IHTTPConnector</B></A> - Interface in <A HREF="./org/eclipse/net4j/http/common/package-summary.html">org.eclipse.net4j.http.common</A><DD>A <A HREF="./org/eclipse/net4j/connector/IConnector.html" title="interface in org.eclipse.net4j.connector"><CODE>connector</CODE></A> that implements polling HTTP transport.<DT><A HREF="./org/eclipse/net4j/jvm/IJVMAcceptor.html" title="interface in org.eclipse.net4j.jvm"><B>IJVMAcceptor</B></A> - Interface in <A HREF="./org/eclipse/net4j/jvm/package-summary.html">org.eclipse.net4j.jvm</A><DD>An <A HREF="./org/eclipse/net4j/acceptor/IAcceptor.html" title="interface in org.eclipse.net4j.acceptor"><CODE>acceptor</CODE></A> that implements JVM-embedded transport.<DT><A HREF="./org/eclipse/net4j/jvm/IJVMAcceptorManager.html" title="interface in org.eclipse.net4j.jvm"><B>IJVMAcceptorManager</B></A> - Interface in <A HREF="./org/eclipse/net4j/jvm/package-summary.html">org.eclipse.net4j.jvm</A><DD>A singleton that manages all <A HREF="./org/eclipse/net4j/jvm/IJVMAcceptor.html" title="interface in org.eclipse.net4j.jvm"><CODE>JVM acceptors</CODE></A> in the current JVM.<DT><A HREF="./org/eclipse/net4j/jvm/IJVMChannel.html" title="interface in org.eclipse.net4j.jvm"><B>IJVMChannel</B></A> - Interface in <A HREF="./org/eclipse/net4j/jvm/package-summary.html">org.eclipse.net4j.jvm</A><DD>A <A HREF="./org/eclipse/net4j/channel/IChannel.html" title="interface in org.eclipse.net4j.channel"><CODE>channel</CODE></A> of a <A HREF="./org/eclipse/net4j/jvm/IJVMConnector.html" title="interface in org.eclipse.net4j.jvm"><CODE>JVM connector</CODE></A>.<DT><A HREF="./org/eclipse/net4j/jvm/IJVMConnector.html" title="interface in org.eclipse.net4j.jvm"><B>IJVMConnector</B></A> - Interface in <A HREF="./org/eclipse/net4j/jvm/package-summary.html">org.eclipse.net4j.jvm</A><DD>A <A HREF="./org/eclipse/net4j/connector/IConnector.html" title="interface in org.eclipse.net4j.connector"><CODE>connector</CODE></A> that implements JVM-embedded transport.<DT><A HREF="./org/eclipse/net4j/ILocationAware.html" title="interface in org.eclipse.net4j"><B>ILocationAware</B></A> - Interface in <A HREF="./org/eclipse/net4j/package-summary.html">org.eclipse.net4j</A><DD>A concept that has a <A HREF="./org/eclipse/net4j/ILocationAware.Location.html" title="enum in org.eclipse.net4j"><CODE>location</CODE></A> in a <A HREF="./org/eclipse/net4j/ILocationAware.Location.html#CLIENT"><CODE>client</CODE></A>/<A HREF="./org/eclipse/net4j/ILocationAware.Location.html#SERVER"><CODE>server</CODE></A>
scenario.<DT><A HREF="./org/eclipse/net4j/ILocationAware.Location.html" title="enum in org.eclipse.net4j"><B>ILocationAware.Location</B></A> - Enum in <A HREF="./org/eclipse/net4j/package-summary.html">org.eclipse.net4j</A><DD>A <A HREF="./org/eclipse/net4j/ILocationAware.Location.html" title="enum in org.eclipse.net4j"><CODE>location</CODE></A> in a <A HREF="./org/eclipse/net4j/ILocationAware.Location.html#CLIENT"><CODE>client</CODE></A>/<A HREF="./org/eclipse/net4j/ILocationAware.Location.html#SERVER"><CODE>server</CODE></A> scenario.<DT><A HREF="./org/eclipse/net4j/signal/Indication.html#indicating(org.eclipse.net4j.util.io.ExtendedDataInputStream)"><B>indicating(ExtendedDataInputStream)</B></A> -
Method in class org.eclipse.net4j.signal.<A HREF="./org/eclipse/net4j/signal/Indication.html" title="class in org.eclipse.net4j.signal">Indication</A>
<DD>&nbsp;
@@ -918,7 +920,7 @@ Method in class org.eclipse.net4j.signal.<A HREF="./org/eclipse/net4j/signal/Ind
<DT><A HREF="./org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.Server.html#indicatingStart(org.eclipse.net4j.util.io.ExtendedDataInputStream)"><B>indicatingStart(ExtendedDataInputStream)</B></A> -
Method in class org.eclipse.net4j.signal.heartbeat.<A HREF="./org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.Server.html" title="class in org.eclipse.net4j.signal.heartbeat">HeartBeatProtocol.Server</A>
<DD>&nbsp;
-<DT><A HREF="./org/eclipse/net4j/signal/Indication.html" title="class in org.eclipse.net4j.signal"><B>Indication</B></A> - Class in <A HREF="./org/eclipse/net4j/signal/package-summary.html">org.eclipse.net4j.signal</A><DD>&nbsp;<DT><A HREF="./org/eclipse/net4j/signal/Indication.html#Indication(org.eclipse.net4j.signal.SignalProtocol, short, java.lang.String)"><B>Indication(SignalProtocol&lt;?&gt;, short, String)</B></A> -
+<DT><A HREF="./org/eclipse/net4j/signal/Indication.html" title="class in org.eclipse.net4j.signal"><B>Indication</B></A> - Class in <A HREF="./org/eclipse/net4j/signal/package-summary.html">org.eclipse.net4j.signal</A><DD>Represents the receiver side of a one-way <A HREF="./org/eclipse/net4j/signal/Signal.html" title="class in org.eclipse.net4j.signal"><CODE>signal</CODE></A>, i.e., one with no response.<DT><A HREF="./org/eclipse/net4j/signal/Indication.html#Indication(org.eclipse.net4j.signal.SignalProtocol, short, java.lang.String)"><B>Indication(SignalProtocol&lt;?&gt;, short, String)</B></A> -
Constructor for class org.eclipse.net4j.signal.<A HREF="./org/eclipse/net4j/signal/Indication.html" title="class in org.eclipse.net4j.signal">Indication</A>
<DD>&nbsp;
<DT><A HREF="./org/eclipse/net4j/signal/Indication.html#Indication(org.eclipse.net4j.signal.SignalProtocol, short)"><B>Indication(SignalProtocol&lt;?&gt;, short)</B></A> -
@@ -927,7 +929,7 @@ Constructor for class org.eclipse.net4j.signal.<A HREF="./org/eclipse/net4j/sign
<DT><A HREF="./org/eclipse/net4j/signal/Indication.html#Indication(org.eclipse.net4j.signal.SignalProtocol, java.lang.Enum)"><B>Indication(SignalProtocol&lt;?&gt;, Enum&lt;?&gt;)</B></A> -
Constructor for class org.eclipse.net4j.signal.<A HREF="./org/eclipse/net4j/signal/Indication.html" title="class in org.eclipse.net4j.signal">Indication</A>
<DD>&nbsp;
-<DT><A HREF="./org/eclipse/net4j/signal/IndicationWithMonitoring.html" title="class in org.eclipse.net4j.signal"><B>IndicationWithMonitoring</B></A> - Class in <A HREF="./org/eclipse/net4j/signal/package-summary.html">org.eclipse.net4j.signal</A><DD>&nbsp;<DT><A HREF="./org/eclipse/net4j/signal/IndicationWithMonitoring.html#IndicationWithMonitoring(org.eclipse.net4j.signal.SignalProtocol, short, java.lang.String)"><B>IndicationWithMonitoring(SignalProtocol&lt;?&gt;, short, String)</B></A> -
+<DT><A HREF="./org/eclipse/net4j/signal/IndicationWithMonitoring.html" title="class in org.eclipse.net4j.signal"><B>IndicationWithMonitoring</B></A> - Class in <A HREF="./org/eclipse/net4j/signal/package-summary.html">org.eclipse.net4j.signal</A><DD>Represents the receiver side of a two-way <A HREF="./org/eclipse/net4j/signal/IndicationWithResponse.html" title="class in org.eclipse.net4j.signal"><CODE>signal</CODE></A> with additional support for remote progress monitoring.<DT><A HREF="./org/eclipse/net4j/signal/IndicationWithMonitoring.html#IndicationWithMonitoring(org.eclipse.net4j.signal.SignalProtocol, short, java.lang.String)"><B>IndicationWithMonitoring(SignalProtocol&lt;?&gt;, short, String)</B></A> -
Constructor for class org.eclipse.net4j.signal.<A HREF="./org/eclipse/net4j/signal/IndicationWithMonitoring.html" title="class in org.eclipse.net4j.signal">IndicationWithMonitoring</A>
<DD>&nbsp;
<DT><A HREF="./org/eclipse/net4j/signal/IndicationWithMonitoring.html#IndicationWithMonitoring(org.eclipse.net4j.signal.SignalProtocol, short)"><B>IndicationWithMonitoring(SignalProtocol&lt;?&gt;, short)</B></A> -
@@ -936,7 +938,7 @@ Constructor for class org.eclipse.net4j.signal.<A HREF="./org/eclipse/net4j/sign
<DT><A HREF="./org/eclipse/net4j/signal/IndicationWithMonitoring.html#IndicationWithMonitoring(org.eclipse.net4j.signal.SignalProtocol, java.lang.Enum)"><B>IndicationWithMonitoring(SignalProtocol&lt;?&gt;, Enum&lt;?&gt;)</B></A> -
Constructor for class org.eclipse.net4j.signal.<A HREF="./org/eclipse/net4j/signal/IndicationWithMonitoring.html" title="class in org.eclipse.net4j.signal">IndicationWithMonitoring</A>
<DD>&nbsp;
-<DT><A HREF="./org/eclipse/net4j/signal/IndicationWithResponse.html" title="class in org.eclipse.net4j.signal"><B>IndicationWithResponse</B></A> - Class in <A HREF="./org/eclipse/net4j/signal/package-summary.html">org.eclipse.net4j.signal</A><DD>&nbsp;<DT><A HREF="./org/eclipse/net4j/signal/IndicationWithResponse.html#IndicationWithResponse(org.eclipse.net4j.signal.SignalProtocol, short, java.lang.String)"><B>IndicationWithResponse(SignalProtocol&lt;?&gt;, short, String)</B></A> -
+<DT><A HREF="./org/eclipse/net4j/signal/IndicationWithResponse.html" title="class in org.eclipse.net4j.signal"><B>IndicationWithResponse</B></A> - Class in <A HREF="./org/eclipse/net4j/signal/package-summary.html">org.eclipse.net4j.signal</A><DD>Represents the receiver side of a two-way <A HREF="./org/eclipse/net4j/signal/SignalReactor.html" title="class in org.eclipse.net4j.signal"><CODE>signal</CODE></A>, i.e., one with a response.<DT><A HREF="./org/eclipse/net4j/signal/IndicationWithResponse.html#IndicationWithResponse(org.eclipse.net4j.signal.SignalProtocol, short, java.lang.String)"><B>IndicationWithResponse(SignalProtocol&lt;?&gt;, short, String)</B></A> -
Constructor for class org.eclipse.net4j.signal.<A HREF="./org/eclipse/net4j/signal/IndicationWithResponse.html" title="class in org.eclipse.net4j.signal">IndicationWithResponse</A>
<DD>&nbsp;
<DT><A HREF="./org/eclipse/net4j/signal/IndicationWithResponse.html#IndicationWithResponse(org.eclipse.net4j.signal.SignalProtocol, short)"><B>IndicationWithResponse(SignalProtocol&lt;?&gt;, short)</B></A> -
@@ -951,7 +953,7 @@ Method in class org.eclipse.net4j.signal.wrapping.<A HREF="./org/eclipse/net4j/s
<DT><A HREF="./org/eclipse/net4j/jvm/IJVMAcceptorManager.html#INSTANCE"><B>INSTANCE</B></A> -
Static variable in interface org.eclipse.net4j.jvm.<A HREF="./org/eclipse/net4j/jvm/IJVMAcceptorManager.html" title="interface in org.eclipse.net4j.jvm">IJVMAcceptorManager</A>
<DD>&nbsp;
-<DT><A HREF="./org/eclipse/net4j/protocol/IProtocol.html" title="interface in org.eclipse.net4j.protocol"><B>IProtocol</B></A>&lt;<A HREF="./org/eclipse/net4j/protocol/IProtocol.html" title="type parameter in IProtocol">INFRA_STRUCTURE</A>&gt; - Interface in <A HREF="./org/eclipse/net4j/protocol/package-summary.html">org.eclipse.net4j.protocol</A><DD>&nbsp;<DT><A HREF="./org/eclipse/net4j/protocol/IProtocolProvider.html" title="interface in org.eclipse.net4j.protocol"><B>IProtocolProvider</B></A> - Interface in <A HREF="./org/eclipse/net4j/protocol/package-summary.html">org.eclipse.net4j.protocol</A><DD>&nbsp;<DT><A HREF="./org/eclipse/net4j/ILocationAware.html#isClient()"><B>isClient()</B></A> -
+<DT><A HREF="./org/eclipse/net4j/protocol/IProtocol.html" title="interface in org.eclipse.net4j.protocol"><B>IProtocol</B></A>&lt;<A HREF="./org/eclipse/net4j/protocol/IProtocol.html" title="type parameter in IProtocol">INFRA_STRUCTURE</A>&gt; - Interface in <A HREF="./org/eclipse/net4j/protocol/package-summary.html">org.eclipse.net4j.protocol</A><DD>A <A HREF="./org/eclipse/net4j/protocol/IProtocol.html#getType()"><CODE>typed</CODE></A> <A HREF="./org/eclipse/net4j/buffer/IBufferHandler.html" title="interface in org.eclipse.net4j.buffer"><CODE>buffer handler</CODE></A> for a <A HREF="./org/eclipse/net4j/protocol/IProtocol.html#getChannel()"><CODE>channel</CODE></A>.<DT><A HREF="./org/eclipse/net4j/protocol/IProtocolProvider.html" title="interface in org.eclipse.net4j.protocol"><B>IProtocolProvider</B></A> - Interface in <A HREF="./org/eclipse/net4j/protocol/package-summary.html">org.eclipse.net4j.protocol</A><DD>Provides <A HREF="./org/eclipse/net4j/protocol/IProtocol.html" title="interface in org.eclipse.net4j.protocol"><CODE>protocol</CODE></A> instances for given types.<DT><A HREF="./org/eclipse/net4j/ILocationAware.html#isClient()"><B>isClient()</B></A> -
Method in interface org.eclipse.net4j.<A HREF="./org/eclipse/net4j/ILocationAware.html" title="interface in org.eclipse.net4j">ILocationAware</A>
<DD>Same as <code><A HREF="./org/eclipse/net4j/ILocationAware.html#getLocation()"><CODE>ILocationAware.getLocation()</CODE></A> == <A HREF="./org/eclipse/net4j/ILocationAware.Location.html#CLIENT"><CODE>ILocationAware.Location.CLIENT</CODE></A></code>.
<DT><A HREF="./org/eclipse/net4j/connector/IConnector.html#isConnected()"><B>isConnected()</B></A> -
@@ -960,7 +962,7 @@ Method in interface org.eclipse.net4j.connector.<A HREF="./org/eclipse/net4j/con
<DT><A HREF="./org/eclipse/net4j/buffer/IBuffer.html#isEOS()"><B>isEOS()</B></A> -
Method in interface org.eclipse.net4j.buffer.<A HREF="./org/eclipse/net4j/buffer/IBuffer.html" title="interface in org.eclipse.net4j.buffer">IBuffer</A>
<DD>Returns the <em>End Of Stream</em> flag to indicate whether this buffer is the last buffer in a stream of buffers.
-<DT><A HREF="./org/eclipse/net4j/signal/ISignalProtocol.html" title="interface in org.eclipse.net4j.signal"><B>ISignalProtocol</B></A>&lt;<A HREF="./org/eclipse/net4j/signal/ISignalProtocol.html" title="type parameter in ISignalProtocol">INFRA_STRUCTURE</A>&gt; - Interface in <A HREF="./org/eclipse/net4j/signal/package-summary.html">org.eclipse.net4j.signal</A><DD>&nbsp;<DT><A HREF="./org/eclipse/net4j/buffer/BufferOutputStream.html#isPropagateClose()"><B>isPropagateClose()</B></A> -
+<DT><A HREF="./org/eclipse/net4j/signal/ISignalProtocol.html" title="interface in org.eclipse.net4j.signal"><B>ISignalProtocol</B></A>&lt;<A HREF="./org/eclipse/net4j/signal/ISignalProtocol.html" title="type parameter in ISignalProtocol">INFRA_STRUCTURE</A>&gt; - Interface in <A HREF="./org/eclipse/net4j/signal/package-summary.html">org.eclipse.net4j.signal</A><DD>A <A HREF="./org/eclipse/net4j/protocol/IProtocol.html" title="interface in org.eclipse.net4j.protocol"><CODE>protocol</CODE></A> that consists of a number of stream-based <A HREF="./org/eclipse/net4j/signal/Signal.html" title="class in org.eclipse.net4j.signal"><CODE>signals</CODE></A>.<DT><A HREF="./org/eclipse/net4j/buffer/BufferOutputStream.html#isPropagateClose()"><B>isPropagateClose()</B></A> -
Method in class org.eclipse.net4j.buffer.<A HREF="./org/eclipse/net4j/buffer/BufferOutputStream.html" title="class in org.eclipse.net4j.buffer">BufferOutputStream</A>
<DD>&nbsp;
<DT><A HREF="./org/eclipse/net4j/signal/SignalProtocol.html#isSendingTimeoutChanges()"><B>isSendingTimeoutChanges()</B></A> -
@@ -1053,8 +1055,7 @@ Method in interface org.eclipse.net4j.tcp.<A HREF="./org/eclipse/net4j/tcp/ITCPS
<DT><A HREF="./org/eclipse/net4j/tcp/ITCPSelector.html#orderWriteInterest(java.nio.channels.SelectionKey, boolean, boolean)"><B>orderWriteInterest(SelectionKey, boolean, boolean)</B></A> -
Method in interface org.eclipse.net4j.tcp.<A HREF="./org/eclipse/net4j/tcp/ITCPSelector.html" title="interface in org.eclipse.net4j.tcp">ITCPSelector</A>
<DD>&nbsp;
-<DT><A HREF="./org/eclipse/net4j/package-summary.html"><B>org.eclipse.net4j</B></A> - package org.eclipse.net4j<DD>The Net4j transport layer.<DT><A HREF="./org/eclipse/net4j/acceptor/package-summary.html"><B>org.eclipse.net4j.acceptor</B></A> - package org.eclipse.net4j.acceptor<DD>The Net4j transport layer concepts for dealing with acceptors.<DT><A HREF="./org/eclipse/net4j/buffer/package-summary.html"><B>org.eclipse.net4j.buffer</B></A> - package org.eclipse.net4j.buffer<DD>The Net4j transport layer concepts for dealing with buffers.<DT><A HREF="./org/eclipse/net4j/channel/package-summary.html"><B>org.eclipse.net4j.channel</B></A> - package org.eclipse.net4j.channel<DD>The Net4j transport layer concepts for dealing with channels.<DT><A HREF="./org/eclipse/net4j/connector/package-summary.html"><B>org.eclipse.net4j.connector</B></A> - package org.eclipse.net4j.connector<DD>The Net4j transport layer concepts for dealing with connectors.<DT><A HREF="./org/eclipse/net4j/http/package-summary.html"><B>org.eclipse.net4j.http</B></A> - package org.eclipse.net4j.http<DD>Transport layer extension with support for HTTP connections.<DT><A HREF="./org/eclipse/net4j/http/common/package-summary.html"><B>org.eclipse.net4j.http.common</B></A> - package org.eclipse.net4j.http.common<DD>Transport layer extension with support for HTTP connections.<DT><A HREF="./org/eclipse/net4j/http/server/package-summary.html"><B>org.eclipse.net4j.http.server</B></A> - package org.eclipse.net4j.http.server<DD>Transport layer extension with support for HTTP connections.<DT><A HREF="./org/eclipse/net4j/jvm/package-summary.html"><B>org.eclipse.net4j.jvm</B></A> - package org.eclipse.net4j.jvm<DD>Transport layer extension with support for JVM embedded connections.<DT><A HREF="./org/eclipse/net4j/protocol/package-summary.html"><B>org.eclipse.net4j.protocol</B></A> - package org.eclipse.net4j.protocol<DD>The Net4j transport layer concepts for dealing with protocols.<DT><A HREF="./org/eclipse/net4j/signal/package-summary.html"><B>org.eclipse.net4j.signal</B></A> - package org.eclipse.net4j.signal<DD>A framework for request/response based communication on top of
- the Net4j transport layer.<DT><A HREF="./org/eclipse/net4j/signal/heartbeat/package-summary.html"><B>org.eclipse.net4j.signal.heartbeat</B></A> - package org.eclipse.net4j.signal.heartbeat<DD>A signal protocol implementation that realizes a configurable heart beat protocol.<DT><A HREF="./org/eclipse/net4j/signal/wrapping/package-summary.html"><B>org.eclipse.net4j.signal.wrapping</B></A> - package org.eclipse.net4j.signal.wrapping<DD>Some container injectors for use with signal protocols.<DT><A HREF="./org/eclipse/net4j/tcp/package-summary.html"><B>org.eclipse.net4j.tcp</B></A> - package org.eclipse.net4j.tcp<DD>Transport layer extension with support for TCP socket connections.<DT><A HREF="./org/eclipse/net4j/tcp/ssl/package-summary.html"><B>org.eclipse.net4j.tcp.ssl</B></A> - package org.eclipse.net4j.tcp.ssl<DD>Transport layer extension with support for TCP/SSL socket connections.<DT><A HREF="./org/eclipse/net4j/ui/package-summary.html"><B>org.eclipse.net4j.ui</B></A> - package org.eclipse.net4j.ui<DD>Reusable UI components specific to the Net4j Signalling Platform.</DL>
+<DT><A HREF="./org/eclipse/net4j/package-summary.html"><B>org.eclipse.net4j</B></A> - package org.eclipse.net4j<DD>The Net4j transport layer.<DT><A HREF="./org/eclipse/net4j/acceptor/package-summary.html"><B>org.eclipse.net4j.acceptor</B></A> - package org.eclipse.net4j.acceptor<DD>The Net4j transport layer concepts for dealing with acceptors.<DT><A HREF="./org/eclipse/net4j/buffer/package-summary.html"><B>org.eclipse.net4j.buffer</B></A> - package org.eclipse.net4j.buffer<DD>The Net4j transport layer concepts for dealing with buffers.<DT><A HREF="./org/eclipse/net4j/channel/package-summary.html"><B>org.eclipse.net4j.channel</B></A> - package org.eclipse.net4j.channel<DD>The Net4j transport layer concepts for dealing with channels.<DT><A HREF="./org/eclipse/net4j/connector/package-summary.html"><B>org.eclipse.net4j.connector</B></A> - package org.eclipse.net4j.connector<DD>The Net4j transport layer concepts for dealing with connectors.<DT><A HREF="./org/eclipse/net4j/http/package-summary.html"><B>org.eclipse.net4j.http</B></A> - package org.eclipse.net4j.http<DD>Transport layer extension with support for HTTP connections.<DT><A HREF="./org/eclipse/net4j/http/common/package-summary.html"><B>org.eclipse.net4j.http.common</B></A> - package org.eclipse.net4j.http.common<DD>Transport layer extension with support for HTTP connections.<DT><A HREF="./org/eclipse/net4j/http/server/package-summary.html"><B>org.eclipse.net4j.http.server</B></A> - package org.eclipse.net4j.http.server<DD>Transport layer extension with support for HTTP connections.<DT><A HREF="./org/eclipse/net4j/jvm/package-summary.html"><B>org.eclipse.net4j.jvm</B></A> - package org.eclipse.net4j.jvm<DD>Transport layer extension with support for JVM embedded connections.<DT><A HREF="./org/eclipse/net4j/protocol/package-summary.html"><B>org.eclipse.net4j.protocol</B></A> - package org.eclipse.net4j.protocol<DD>The Net4j transport layer concepts for dealing with protocols.<DT><A HREF="./org/eclipse/net4j/signal/package-summary.html"><B>org.eclipse.net4j.signal</B></A> - package org.eclipse.net4j.signal<DD>A framework for request/response based communication on top of the Net4j transport layer.<DT><A HREF="./org/eclipse/net4j/signal/heartbeat/package-summary.html"><B>org.eclipse.net4j.signal.heartbeat</B></A> - package org.eclipse.net4j.signal.heartbeat<DD>A signal protocol implementation that realizes a configurable heart beat protocol.<DT><A HREF="./org/eclipse/net4j/signal/wrapping/package-summary.html"><B>org.eclipse.net4j.signal.wrapping</B></A> - package org.eclipse.net4j.signal.wrapping<DD>Some container injectors for use with signal protocols.<DT><A HREF="./org/eclipse/net4j/tcp/package-summary.html"><B>org.eclipse.net4j.tcp</B></A> - package org.eclipse.net4j.tcp<DD>Transport layer extension with support for TCP socket connections.<DT><A HREF="./org/eclipse/net4j/tcp/ssl/package-summary.html"><B>org.eclipse.net4j.tcp.ssl</B></A> - package org.eclipse.net4j.tcp.ssl<DD>Transport layer extension with support for TCP/SSL socket connections.<DT><A HREF="./org/eclipse/net4j/ui/package-summary.html"><B>org.eclipse.net4j.ui</B></A> - package org.eclipse.net4j.ui<DD>Reusable UI components specific to the Net4j Signalling Platform.</DL>
<HR>
<A NAME="_P_"><!-- --></A><H2>
<B>P</B></H2>
@@ -1115,13 +1116,13 @@ Method in class org.eclipse.net4j.buffer.<A HREF="./org/eclipse/net4j/buffer/Buf
<DT><A HREF="./org/eclipse/net4j/buffer/IBuffer.html#release()"><B>release()</B></A> -
Method in interface org.eclipse.net4j.buffer.<A HREF="./org/eclipse/net4j/buffer/IBuffer.html" title="interface in org.eclipse.net4j.buffer">IBuffer</A>
<DD>Releases this buffer to its original <A HREF="./org/eclipse/net4j/buffer/IBufferProvider.html" title="interface in org.eclipse.net4j.buffer"><CODE>IBufferProvider</CODE></A>.
-<DT><A HREF="./org/eclipse/net4j/signal/RemoteException.html" title="class in org.eclipse.net4j.signal"><B>RemoteException</B></A> - Exception in <A HREF="./org/eclipse/net4j/signal/package-summary.html">org.eclipse.net4j.signal</A><DD>&nbsp;<DT><A HREF="./org/eclipse/net4j/signal/RemoteException.html#RemoteException(java.lang.Throwable, org.eclipse.net4j.signal.RequestWithConfirmation, boolean)"><B>RemoteException(Throwable, RequestWithConfirmation&lt;?&gt;, boolean)</B></A> -
+<DT><A HREF="./org/eclipse/net4j/signal/RemoteException.html" title="class in org.eclipse.net4j.signal"><B>RemoteException</B></A> - Exception in <A HREF="./org/eclipse/net4j/signal/package-summary.html">org.eclipse.net4j.signal</A><DD>An exception that wraps an exception that has been thrown during the execution of a remote <A HREF="./org/eclipse/net4j/signal/SignalReactor.html" title="class in org.eclipse.net4j.signal"><CODE>signal</CODE></A>.<DT><A HREF="./org/eclipse/net4j/signal/RemoteException.html#RemoteException(java.lang.Throwable, org.eclipse.net4j.signal.RequestWithConfirmation, boolean)"><B>RemoteException(Throwable, RequestWithConfirmation&lt;?&gt;, boolean)</B></A> -
Constructor for exception org.eclipse.net4j.signal.<A HREF="./org/eclipse/net4j/signal/RemoteException.html" title="class in org.eclipse.net4j.signal">RemoteException</A>
<DD>&nbsp;
<DT><A HREF="./org/eclipse/net4j/signal/RemoteException.html#RemoteException(java.lang.String, boolean)"><B>RemoteException(String, boolean)</B></A> -
Constructor for exception org.eclipse.net4j.signal.<A HREF="./org/eclipse/net4j/signal/RemoteException.html" title="class in org.eclipse.net4j.signal">RemoteException</A>
<DD>&nbsp;
-<DT><A HREF="./org/eclipse/net4j/signal/Request.html" title="class in org.eclipse.net4j.signal"><B>Request</B></A> - Class in <A HREF="./org/eclipse/net4j/signal/package-summary.html">org.eclipse.net4j.signal</A><DD>&nbsp;<DT><A HREF="./org/eclipse/net4j/signal/Request.html#Request(org.eclipse.net4j.signal.SignalProtocol, short, java.lang.String)"><B>Request(SignalProtocol&lt;?&gt;, short, String)</B></A> -
+<DT><A HREF="./org/eclipse/net4j/signal/Request.html" title="class in org.eclipse.net4j.signal"><B>Request</B></A> - Class in <A HREF="./org/eclipse/net4j/signal/package-summary.html">org.eclipse.net4j.signal</A><DD>Represents the sender side of a one-way <A HREF="./org/eclipse/net4j/signal/Signal.html" title="class in org.eclipse.net4j.signal"><CODE>signal</CODE></A>, i.e., one with no response.<DT><A HREF="./org/eclipse/net4j/signal/Request.html#Request(org.eclipse.net4j.signal.SignalProtocol, short, java.lang.String)"><B>Request(SignalProtocol&lt;?&gt;, short, String)</B></A> -
Constructor for class org.eclipse.net4j.signal.<A HREF="./org/eclipse/net4j/signal/Request.html" title="class in org.eclipse.net4j.signal">Request</A>
<DD>&nbsp;
<DT><A HREF="./org/eclipse/net4j/signal/Request.html#Request(org.eclipse.net4j.signal.SignalProtocol, short)"><B>Request(SignalProtocol&lt;?&gt;, short)</B></A> -
@@ -1145,7 +1146,7 @@ Method in class org.eclipse.net4j.signal.<A HREF="./org/eclipse/net4j/signal/Req
<DT><A HREF="./org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.html#requestingStart(org.eclipse.net4j.util.io.ExtendedDataOutputStream, long)"><B>requestingStart(ExtendedDataOutputStream, long)</B></A> -
Method in class org.eclipse.net4j.signal.heartbeat.<A HREF="./org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.html" title="class in org.eclipse.net4j.signal.heartbeat">HeartBeatProtocol</A>
<DD>&nbsp;
-<DT><A HREF="./org/eclipse/net4j/signal/RequestWithConfirmation.html" title="class in org.eclipse.net4j.signal"><B>RequestWithConfirmation</B></A>&lt;<A HREF="./org/eclipse/net4j/signal/RequestWithConfirmation.html" title="type parameter in RequestWithConfirmation">RESULT</A>&gt; - Class in <A HREF="./org/eclipse/net4j/signal/package-summary.html">org.eclipse.net4j.signal</A><DD>&nbsp;<DT><A HREF="./org/eclipse/net4j/signal/RequestWithConfirmation.html#RequestWithConfirmation(org.eclipse.net4j.signal.SignalProtocol, short, java.lang.String)"><B>RequestWithConfirmation(SignalProtocol&lt;?&gt;, short, String)</B></A> -
+<DT><A HREF="./org/eclipse/net4j/signal/RequestWithConfirmation.html" title="class in org.eclipse.net4j.signal"><B>RequestWithConfirmation</B></A>&lt;<A HREF="./org/eclipse/net4j/signal/RequestWithConfirmation.html" title="type parameter in RequestWithConfirmation">RESULT</A>&gt; - Class in <A HREF="./org/eclipse/net4j/signal/package-summary.html">org.eclipse.net4j.signal</A><DD>Represents the sender side of a two-way <A HREF="./org/eclipse/net4j/signal/SignalActor.html" title="class in org.eclipse.net4j.signal"><CODE>signal</CODE></A>, i.e., one with a response.<DT><A HREF="./org/eclipse/net4j/signal/RequestWithConfirmation.html#RequestWithConfirmation(org.eclipse.net4j.signal.SignalProtocol, short, java.lang.String)"><B>RequestWithConfirmation(SignalProtocol&lt;?&gt;, short, String)</B></A> -
Constructor for class org.eclipse.net4j.signal.<A HREF="./org/eclipse/net4j/signal/RequestWithConfirmation.html" title="class in org.eclipse.net4j.signal">RequestWithConfirmation</A>
<DD>&nbsp;
<DT><A HREF="./org/eclipse/net4j/signal/RequestWithConfirmation.html#RequestWithConfirmation(org.eclipse.net4j.signal.SignalProtocol, short)"><B>RequestWithConfirmation(SignalProtocol&lt;?&gt;, short)</B></A> -
@@ -1154,7 +1155,7 @@ Constructor for class org.eclipse.net4j.signal.<A HREF="./org/eclipse/net4j/sign
<DT><A HREF="./org/eclipse/net4j/signal/RequestWithConfirmation.html#RequestWithConfirmation(org.eclipse.net4j.signal.SignalProtocol, java.lang.Enum)"><B>RequestWithConfirmation(SignalProtocol&lt;?&gt;, Enum&lt;?&gt;)</B></A> -
Constructor for class org.eclipse.net4j.signal.<A HREF="./org/eclipse/net4j/signal/RequestWithConfirmation.html" title="class in org.eclipse.net4j.signal">RequestWithConfirmation</A>
<DD>&nbsp;
-<DT><A HREF="./org/eclipse/net4j/signal/RequestWithMonitoring.html" title="class in org.eclipse.net4j.signal"><B>RequestWithMonitoring</B></A>&lt;<A HREF="./org/eclipse/net4j/signal/RequestWithMonitoring.html" title="type parameter in RequestWithMonitoring">RESULT</A>&gt; - Class in <A HREF="./org/eclipse/net4j/signal/package-summary.html">org.eclipse.net4j.signal</A><DD>&nbsp;<DT><A HREF="./org/eclipse/net4j/signal/RequestWithMonitoring.html#RequestWithMonitoring(org.eclipse.net4j.signal.SignalProtocol, short, java.lang.String)"><B>RequestWithMonitoring(SignalProtocol&lt;?&gt;, short, String)</B></A> -
+<DT><A HREF="./org/eclipse/net4j/signal/RequestWithMonitoring.html" title="class in org.eclipse.net4j.signal"><B>RequestWithMonitoring</B></A>&lt;<A HREF="./org/eclipse/net4j/signal/RequestWithMonitoring.html" title="type parameter in RequestWithMonitoring">RESULT</A>&gt; - Class in <A HREF="./org/eclipse/net4j/signal/package-summary.html">org.eclipse.net4j.signal</A><DD>Represents the sender side of a two-way <A HREF="./org/eclipse/net4j/signal/IndicationWithResponse.html" title="class in org.eclipse.net4j.signal"><CODE>signal</CODE></A> with additional support for remote progress monitoring.<DT><A HREF="./org/eclipse/net4j/signal/RequestWithMonitoring.html#RequestWithMonitoring(org.eclipse.net4j.signal.SignalProtocol, short, java.lang.String)"><B>RequestWithMonitoring(SignalProtocol&lt;?&gt;, short, String)</B></A> -
Constructor for class org.eclipse.net4j.signal.<A HREF="./org/eclipse/net4j/signal/RequestWithMonitoring.html" title="class in org.eclipse.net4j.signal">RequestWithMonitoring</A>
<DD>&nbsp;
<DT><A HREF="./org/eclipse/net4j/signal/RequestWithMonitoring.html#RequestWithMonitoring(org.eclipse.net4j.signal.SignalProtocol, short)"><B>RequestWithMonitoring(SignalProtocol&lt;?&gt;, short)</B></A> -
@@ -1311,7 +1312,7 @@ Method in class org.eclipse.net4j.signal.<A HREF="./org/eclipse/net4j/signal/Sig
<DT><A HREF="./org/eclipse/net4j/signal/wrapping/StreamWrapperInjector.html#shouldInject(org.eclipse.net4j.util.container.IManagedContainer, java.lang.String, java.lang.String, java.lang.String, org.eclipse.net4j.signal.SignalProtocol)"><B>shouldInject(IManagedContainer, String, String, String, SignalProtocol&lt;?&gt;)</B></A> -
Method in class org.eclipse.net4j.signal.wrapping.<A HREF="./org/eclipse/net4j/signal/wrapping/StreamWrapperInjector.html" title="class in org.eclipse.net4j.signal.wrapping">StreamWrapperInjector</A>
<DD>&nbsp;
-<DT><A HREF="./org/eclipse/net4j/signal/Signal.html" title="class in org.eclipse.net4j.signal"><B>Signal</B></A> - Class in <A HREF="./org/eclipse/net4j/signal/package-summary.html">org.eclipse.net4j.signal</A><DD>&nbsp;<DT><A HREF="./org/eclipse/net4j/signal/Signal.html#Signal(org.eclipse.net4j.signal.SignalProtocol, short, java.lang.String)"><B>Signal(SignalProtocol&lt;?&gt;, short, String)</B></A> -
+<DT><A HREF="./org/eclipse/net4j/signal/Signal.html" title="class in org.eclipse.net4j.signal"><B>Signal</B></A> - Class in <A HREF="./org/eclipse/net4j/signal/package-summary.html">org.eclipse.net4j.signal</A><DD>Represents a single communications use-case in the scope of a <A HREF="./org/eclipse/net4j/signal/ISignalProtocol.html" title="interface in org.eclipse.net4j.signal"><CODE>signal protocol</CODE></A>.<DT><A HREF="./org/eclipse/net4j/signal/Signal.html#Signal(org.eclipse.net4j.signal.SignalProtocol, short, java.lang.String)"><B>Signal(SignalProtocol&lt;?&gt;, short, String)</B></A> -
Constructor for class org.eclipse.net4j.signal.<A HREF="./org/eclipse/net4j/signal/Signal.html" title="class in org.eclipse.net4j.signal">Signal</A>
<DD>Both implementation classes of a logical signal must have the same signalID.
<DT><A HREF="./org/eclipse/net4j/signal/Signal.html#Signal(org.eclipse.net4j.signal.SignalProtocol, short)"><B>Signal(SignalProtocol&lt;?&gt;, short)</B></A> -
@@ -1332,7 +1333,7 @@ Static variable in class org.eclipse.net4j.signal.<A HREF="./org/eclipse/net4j/s
<DT><A HREF="./org/eclipse/net4j/signal/SignalProtocol.html#SIGNAL_SET_TIMEOUT"><B>SIGNAL_SET_TIMEOUT</B></A> -
Static variable in class org.eclipse.net4j.signal.<A HREF="./org/eclipse/net4j/signal/SignalProtocol.html" title="class in org.eclipse.net4j.signal">SignalProtocol</A>
<DD>&nbsp;
-<DT><A HREF="./org/eclipse/net4j/signal/SignalActor.html" title="class in org.eclipse.net4j.signal"><B>SignalActor</B></A> - Class in <A HREF="./org/eclipse/net4j/signal/package-summary.html">org.eclipse.net4j.signal</A><DD>&nbsp;<DT><A HREF="./org/eclipse/net4j/signal/SignalActor.html#SignalActor(org.eclipse.net4j.signal.SignalProtocol, short, java.lang.String)"><B>SignalActor(SignalProtocol&lt;?&gt;, short, String)</B></A> -
+<DT><A HREF="./org/eclipse/net4j/signal/SignalActor.html" title="class in org.eclipse.net4j.signal"><B>SignalActor</B></A> - Class in <A HREF="./org/eclipse/net4j/signal/package-summary.html">org.eclipse.net4j.signal</A><DD>Represents the sender side of a <A HREF="./org/eclipse/net4j/signal/Signal.html" title="class in org.eclipse.net4j.signal"><CODE>signal</CODE></A>.<DT><A HREF="./org/eclipse/net4j/signal/SignalActor.html#SignalActor(org.eclipse.net4j.signal.SignalProtocol, short, java.lang.String)"><B>SignalActor(SignalProtocol&lt;?&gt;, short, String)</B></A> -
Constructor for class org.eclipse.net4j.signal.<A HREF="./org/eclipse/net4j/signal/SignalActor.html" title="class in org.eclipse.net4j.signal">SignalActor</A>
<DD>&nbsp;
<DT><A HREF="./org/eclipse/net4j/signal/SignalActor.html#SignalActor(org.eclipse.net4j.signal.SignalProtocol, short)"><B>SignalActor(SignalProtocol&lt;?&gt;, short)</B></A> -
@@ -1341,13 +1342,19 @@ Constructor for class org.eclipse.net4j.signal.<A HREF="./org/eclipse/net4j/sign
<DT><A HREF="./org/eclipse/net4j/signal/SignalActor.html#SignalActor(org.eclipse.net4j.signal.SignalProtocol, java.lang.Enum)"><B>SignalActor(SignalProtocol&lt;?&gt;, Enum&lt;?&gt;)</B></A> -
Constructor for class org.eclipse.net4j.signal.<A HREF="./org/eclipse/net4j/signal/SignalActor.html" title="class in org.eclipse.net4j.signal">SignalActor</A>
<DD>&nbsp;
-<DT><A HREF="./org/eclipse/net4j/signal/SignalCounter.html" title="class in org.eclipse.net4j.signal"><B>SignalCounter</B></A> - Class in <A HREF="./org/eclipse/net4j/signal/package-summary.html">org.eclipse.net4j.signal</A><DD>&nbsp;<DT><A HREF="./org/eclipse/net4j/signal/SignalCounter.html#SignalCounter()"><B>SignalCounter()</B></A> -
+<DT><A HREF="./org/eclipse/net4j/signal/SignalCounter.html" title="class in org.eclipse.net4j.signal"><B>SignalCounter</B></A> - Class in <A HREF="./org/eclipse/net4j/signal/package-summary.html">org.eclipse.net4j.signal</A><DD>Provides <A HREF="./org/eclipse/net4j/signal/Signal.html" title="class in org.eclipse.net4j.signal"><CODE>signal</CODE></A> execution counts when
+ <A HREF="../../org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/event/Notifier.html?is-external=true#addListener(org.eclipse.net4j.util.event.IListener)" title="class or interface in org.eclipse.net4j.util.event"><CODE>attached</CODE></A> to a <A HREF="./org/eclipse/net4j/signal/ISignalProtocol.html" title="interface in org.eclipse.net4j.signal"><CODE>signal protocol</CODE></A>.<DT><A HREF="./org/eclipse/net4j/signal/SignalCounter.html#SignalCounter()"><B>SignalCounter()</B></A> -
Constructor for class org.eclipse.net4j.signal.<A HREF="./org/eclipse/net4j/signal/SignalCounter.html" title="class in org.eclipse.net4j.signal">SignalCounter</A>
<DD>&nbsp;
-<DT><A HREF="./org/eclipse/net4j/signal/SignalFinishedEvent.html" title="class in org.eclipse.net4j.signal"><B>SignalFinishedEvent</B></A>&lt;<A HREF="./org/eclipse/net4j/signal/SignalFinishedEvent.html" title="type parameter in SignalFinishedEvent">INFRA_STRUCTURE</A>&gt; - Class in <A HREF="./org/eclipse/net4j/signal/package-summary.html">org.eclipse.net4j.signal</A><DD>&nbsp;<DT><A HREF="./org/eclipse/net4j/signal/SignalProtocol.html" title="class in org.eclipse.net4j.signal"><B>SignalProtocol</B></A>&lt;<A HREF="./org/eclipse/net4j/signal/SignalProtocol.html" title="type parameter in SignalProtocol">INFRA_STRUCTURE</A>&gt; - Class in <A HREF="./org/eclipse/net4j/signal/package-summary.html">org.eclipse.net4j.signal</A><DD>&nbsp;<DT><A HREF="./org/eclipse/net4j/signal/SignalProtocol.html#SignalProtocol(java.lang.String)"><B>SignalProtocol(String)</B></A> -
+<DT><A HREF="./org/eclipse/net4j/signal/SignalCounter.html#SignalCounter(org.eclipse.net4j.signal.ISignalProtocol)"><B>SignalCounter(ISignalProtocol&lt;?&gt;)</B></A> -
+Constructor for class org.eclipse.net4j.signal.<A HREF="./org/eclipse/net4j/signal/SignalCounter.html" title="class in org.eclipse.net4j.signal">SignalCounter</A>
+<DD>&nbsp;
+<DT><A HREF="./org/eclipse/net4j/signal/SignalFinishedEvent.html" title="class in org.eclipse.net4j.signal"><B>SignalFinishedEvent</B></A>&lt;<A HREF="./org/eclipse/net4j/signal/SignalFinishedEvent.html" title="type parameter in SignalFinishedEvent">INFRA_STRUCTURE</A>&gt; - Class in <A HREF="./org/eclipse/net4j/signal/package-summary.html">org.eclipse.net4j.signal</A><DD>An <A HREF="../../org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/event/IEvent.html?is-external=true" title="class or interface in org.eclipse.net4j.util.event"><CODE>event</CODE></A> fired from a <A HREF="./org/eclipse/net4j/signal/ISignalProtocol.html" title="interface in org.eclipse.net4j.signal"><CODE>signal protocol</CODE></A> when
+ the local execution of a scheduled <A HREF="./org/eclipse/net4j/signal/SignalFinishedEvent.html#getSignal()"><CODE>signal</CODE></A> has finished.<DT><A HREF="./org/eclipse/net4j/signal/SignalProtocol.html" title="class in org.eclipse.net4j.signal"><B>SignalProtocol</B></A>&lt;<A HREF="./org/eclipse/net4j/signal/SignalProtocol.html" title="type parameter in SignalProtocol">INFRA_STRUCTURE</A>&gt; - Class in <A HREF="./org/eclipse/net4j/signal/package-summary.html">org.eclipse.net4j.signal</A><DD>The default implementation of a <A HREF="./org/eclipse/net4j/signal/ISignalProtocol.html" title="interface in org.eclipse.net4j.signal"><CODE>signal protocol</CODE></A>.<DT><A HREF="./org/eclipse/net4j/signal/SignalProtocol.html#SignalProtocol(java.lang.String)"><B>SignalProtocol(String)</B></A> -
Constructor for class org.eclipse.net4j.signal.<A HREF="./org/eclipse/net4j/signal/SignalProtocol.html" title="class in org.eclipse.net4j.signal">SignalProtocol</A>
<DD>&nbsp;
-<DT><A HREF="./org/eclipse/net4j/signal/SignalProtocol.TimeoutChangedEvent.html" title="class in org.eclipse.net4j.signal"><B>SignalProtocol.TimeoutChangedEvent</B></A> - Class in <A HREF="./org/eclipse/net4j/signal/package-summary.html">org.eclipse.net4j.signal</A><DD>&nbsp;<DT><A HREF="./org/eclipse/net4j/signal/SignalReactor.html" title="class in org.eclipse.net4j.signal"><B>SignalReactor</B></A> - Class in <A HREF="./org/eclipse/net4j/signal/package-summary.html">org.eclipse.net4j.signal</A><DD>&nbsp;<DT><A HREF="./org/eclipse/net4j/signal/SignalReactor.html#SignalReactor(org.eclipse.net4j.signal.SignalProtocol, short, java.lang.String)"><B>SignalReactor(SignalProtocol&lt;?&gt;, short, String)</B></A> -
+<DT><A HREF="./org/eclipse/net4j/signal/SignalProtocol.TimeoutChangedEvent.html" title="class in org.eclipse.net4j.signal"><B>SignalProtocol.TimeoutChangedEvent</B></A> - Class in <A HREF="./org/eclipse/net4j/signal/package-summary.html">org.eclipse.net4j.signal</A><DD>An <A HREF="../../org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/event/IEvent.html?is-external=true" title="class or interface in org.eclipse.net4j.util.event"><CODE>event</CODE></A> fired from a <A HREF="./org/eclipse/net4j/signal/ISignalProtocol.html" title="interface in org.eclipse.net4j.signal"><CODE>signal protocol</CODE></A> when the protocol <A HREF="./org/eclipse/net4j/signal/ISignalProtocol.html#setTimeout(long)"><CODE>timeout</CODE></A>
+ has been changed.<DT><A HREF="./org/eclipse/net4j/signal/SignalReactor.html" title="class in org.eclipse.net4j.signal"><B>SignalReactor</B></A> - Class in <A HREF="./org/eclipse/net4j/signal/package-summary.html">org.eclipse.net4j.signal</A><DD>Represents the receiver side of a <A HREF="./org/eclipse/net4j/signal/Signal.html" title="class in org.eclipse.net4j.signal"><CODE>signal</CODE></A>.<DT><A HREF="./org/eclipse/net4j/signal/SignalReactor.html#SignalReactor(org.eclipse.net4j.signal.SignalProtocol, short, java.lang.String)"><B>SignalReactor(SignalProtocol&lt;?&gt;, short, String)</B></A> -
Constructor for class org.eclipse.net4j.signal.<A HREF="./org/eclipse/net4j/signal/SignalReactor.html" title="class in org.eclipse.net4j.signal">SignalReactor</A>
<DD>&nbsp;
<DT><A HREF="./org/eclipse/net4j/signal/SignalReactor.html#SignalReactor(org.eclipse.net4j.signal.SignalProtocol, short)"><B>SignalReactor(SignalProtocol&lt;?&gt;, short)</B></A> -
@@ -1356,7 +1363,8 @@ Constructor for class org.eclipse.net4j.signal.<A HREF="./org/eclipse/net4j/sign
<DT><A HREF="./org/eclipse/net4j/signal/SignalReactor.html#SignalReactor(org.eclipse.net4j.signal.SignalProtocol, java.lang.Enum)"><B>SignalReactor(SignalProtocol&lt;?&gt;, Enum&lt;?&gt;)</B></A> -
Constructor for class org.eclipse.net4j.signal.<A HREF="./org/eclipse/net4j/signal/SignalReactor.html" title="class in org.eclipse.net4j.signal">SignalReactor</A>
<DD>&nbsp;
-<DT><A HREF="./org/eclipse/net4j/signal/SignalScheduledEvent.html" title="class in org.eclipse.net4j.signal"><B>SignalScheduledEvent</B></A>&lt;<A HREF="./org/eclipse/net4j/signal/SignalScheduledEvent.html" title="type parameter in SignalScheduledEvent">INFRA_STRUCTURE</A>&gt; - Class in <A HREF="./org/eclipse/net4j/signal/package-summary.html">org.eclipse.net4j.signal</A><DD>&nbsp;<DT><A HREF="./org/eclipse/net4j/tcp/ssl/SSLUtil.html" title="class in org.eclipse.net4j.tcp.ssl"><B>SSLUtil</B></A> - Class in <A HREF="./org/eclipse/net4j/tcp/ssl/package-summary.html">org.eclipse.net4j.tcp.ssl</A><DD>A utility class with various static factory and convenience methods for SSL transport.<DT><A HREF="./org/eclipse/net4j/tcp/ssl/SSLUtil.html#SSLUtil()"><B>SSLUtil()</B></A> -
+<DT><A HREF="./org/eclipse/net4j/signal/SignalScheduledEvent.html" title="class in org.eclipse.net4j.signal"><B>SignalScheduledEvent</B></A>&lt;<A HREF="./org/eclipse/net4j/signal/SignalScheduledEvent.html" title="type parameter in SignalScheduledEvent">INFRA_STRUCTURE</A>&gt; - Class in <A HREF="./org/eclipse/net4j/signal/package-summary.html">org.eclipse.net4j.signal</A><DD>An <A HREF="../../org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/event/IEvent.html?is-external=true" title="class or interface in org.eclipse.net4j.util.event"><CODE>event</CODE></A> fired from a <A HREF="./org/eclipse/net4j/signal/ISignalProtocol.html" title="interface in org.eclipse.net4j.signal"><CODE>signal protocol</CODE></A> when
+ a <A HREF="./org/eclipse/net4j/signal/SignalScheduledEvent.html#getSignal()"><CODE>signal</CODE></A> has been scheduled for local execution.<DT><A HREF="./org/eclipse/net4j/tcp/ssl/SSLUtil.html" title="class in org.eclipse.net4j.tcp.ssl"><B>SSLUtil</B></A> - Class in <A HREF="./org/eclipse/net4j/tcp/ssl/package-summary.html">org.eclipse.net4j.tcp.ssl</A><DD>A utility class with various static factory and convenience methods for SSL transport.<DT><A HREF="./org/eclipse/net4j/tcp/ssl/SSLUtil.html#SSLUtil()"><B>SSLUtil()</B></A> -
Constructor for class org.eclipse.net4j.tcp.ssl.<A HREF="./org/eclipse/net4j/tcp/ssl/SSLUtil.html" title="class in org.eclipse.net4j.tcp.ssl">SSLUtil</A>
<DD>&nbsp;
<DT><A HREF="./org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.html#start(long)"><B>start(long)</B></A> -
@@ -1374,7 +1382,8 @@ Method in interface org.eclipse.net4j.buffer.<A HREF="./org/eclipse/net4j/buffer
<DT><A HREF="./org/eclipse/net4j/signal/wrapping/GZIPStreamWrapperInjector.html#STREAM_WRAPPER"><B>STREAM_WRAPPER</B></A> -
Static variable in class org.eclipse.net4j.signal.wrapping.<A HREF="./org/eclipse/net4j/signal/wrapping/GZIPStreamWrapperInjector.html" title="class in org.eclipse.net4j.signal.wrapping">GZIPStreamWrapperInjector</A>
<DD>&nbsp;
-<DT><A HREF="./org/eclipse/net4j/signal/wrapping/StreamWrapperInjector.html" title="class in org.eclipse.net4j.signal.wrapping"><B>StreamWrapperInjector</B></A> - Class in <A HREF="./org/eclipse/net4j/signal/wrapping/package-summary.html">org.eclipse.net4j.signal.wrapping</A><DD>&nbsp;<DT><A HREF="./org/eclipse/net4j/signal/wrapping/StreamWrapperInjector.html#StreamWrapperInjector(java.lang.String, org.eclipse.net4j.util.io.IStreamWrapper)"><B>StreamWrapperInjector(String, IStreamWrapper)</B></A> -
+<DT><A HREF="./org/eclipse/net4j/signal/wrapping/StreamWrapperInjector.html" title="class in org.eclipse.net4j.signal.wrapping"><B>StreamWrapperInjector</B></A> - Class in <A HREF="./org/eclipse/net4j/signal/wrapping/package-summary.html">org.eclipse.net4j.signal.wrapping</A><DD>An <A HREF="../../org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/IElementProcessor.html?is-external=true" title="class or interface in org.eclipse.net4j.util.container"><CODE>element post processor</CODE></A> that injects a <A HREF="./org/eclipse/net4j/signal/wrapping/StreamWrapperInjector.html#getStreamWrapper()"><CODE>stream wrapper</CODE></A>
+ into <A HREF="./org/eclipse/net4j/signal/SignalProtocol.html" title="class in org.eclipse.net4j.signal"><CODE>signal protocol</CODE></A> instances.<DT><A HREF="./org/eclipse/net4j/signal/wrapping/StreamWrapperInjector.html#StreamWrapperInjector(java.lang.String, org.eclipse.net4j.util.io.IStreamWrapper)"><B>StreamWrapperInjector(String, IStreamWrapper)</B></A> -
Constructor for class org.eclipse.net4j.signal.wrapping.<A HREF="./org/eclipse/net4j/signal/wrapping/StreamWrapperInjector.html" title="class in org.eclipse.net4j.signal.wrapping">StreamWrapperInjector</A>
<DD>&nbsp;
</DL>
@@ -1474,7 +1483,7 @@ Method in interface org.eclipse.net4j.buffer.<A HREF="./org/eclipse/net4j/buffer
<A NAME="_X_"><!-- --></A><H2>
<B>X</B></H2>
<DL>
-<DT><A HREF="./org/eclipse/net4j/signal/wrapping/XORStreamWrapperInjector.html" title="class in org.eclipse.net4j.signal.wrapping"><B>XORStreamWrapperInjector</B></A> - Class in <A HREF="./org/eclipse/net4j/signal/wrapping/package-summary.html">org.eclipse.net4j.signal.wrapping</A><DD>&nbsp;<DT><A HREF="./org/eclipse/net4j/signal/wrapping/XORStreamWrapperInjector.html#XORStreamWrapperInjector(java.lang.String, int[])"><B>XORStreamWrapperInjector(String, int[])</B></A> -
+<DT><A HREF="./org/eclipse/net4j/signal/wrapping/XORStreamWrapperInjector.html" title="class in org.eclipse.net4j.signal.wrapping"><B>XORStreamWrapperInjector</B></A> - Class in <A HREF="./org/eclipse/net4j/signal/wrapping/package-summary.html">org.eclipse.net4j.signal.wrapping</A><DD>An <A HREF="./org/eclipse/net4j/signal/wrapping/StreamWrapperInjector.html" title="class in org.eclipse.net4j.signal.wrapping"><CODE>injector</CODE></A> that injects <A HREF="../../org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/io/XORStreamWrapper.html?is-external=true" title="class or interface in org.eclipse.net4j.util.io"><CODE>XORStreamWrapper</CODE></A> instances.<DT><A HREF="./org/eclipse/net4j/signal/wrapping/XORStreamWrapperInjector.html#XORStreamWrapperInjector(java.lang.String, int[])"><B>XORStreamWrapperInjector(String, int[])</B></A> -
Constructor for class org.eclipse.net4j.signal.wrapping.<A HREF="./org/eclipse/net4j/signal/wrapping/XORStreamWrapperInjector.html" title="class in org.eclipse.net4j.signal.wrapping">XORStreamWrapperInjector</A>
<DD>&nbsp;
</DL>
diff --git a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/acceptor/doc-files/acceptors.png b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/acceptor/doc-files/acceptors.png
new file mode 100644
index 0000000000..7a16b6ef01
--- /dev/null
+++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/acceptor/doc-files/acceptors.png
Binary files differ
diff --git a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/acceptor/package-summary.html b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/acceptor/package-summary.html
index c2dd8fd2f6..66cde13df5 100644
--- a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/acceptor/package-summary.html
+++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/acceptor/package-summary.html
@@ -84,6 +84,8 @@ Package org.eclipse.net4j.acceptor
</H2>
<A NAME="package_description"><!-- --></A>
The Net4j transport layer concepts for dealing with acceptors.
+ <p>
+ <img src="doc-files/acceptors.png" title="Diagram Acceptors" border="0"/>
<P>
diff --git a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/buffer/class-use/BufferInputStream.html b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/buffer/class-use/BufferInputStream.html
index c3d6fa4445..1a5331c8b5 100644
--- a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/buffer/class-use/BufferInputStream.html
+++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/buffer/class-use/BufferInputStream.html
@@ -95,8 +95,7 @@ Packages that use <A HREF="../../../../../org/eclipse/net4j/buffer/BufferInputSt
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="#org.eclipse.net4j.signal"><B>org.eclipse.net4j.signal</B></A></TD>
-<TD>A framework for request/response based communication on top of
- the Net4j transport layer.&nbsp;</TD>
+<TD>A framework for request/response based communication on top of the Net4j transport layer.&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
diff --git a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/buffer/class-use/BufferOutputStream.html b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/buffer/class-use/BufferOutputStream.html
index 9f648c453f..ee2d017dbd 100644
--- a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/buffer/class-use/BufferOutputStream.html
+++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/buffer/class-use/BufferOutputStream.html
@@ -95,8 +95,7 @@ Packages that use <A HREF="../../../../../org/eclipse/net4j/buffer/BufferOutputS
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="#org.eclipse.net4j.signal"><B>org.eclipse.net4j.signal</B></A></TD>
-<TD>A framework for request/response based communication on top of
- the Net4j transport layer.&nbsp;</TD>
+<TD>A framework for request/response based communication on top of the Net4j transport layer.&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
diff --git a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/buffer/class-use/IBuffer.html b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/buffer/class-use/IBuffer.html
index b2c9c04de1..d3b2eea5b7 100644
--- a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/buffer/class-use/IBuffer.html
+++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/buffer/class-use/IBuffer.html
@@ -99,8 +99,7 @@ Packages that use <A HREF="../../../../../org/eclipse/net4j/buffer/IBuffer.html"
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="#org.eclipse.net4j.signal"><B>org.eclipse.net4j.signal</B></A></TD>
-<TD>A framework for request/response based communication on top of
- the Net4j transport layer.&nbsp;</TD>
+<TD>A framework for request/response based communication on top of the Net4j transport layer.&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
diff --git a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/buffer/class-use/IBufferHandler.html b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/buffer/class-use/IBufferHandler.html
index 6f7c1a6418..9141d6ba2c 100644
--- a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/buffer/class-use/IBufferHandler.html
+++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/buffer/class-use/IBufferHandler.html
@@ -107,8 +107,7 @@ Packages that use <A HREF="../../../../../org/eclipse/net4j/buffer/IBufferHandle
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="#org.eclipse.net4j.signal"><B>org.eclipse.net4j.signal</B></A></TD>
-<TD>A framework for request/response based communication on top of
- the Net4j transport layer.&nbsp;</TD>
+<TD>A framework for request/response based communication on top of the Net4j transport layer.&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="#org.eclipse.net4j.signal.heartbeat"><B>org.eclipse.net4j.signal.heartbeat</B></A></TD>
@@ -263,7 +262,7 @@ Uses of <A HREF="../../../../../org/eclipse/net4j/buffer/IBufferHandler.html" ti
<TD><CODE><B><A HREF="../../../../../org/eclipse/net4j/jvm/IJVMChannel.html" title="interface in org.eclipse.net4j.jvm">IJVMChannel</A></B></CODE>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A <A HREF="../../../../../org/eclipse/net4j/channel/IChannel.html" title="interface in org.eclipse.net4j.channel"><CODE>channel</CODE></A> of a <A HREF="../../../../../org/eclipse/net4j/jvm/IJVMConnector.html" title="interface in org.eclipse.net4j.jvm"><CODE>JVM connector</CODE></A>.</TD>
</TR>
</TABLE>
&nbsp;
@@ -288,7 +287,7 @@ Uses of <A HREF="../../../../../org/eclipse/net4j/buffer/IBufferHandler.html" ti
<TD><CODE><B><A HREF="../../../../../org/eclipse/net4j/protocol/IProtocol.html" title="interface in org.eclipse.net4j.protocol">IProtocol&lt;INFRA_STRUCTURE&gt;</A></B></CODE>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A <A HREF="../../../../../org/eclipse/net4j/protocol/IProtocol.html#getType()"><CODE>typed</CODE></A> <A HREF="../../../../../org/eclipse/net4j/buffer/IBufferHandler.html" title="interface in org.eclipse.net4j.buffer"><CODE>buffer handler</CODE></A> for a <A HREF="../../../../../org/eclipse/net4j/protocol/IProtocol.html#getChannel()"><CODE>channel</CODE></A>.</TD>
</TR>
</TABLE>
&nbsp;
@@ -313,7 +312,7 @@ Uses of <A HREF="../../../../../org/eclipse/net4j/buffer/IBufferHandler.html" ti
<TD><CODE><B><A HREF="../../../../../org/eclipse/net4j/signal/ISignalProtocol.html" title="interface in org.eclipse.net4j.signal">ISignalProtocol&lt;INFRA_STRUCTURE&gt;</A></B></CODE>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A <A HREF="../../../../../org/eclipse/net4j/protocol/IProtocol.html" title="interface in org.eclipse.net4j.protocol"><CODE>protocol</CODE></A> that consists of a number of stream-based <A HREF="../../../../../org/eclipse/net4j/signal/Signal.html" title="class in org.eclipse.net4j.signal"><CODE>signals</CODE></A>.</TD>
</TR>
</TABLE>
&nbsp;
@@ -329,7 +328,7 @@ Uses of <A HREF="../../../../../org/eclipse/net4j/buffer/IBufferHandler.html" ti
<TD><CODE><B><A HREF="../../../../../org/eclipse/net4j/signal/SignalProtocol.html" title="class in org.eclipse.net4j.signal">SignalProtocol&lt;INFRA_STRUCTURE&gt;</A></B></CODE>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default implementation of a <A HREF="../../../../../org/eclipse/net4j/signal/ISignalProtocol.html" title="interface in org.eclipse.net4j.signal"><CODE>signal protocol</CODE></A>.</TD>
</TR>
</TABLE>
&nbsp;
@@ -354,7 +353,8 @@ Uses of <A HREF="../../../../../org/eclipse/net4j/buffer/IBufferHandler.html" ti
<TD><CODE><B><A HREF="../../../../../org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.html" title="class in org.eclipse.net4j.signal.heartbeat">HeartBeatProtocol</A></B></CODE>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A <A HREF="../../../../../org/eclipse/net4j/signal/SignalProtocol.html" title="class in org.eclipse.net4j.signal"><CODE>signal protocol</CODE></A> that keeps the <A HREF="../../../../../org/eclipse/net4j/connector/IConnector.html" title="interface in org.eclipse.net4j.connector"><CODE>connector</CODE></A> of its <A HREF="../../../../../org/eclipse/net4j/channel/IChannel.html" title="interface in org.eclipse.net4j.channel"><CODE>channel</CODE></A> open
+ or provides early deactivation feedback by exchanging periodic heart beats.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
@@ -362,7 +362,7 @@ Uses of <A HREF="../../../../../org/eclipse/net4j/buffer/IBufferHandler.html" ti
<TD><CODE><B><A HREF="../../../../../org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.Server.html" title="class in org.eclipse.net4j.signal.heartbeat">HeartBeatProtocol.Server</A></B></CODE>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The server-side implementation of a <A HREF="../../../../../org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.html" title="class in org.eclipse.net4j.signal.heartbeat"><CODE>heart beat protocol</CODE></A>.</TD>
</TR>
</TABLE>
&nbsp;
diff --git a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/buffer/doc-files/buffers.png b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/buffer/doc-files/buffers.png
new file mode 100644
index 0000000000..b7f851ae36
--- /dev/null
+++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/buffer/doc-files/buffers.png
Binary files differ
diff --git a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/buffer/package-summary.html b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/buffer/package-summary.html
index 9499d069ec..1d1126f38f 100644
--- a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/buffer/package-summary.html
+++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/buffer/package-summary.html
@@ -84,6 +84,8 @@ Package org.eclipse.net4j.buffer
</H2>
<A NAME="package_description"><!-- --></A>
The Net4j transport layer concepts for dealing with buffers.
+ <p>
+ <img src="doc-files/buffers.png" title="Diagram Buffers" border="0"/>
<P>
diff --git a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/buffer/package-use.html b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/buffer/package-use.html
index 711a14e04d..2f05c590e4 100644
--- a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/buffer/package-use.html
+++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/buffer/package-use.html
@@ -111,8 +111,7 @@ Packages that use <A HREF="../../../../org/eclipse/net4j/buffer/package-summary.
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="#org.eclipse.net4j.signal"><B>org.eclipse.net4j.signal</B></A></TD>
-<TD>A framework for request/response based communication on top of
- the Net4j transport layer.&nbsp;</TD>
+<TD>A framework for request/response based communication on top of the Net4j transport layer.&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="#org.eclipse.net4j.signal.heartbeat"><B>org.eclipse.net4j.signal.heartbeat</B></A></TD>
diff --git a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/channel/class-use/IChannel.html b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/channel/class-use/IChannel.html
index cb08c00170..b8dd71e5b1 100644
--- a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/channel/class-use/IChannel.html
+++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/channel/class-use/IChannel.html
@@ -103,8 +103,7 @@ Packages that use <A HREF="../../../../../org/eclipse/net4j/channel/IChannel.htm
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="#org.eclipse.net4j.signal"><B>org.eclipse.net4j.signal</B></A></TD>
-<TD>A framework for request/response based communication on top of
- the Net4j transport layer.&nbsp;</TD>
+<TD>A framework for request/response based communication on top of the Net4j transport layer.&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
@@ -229,7 +228,7 @@ Uses of <A HREF="../../../../../org/eclipse/net4j/channel/IChannel.html" title="
<TD><CODE><B><A HREF="../../../../../org/eclipse/net4j/jvm/IJVMChannel.html" title="interface in org.eclipse.net4j.jvm">IJVMChannel</A></B></CODE>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A <A HREF="../../../../../org/eclipse/net4j/channel/IChannel.html" title="interface in org.eclipse.net4j.channel"><CODE>channel</CODE></A> of a <A HREF="../../../../../org/eclipse/net4j/jvm/IJVMConnector.html" title="interface in org.eclipse.net4j.jvm"><CODE>JVM connector</CODE></A>.</TD>
</TR>
</TABLE>
&nbsp;
diff --git a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/channel/doc-files/channels.png b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/channel/doc-files/channels.png
new file mode 100644
index 0000000000..d45c55116f
--- /dev/null
+++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/channel/doc-files/channels.png
Binary files differ
diff --git a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/channel/package-summary.html b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/channel/package-summary.html
index 81e0a29a5f..e8e752562e 100644
--- a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/channel/package-summary.html
+++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/channel/package-summary.html
@@ -84,6 +84,8 @@ Package org.eclipse.net4j.channel
</H2>
<A NAME="package_description"><!-- --></A>
The Net4j transport layer concepts for dealing with channels.
+ <p>
+ <img src="doc-files/channels.png" title="Diagram Channels" border="0"/>
<P>
diff --git a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/channel/package-use.html b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/channel/package-use.html
index d0966dafc0..a06485257c 100644
--- a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/channel/package-use.html
+++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/channel/package-use.html
@@ -111,8 +111,7 @@ Packages that use <A HREF="../../../../org/eclipse/net4j/channel/package-summary
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="#org.eclipse.net4j.signal"><B>org.eclipse.net4j.signal</B></A></TD>
-<TD>A framework for request/response based communication on top of
- the Net4j transport layer.&nbsp;</TD>
+<TD>A framework for request/response based communication on top of the Net4j transport layer.&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="#org.eclipse.net4j.tcp"><B>org.eclipse.net4j.tcp</B></A></TD>
diff --git a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/class-use/ILocationAware.html b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/class-use/ILocationAware.html
index 2c9da8b99e..3786fb2173 100644
--- a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/class-use/ILocationAware.html
+++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/class-use/ILocationAware.html
@@ -111,8 +111,7 @@ Packages that use <A HREF="../../../../org/eclipse/net4j/ILocationAware.html" ti
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="#org.eclipse.net4j.signal"><B>org.eclipse.net4j.signal</B></A></TD>
-<TD>A framework for request/response based communication on top of
- the Net4j transport layer.&nbsp;</TD>
+<TD>A framework for request/response based communication on top of the Net4j transport layer.&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="#org.eclipse.net4j.signal.heartbeat"><B>org.eclipse.net4j.signal.heartbeat</B></A></TD>
@@ -232,7 +231,7 @@ Uses of <A HREF="../../../../org/eclipse/net4j/ILocationAware.html" title="inter
<TD><CODE><B><A HREF="../../../../org/eclipse/net4j/jvm/IJVMChannel.html" title="interface in org.eclipse.net4j.jvm">IJVMChannel</A></B></CODE>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A <A HREF="../../../../org/eclipse/net4j/channel/IChannel.html" title="interface in org.eclipse.net4j.channel"><CODE>channel</CODE></A> of a <A HREF="../../../../org/eclipse/net4j/jvm/IJVMConnector.html" title="interface in org.eclipse.net4j.jvm"><CODE>JVM connector</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
@@ -265,7 +264,7 @@ Uses of <A HREF="../../../../org/eclipse/net4j/ILocationAware.html" title="inter
<TD><CODE><B><A HREF="../../../../org/eclipse/net4j/protocol/IProtocol.html" title="interface in org.eclipse.net4j.protocol">IProtocol&lt;INFRA_STRUCTURE&gt;</A></B></CODE>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A <A HREF="../../../../org/eclipse/net4j/protocol/IProtocol.html#getType()"><CODE>typed</CODE></A> <A HREF="../../../../org/eclipse/net4j/buffer/IBufferHandler.html" title="interface in org.eclipse.net4j.buffer"><CODE>buffer handler</CODE></A> for a <A HREF="../../../../org/eclipse/net4j/protocol/IProtocol.html#getChannel()"><CODE>channel</CODE></A>.</TD>
</TR>
</TABLE>
&nbsp;
@@ -290,7 +289,7 @@ Uses of <A HREF="../../../../org/eclipse/net4j/ILocationAware.html" title="inter
<TD><CODE><B><A HREF="../../../../org/eclipse/net4j/signal/ISignalProtocol.html" title="interface in org.eclipse.net4j.signal">ISignalProtocol&lt;INFRA_STRUCTURE&gt;</A></B></CODE>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A <A HREF="../../../../org/eclipse/net4j/protocol/IProtocol.html" title="interface in org.eclipse.net4j.protocol"><CODE>protocol</CODE></A> that consists of a number of stream-based <A HREF="../../../../org/eclipse/net4j/signal/Signal.html" title="class in org.eclipse.net4j.signal"><CODE>signals</CODE></A>.</TD>
</TR>
</TABLE>
&nbsp;
@@ -306,7 +305,7 @@ Uses of <A HREF="../../../../org/eclipse/net4j/ILocationAware.html" title="inter
<TD><CODE><B><A HREF="../../../../org/eclipse/net4j/signal/SignalProtocol.html" title="class in org.eclipse.net4j.signal">SignalProtocol&lt;INFRA_STRUCTURE&gt;</A></B></CODE>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default implementation of a <A HREF="../../../../org/eclipse/net4j/signal/ISignalProtocol.html" title="interface in org.eclipse.net4j.signal"><CODE>signal protocol</CODE></A>.</TD>
</TR>
</TABLE>
&nbsp;
@@ -331,7 +330,8 @@ Uses of <A HREF="../../../../org/eclipse/net4j/ILocationAware.html" title="inter
<TD><CODE><B><A HREF="../../../../org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.html" title="class in org.eclipse.net4j.signal.heartbeat">HeartBeatProtocol</A></B></CODE>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A <A HREF="../../../../org/eclipse/net4j/signal/SignalProtocol.html" title="class in org.eclipse.net4j.signal"><CODE>signal protocol</CODE></A> that keeps the <A HREF="../../../../org/eclipse/net4j/connector/IConnector.html" title="interface in org.eclipse.net4j.connector"><CODE>connector</CODE></A> of its <A HREF="../../../../org/eclipse/net4j/channel/IChannel.html" title="interface in org.eclipse.net4j.channel"><CODE>channel</CODE></A> open
+ or provides early deactivation feedback by exchanging periodic heart beats.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
@@ -339,7 +339,7 @@ Uses of <A HREF="../../../../org/eclipse/net4j/ILocationAware.html" title="inter
<TD><CODE><B><A HREF="../../../../org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.Server.html" title="class in org.eclipse.net4j.signal.heartbeat">HeartBeatProtocol.Server</A></B></CODE>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The server-side implementation of a <A HREF="../../../../org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.html" title="class in org.eclipse.net4j.signal.heartbeat"><CODE>heart beat protocol</CODE></A>.</TD>
</TR>
</TABLE>
&nbsp;
diff --git a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/connector/class-use/IConnector.html b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/connector/class-use/IConnector.html
index 679cc18771..5d6280a1a6 100644
--- a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/connector/class-use/IConnector.html
+++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/connector/class-use/IConnector.html
@@ -111,8 +111,7 @@ Packages that use <A HREF="../../../../../org/eclipse/net4j/connector/IConnector
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="#org.eclipse.net4j.signal"><B>org.eclipse.net4j.signal</B></A></TD>
-<TD>A framework for request/response based communication on top of
- the Net4j transport layer.&nbsp;</TD>
+<TD>A framework for request/response based communication on top of the Net4j transport layer.&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="#org.eclipse.net4j.signal.heartbeat"><B>org.eclipse.net4j.signal.heartbeat</B></A></TD>
diff --git a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/connector/doc-files/connectors.png b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/connector/doc-files/connectors.png
new file mode 100644
index 0000000000..741ec4598e
--- /dev/null
+++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/connector/doc-files/connectors.png
Binary files differ
diff --git a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/connector/package-summary.html b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/connector/package-summary.html
index 0f3ad750e1..92486410f4 100644
--- a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/connector/package-summary.html
+++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/connector/package-summary.html
@@ -84,6 +84,8 @@ Package org.eclipse.net4j.connector
</H2>
<A NAME="package_description"><!-- --></A>
The Net4j transport layer concepts for dealing with connectors.
+ <p>
+ <img src="doc-files/connectors.png" title="Diagram Connectors" border="0"/>
<P>
diff --git a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/connector/package-use.html b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/connector/package-use.html
index 0a9432de89..9772731e07 100644
--- a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/connector/package-use.html
+++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/connector/package-use.html
@@ -111,8 +111,7 @@ Packages that use <A HREF="../../../../org/eclipse/net4j/connector/package-summa
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="#org.eclipse.net4j.signal"><B>org.eclipse.net4j.signal</B></A></TD>
-<TD>A framework for request/response based communication on top of
- the Net4j transport layer.&nbsp;</TD>
+<TD>A framework for request/response based communication on top of the Net4j transport layer.&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="#org.eclipse.net4j.signal.heartbeat"><B>org.eclipse.net4j.signal.heartbeat</B></A></TD>
diff --git a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/doc-files/architecture.png b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/doc-files/architecture.png
new file mode 100644
index 0000000000..93eb57f313
--- /dev/null
+++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/doc-files/architecture.png
Binary files differ
diff --git a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/jvm/IJVMChannel.html b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/jvm/IJVMChannel.html
index 15565599e9..fe976072b1 100644
--- a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/jvm/IJVMChannel.html
+++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/jvm/IJVMChannel.html
@@ -110,6 +110,10 @@ Interface IJVMChannel</H2>
<P>
+A <A HREF="../../../../org/eclipse/net4j/channel/IChannel.html" title="interface in org.eclipse.net4j.channel"><CODE>channel</CODE></A> of a <A HREF="../../../../org/eclipse/net4j/jvm/IJVMConnector.html" title="interface in org.eclipse.net4j.jvm"><CODE>JVM connector</CODE></A>.
+<P>
+
+<P>
<DL>
<DT><B>Since:</B></DT>
<DD>4.1</DD>
diff --git a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/jvm/package-summary.html b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/jvm/package-summary.html
index be198290fc..296ef78788 100644
--- a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/jvm/package-summary.html
+++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/jvm/package-summary.html
@@ -115,7 +115,7 @@ Transport layer extension with support for JVM embedded connections.
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../org/eclipse/net4j/jvm/IJVMChannel.html" title="interface in org.eclipse.net4j.jvm">IJVMChannel</A></B></TD>
-<TD>&nbsp;</TD>
+<TD>A <A HREF="../../../../org/eclipse/net4j/channel/IChannel.html" title="interface in org.eclipse.net4j.channel"><CODE>channel</CODE></A> of a <A HREF="../../../../org/eclipse/net4j/jvm/IJVMConnector.html" title="interface in org.eclipse.net4j.jvm"><CODE>JVM connector</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../org/eclipse/net4j/jvm/IJVMConnector.html" title="interface in org.eclipse.net4j.jvm">IJVMConnector</A></B></TD>
diff --git a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/jvm/package-use.html b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/jvm/package-use.html
index b0a4299bfb..07fc09b1dd 100644
--- a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/jvm/package-use.html
+++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/jvm/package-use.html
@@ -118,7 +118,7 @@ Classes in <A HREF="../../../../org/eclipse/net4j/jvm/package-summary.html">org.
<TD><B><A HREF="../../../../org/eclipse/net4j/jvm/class-use/IJVMChannel.html#org.eclipse.net4j.jvm"><B>IJVMChannel</B></A></B>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A <A HREF="../../../../org/eclipse/net4j/channel/IChannel.html" title="interface in org.eclipse.net4j.channel"><CODE>channel</CODE></A> of a <A HREF="../../../../org/eclipse/net4j/jvm/IJVMConnector.html" title="interface in org.eclipse.net4j.jvm"><CODE>JVM connector</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><B><A HREF="../../../../org/eclipse/net4j/jvm/class-use/IJVMConnector.html#org.eclipse.net4j.jvm"><B>IJVMConnector</B></A></B>
diff --git a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/package-summary.html b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/package-summary.html
index e2401a1e89..275994d1a0 100644
--- a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/package-summary.html
+++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/package-summary.html
@@ -83,28 +83,18 @@ function windowTitle()
Package org.eclipse.net4j
</H2>
<A NAME="package_description"><!-- --></A>
-The Net4j transport layer.
+The Net4j transport layer.
+ <p>
+ <img src="doc-files/architecture.png" title="Diagram Architecture" border="0"/>
+ <p>
The five main interfaces of the transport layer are:
<ul>
- <li><A HREF="../../../org/eclipse/net4j/buffer/IBuffer.html" title="interface in org.eclipse.net4j.buffer"><CODE>IBuffer</CODE></A></li>
+ <li><A HREF="../../../org/eclipse/net4j/buffer/IBuffer.html" title="interface in org.eclipse.net4j.buffer"><CODE>IBuffer</CODE></A></li>
<li><A HREF="../../../org/eclipse/net4j/channel/IChannel.html" title="interface in org.eclipse.net4j.channel"><CODE>IChannel</CODE></A></li>
<li><A HREF="../../../org/eclipse/net4j/acceptor/IAcceptor.html" title="interface in org.eclipse.net4j.acceptor"><CODE>IAcceptor</CODE></A></li>
- <li><A HREF="../../../org/eclipse/net4j/connector/IConnector.html" title="interface in org.eclipse.net4j.connector"><CODE>IConnector</CODE></A></li>
+ <li><A HREF="../../../org/eclipse/net4j/connector/IConnector.html" title="interface in org.eclipse.net4j.connector"><CODE>IConnector</CODE></A></li>
<li><A HREF="../../../org/eclipse/net4j/protocol/IProtocol.html" title="interface in org.eclipse.net4j.protocol"><CODE>IProtocol</CODE></A></li>
</ul>
- <p>
-
- <dt><b>Sequence Diagram: Communication Process</b></dt>
- <dd> <img src="doc-files/CommunicationProcess.jpg" title="Communication Process" border="0"
- usemap="#CommunicationProcess.jpg"/></dd>
- <p>
- <MAP NAME="CommunicationProcess.jpg">
- <AREA SHAPE="RECT" COORDS="128,94,247,123" HREF="IConnector.html">
- <AREA SHAPE="RECT" COORDS="648,95,767,123" HREF="IConnector.html">
- <AREA SHAPE="RECT" COORDS="509,254,608,283" HREF="IChannel.html">
- <AREA SHAPE="RECT" COORDS="287,355,387,383" HREF="IChannel.html">
- <AREA SHAPE="RECT" COORDS="818,195,897,222" HREF="IProtocol.html">
- </MAP>
<P>
diff --git a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/package-use.html b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/package-use.html
index b646eae570..a18429e8a1 100644
--- a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/package-use.html
+++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/package-use.html
@@ -115,8 +115,7 @@ Packages that use <A HREF="../../../org/eclipse/net4j/package-summary.html">org.
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="#org.eclipse.net4j.signal"><B>org.eclipse.net4j.signal</B></A></TD>
-<TD>A framework for request/response based communication on top of
- the Net4j transport layer.&nbsp;</TD>
+<TD>A framework for request/response based communication on top of the Net4j transport layer.&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="#org.eclipse.net4j.signal.heartbeat"><B>org.eclipse.net4j.signal.heartbeat</B></A></TD>
diff --git a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/protocol/IProtocol.html b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/protocol/IProtocol.html
index 16729994db..494435d1fa 100644
--- a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/protocol/IProtocol.html
+++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/protocol/IProtocol.html
@@ -119,6 +119,10 @@ Interface IProtocol&lt;INFRA_STRUCTURE&gt;</H2>
<P>
+A <A HREF="../../../../org/eclipse/net4j/protocol/IProtocol.html#getType()"><CODE>typed</CODE></A> <A HREF="../../../../org/eclipse/net4j/buffer/IBufferHandler.html" title="interface in org.eclipse.net4j.buffer"><CODE>buffer handler</CODE></A> for a <A HREF="../../../../org/eclipse/net4j/protocol/IProtocol.html#getChannel()"><CODE>channel</CODE></A>.
+<P>
+
+<P>
<HR>
<P>
diff --git a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/protocol/IProtocolProvider.html b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/protocol/IProtocolProvider.html
index 0e3f619d06..81c2dda4e5 100644
--- a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/protocol/IProtocolProvider.html
+++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/protocol/IProtocolProvider.html
@@ -110,6 +110,10 @@ Interface IProtocolProvider</H2>
<P>
+Provides <A HREF="../../../../org/eclipse/net4j/protocol/IProtocol.html" title="interface in org.eclipse.net4j.protocol"><CODE>protocol</CODE></A> instances for given types.
+<P>
+
+<P>
<HR>
<P>
diff --git a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/protocol/class-use/IProtocol.html b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/protocol/class-use/IProtocol.html
index 7a6dccb4b4..7af9f6d2c4 100644
--- a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/protocol/class-use/IProtocol.html
+++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/protocol/class-use/IProtocol.html
@@ -103,8 +103,7 @@ Packages that use <A HREF="../../../../../org/eclipse/net4j/protocol/IProtocol.h
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="#org.eclipse.net4j.signal"><B>org.eclipse.net4j.signal</B></A></TD>
-<TD>A framework for request/response based communication on top of
- the Net4j transport layer.&nbsp;</TD>
+<TD>A framework for request/response based communication on top of the Net4j transport layer.&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="#org.eclipse.net4j.signal.heartbeat"><B>org.eclipse.net4j.signal.heartbeat</B></A></TD>
@@ -220,7 +219,7 @@ Uses of <A HREF="../../../../../org/eclipse/net4j/protocol/IProtocol.html" title
<TD><CODE><B><A HREF="../../../../../org/eclipse/net4j/signal/ISignalProtocol.html" title="interface in org.eclipse.net4j.signal">ISignalProtocol&lt;INFRA_STRUCTURE&gt;</A></B></CODE>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A <A HREF="../../../../../org/eclipse/net4j/protocol/IProtocol.html" title="interface in org.eclipse.net4j.protocol"><CODE>protocol</CODE></A> that consists of a number of stream-based <A HREF="../../../../../org/eclipse/net4j/signal/Signal.html" title="class in org.eclipse.net4j.signal"><CODE>signals</CODE></A>.</TD>
</TR>
</TABLE>
&nbsp;
@@ -236,7 +235,7 @@ Uses of <A HREF="../../../../../org/eclipse/net4j/protocol/IProtocol.html" title
<TD><CODE><B><A HREF="../../../../../org/eclipse/net4j/signal/SignalProtocol.html" title="class in org.eclipse.net4j.signal">SignalProtocol&lt;INFRA_STRUCTURE&gt;</A></B></CODE>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default implementation of a <A HREF="../../../../../org/eclipse/net4j/signal/ISignalProtocol.html" title="interface in org.eclipse.net4j.signal"><CODE>signal protocol</CODE></A>.</TD>
</TR>
</TABLE>
&nbsp;
@@ -261,7 +260,8 @@ Uses of <A HREF="../../../../../org/eclipse/net4j/protocol/IProtocol.html" title
<TD><CODE><B><A HREF="../../../../../org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.html" title="class in org.eclipse.net4j.signal.heartbeat">HeartBeatProtocol</A></B></CODE>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A <A HREF="../../../../../org/eclipse/net4j/signal/SignalProtocol.html" title="class in org.eclipse.net4j.signal"><CODE>signal protocol</CODE></A> that keeps the <A HREF="../../../../../org/eclipse/net4j/connector/IConnector.html" title="interface in org.eclipse.net4j.connector"><CODE>connector</CODE></A> of its <A HREF="../../../../../org/eclipse/net4j/channel/IChannel.html" title="interface in org.eclipse.net4j.channel"><CODE>channel</CODE></A> open
+ or provides early deactivation feedback by exchanging periodic heart beats.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
@@ -269,7 +269,7 @@ Uses of <A HREF="../../../../../org/eclipse/net4j/protocol/IProtocol.html" title
<TD><CODE><B><A HREF="../../../../../org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.Server.html" title="class in org.eclipse.net4j.signal.heartbeat">HeartBeatProtocol.Server</A></B></CODE>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The server-side implementation of a <A HREF="../../../../../org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.html" title="class in org.eclipse.net4j.signal.heartbeat"><CODE>heart beat protocol</CODE></A>.</TD>
</TR>
</TABLE>
&nbsp;
diff --git a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/protocol/doc-files/protocols.png b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/protocol/doc-files/protocols.png
new file mode 100644
index 0000000000..968099381c
--- /dev/null
+++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/protocol/doc-files/protocols.png
Binary files differ
diff --git a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/protocol/package-summary.html b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/protocol/package-summary.html
index 4310603924..7def6d8fc7 100644
--- a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/protocol/package-summary.html
+++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/protocol/package-summary.html
@@ -84,6 +84,8 @@ Package org.eclipse.net4j.protocol
</H2>
<A NAME="package_description"><!-- --></A>
The Net4j transport layer concepts for dealing with protocols.
+ <p>
+ <img src="doc-files/protocols.png" title="Diagram Protocols" border="0"/>
<P>
@@ -104,11 +106,11 @@ The Net4j transport layer concepts for dealing with protocols.
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../org/eclipse/net4j/protocol/IProtocol.html" title="interface in org.eclipse.net4j.protocol">IProtocol&lt;INFRA_STRUCTURE&gt;</A></B></TD>
-<TD>&nbsp;</TD>
+<TD>A <A HREF="../../../../org/eclipse/net4j/protocol/IProtocol.html#getType()"><CODE>typed</CODE></A> <A HREF="../../../../org/eclipse/net4j/buffer/IBufferHandler.html" title="interface in org.eclipse.net4j.buffer"><CODE>buffer handler</CODE></A> for a <A HREF="../../../../org/eclipse/net4j/protocol/IProtocol.html#getChannel()"><CODE>channel</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../org/eclipse/net4j/protocol/IProtocolProvider.html" title="interface in org.eclipse.net4j.protocol">IProtocolProvider</A></B></TD>
-<TD>&nbsp;</TD>
+<TD>Provides <A HREF="../../../../org/eclipse/net4j/protocol/IProtocol.html" title="interface in org.eclipse.net4j.protocol"><CODE>protocol</CODE></A> instances for given types.</TD>
</TR>
</TABLE>
&nbsp;
diff --git a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/protocol/package-use.html b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/protocol/package-use.html
index e441598c4f..5b20698d3d 100644
--- a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/protocol/package-use.html
+++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/protocol/package-use.html
@@ -103,8 +103,7 @@ Packages that use <A HREF="../../../../org/eclipse/net4j/protocol/package-summar
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="#org.eclipse.net4j.signal"><B>org.eclipse.net4j.signal</B></A></TD>
-<TD>A framework for request/response based communication on top of
- the Net4j transport layer.&nbsp;</TD>
+<TD>A framework for request/response based communication on top of the Net4j transport layer.&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="#org.eclipse.net4j.signal.heartbeat"><B>org.eclipse.net4j.signal.heartbeat</B></A></TD>
@@ -127,13 +126,13 @@ Classes in <A HREF="../../../../org/eclipse/net4j/protocol/package-summary.html"
<TD><B><A HREF="../../../../org/eclipse/net4j/protocol/class-use/IProtocol.html#org.eclipse.net4j"><B>IProtocol</B></A></B>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A <A HREF="../../../../org/eclipse/net4j/protocol/IProtocol.html#getType()"><CODE>typed</CODE></A> <A HREF="../../../../org/eclipse/net4j/buffer/IBufferHandler.html" title="interface in org.eclipse.net4j.buffer"><CODE>buffer handler</CODE></A> for a <A HREF="../../../../org/eclipse/net4j/protocol/IProtocol.html#getChannel()"><CODE>channel</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><B><A HREF="../../../../org/eclipse/net4j/protocol/class-use/IProtocolProvider.html#org.eclipse.net4j"><B>IProtocolProvider</B></A></B>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Provides <A HREF="../../../../org/eclipse/net4j/protocol/IProtocol.html" title="interface in org.eclipse.net4j.protocol"><CODE>protocol</CODE></A> instances for given types.</TD>
</TR>
</TABLE>
&nbsp;
@@ -148,7 +147,7 @@ Classes in <A HREF="../../../../org/eclipse/net4j/protocol/package-summary.html"
<TD><B><A HREF="../../../../org/eclipse/net4j/protocol/class-use/IProtocol.html#org.eclipse.net4j.channel"><B>IProtocol</B></A></B>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A <A HREF="../../../../org/eclipse/net4j/protocol/IProtocol.html#getType()"><CODE>typed</CODE></A> <A HREF="../../../../org/eclipse/net4j/buffer/IBufferHandler.html" title="interface in org.eclipse.net4j.buffer"><CODE>buffer handler</CODE></A> for a <A HREF="../../../../org/eclipse/net4j/protocol/IProtocol.html#getChannel()"><CODE>channel</CODE></A>.</TD>
</TR>
</TABLE>
&nbsp;
@@ -163,7 +162,7 @@ Classes in <A HREF="../../../../org/eclipse/net4j/protocol/package-summary.html"
<TD><B><A HREF="../../../../org/eclipse/net4j/protocol/class-use/IProtocol.html#org.eclipse.net4j.protocol"><B>IProtocol</B></A></B>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A <A HREF="../../../../org/eclipse/net4j/protocol/IProtocol.html#getType()"><CODE>typed</CODE></A> <A HREF="../../../../org/eclipse/net4j/buffer/IBufferHandler.html" title="interface in org.eclipse.net4j.buffer"><CODE>buffer handler</CODE></A> for a <A HREF="../../../../org/eclipse/net4j/protocol/IProtocol.html#getChannel()"><CODE>channel</CODE></A>.</TD>
</TR>
</TABLE>
&nbsp;
@@ -178,7 +177,7 @@ Classes in <A HREF="../../../../org/eclipse/net4j/protocol/package-summary.html"
<TD><B><A HREF="../../../../org/eclipse/net4j/protocol/class-use/IProtocol.html#org.eclipse.net4j.signal"><B>IProtocol</B></A></B>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A <A HREF="../../../../org/eclipse/net4j/protocol/IProtocol.html#getType()"><CODE>typed</CODE></A> <A HREF="../../../../org/eclipse/net4j/buffer/IBufferHandler.html" title="interface in org.eclipse.net4j.buffer"><CODE>buffer handler</CODE></A> for a <A HREF="../../../../org/eclipse/net4j/protocol/IProtocol.html#getChannel()"><CODE>channel</CODE></A>.</TD>
</TR>
</TABLE>
&nbsp;
@@ -193,7 +192,7 @@ Classes in <A HREF="../../../../org/eclipse/net4j/protocol/package-summary.html"
<TD><B><A HREF="../../../../org/eclipse/net4j/protocol/class-use/IProtocol.html#org.eclipse.net4j.signal.heartbeat"><B>IProtocol</B></A></B>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A <A HREF="../../../../org/eclipse/net4j/protocol/IProtocol.html#getType()"><CODE>typed</CODE></A> <A HREF="../../../../org/eclipse/net4j/buffer/IBufferHandler.html" title="interface in org.eclipse.net4j.buffer"><CODE>buffer handler</CODE></A> for a <A HREF="../../../../org/eclipse/net4j/protocol/IProtocol.html#getChannel()"><CODE>channel</CODE></A>.</TD>
</TR>
</TABLE>
&nbsp;
@@ -208,7 +207,7 @@ Classes in <A HREF="../../../../org/eclipse/net4j/protocol/package-summary.html"
<TD><B><A HREF="../../../../org/eclipse/net4j/protocol/class-use/IProtocol.html#org.eclipse.spi.net4j"><B>IProtocol</B></A></B>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A <A HREF="../../../../org/eclipse/net4j/protocol/IProtocol.html#getType()"><CODE>typed</CODE></A> <A HREF="../../../../org/eclipse/net4j/buffer/IBufferHandler.html" title="interface in org.eclipse.net4j.buffer"><CODE>buffer handler</CODE></A> for a <A HREF="../../../../org/eclipse/net4j/protocol/IProtocol.html#getChannel()"><CODE>channel</CODE></A>.</TD>
</TR>
</TABLE>
&nbsp;
diff --git a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/ISignalProtocol.html b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/ISignalProtocol.html
index aba4869db1..d3c31aadd4 100644
--- a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/ISignalProtocol.html
+++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/ISignalProtocol.html
@@ -115,6 +115,10 @@ Interface ISignalProtocol&lt;INFRA_STRUCTURE&gt;</H2>
<P>
+A <A HREF="../../../../org/eclipse/net4j/protocol/IProtocol.html" title="interface in org.eclipse.net4j.protocol"><CODE>protocol</CODE></A> that consists of a number of stream-based <A HREF="../../../../org/eclipse/net4j/signal/Signal.html" title="class in org.eclipse.net4j.signal"><CODE>signals</CODE></A>.
+<P>
+
+<P>
<DL>
<DT><B>Since:</B></DT>
<DD>2.0</DD>
diff --git a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/Indication.html b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/Indication.html
index 3cfe11eac1..480d7744e7 100644
--- a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/Indication.html
+++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/Indication.html
@@ -116,6 +116,10 @@ Class Indication</H2>
<P>
+Represents the receiver side of a one-way <A HREF="../../../../org/eclipse/net4j/signal/Signal.html" title="class in org.eclipse.net4j.signal"><CODE>signal</CODE></A>, i.e., one with no response.
+<P>
+
+<P>
<HR>
<P>
diff --git a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/IndicationWithMonitoring.html b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/IndicationWithMonitoring.html
index 540f88871c..6700a9eeed 100644
--- a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/IndicationWithMonitoring.html
+++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/IndicationWithMonitoring.html
@@ -117,6 +117,10 @@ Class IndicationWithMonitoring</H2>
<P>
+Represents the receiver side of a two-way <A HREF="../../../../org/eclipse/net4j/signal/IndicationWithResponse.html" title="class in org.eclipse.net4j.signal"><CODE>signal</CODE></A> with additional support for remote progress monitoring.
+<P>
+
+<P>
<DL>
<DT><B>Since:</B></DT>
<DD>2.0</DD>
diff --git a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/IndicationWithResponse.html b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/IndicationWithResponse.html
index e602027130..d4e86cf645 100644
--- a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/IndicationWithResponse.html
+++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/IndicationWithResponse.html
@@ -120,6 +120,10 @@ Class IndicationWithResponse</H2>
<P>
+Represents the receiver side of a two-way <A HREF="../../../../org/eclipse/net4j/signal/SignalReactor.html" title="class in org.eclipse.net4j.signal"><CODE>signal</CODE></A>, i.e., one with a response.
+<P>
+
+<P>
<HR>
<P>
diff --git a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/RemoteException.html b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/RemoteException.html
index fa74d00e6a..8f7a306354 100644
--- a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/RemoteException.html
+++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/RemoteException.html
@@ -117,6 +117,10 @@ Class RemoteException</H2>
<P>
+An exception that wraps an exception that has been thrown during the execution of a remote <A HREF="../../../../org/eclipse/net4j/signal/SignalReactor.html" title="class in org.eclipse.net4j.signal"><CODE>signal</CODE></A>.
+<P>
+
+<P>
<DL>
<DT><B>Since:</B></DT>
<DD>2.0</DD>
diff --git a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/Request.html b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/Request.html
index de5bfa743c..0f0f6f6b46 100644
--- a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/Request.html
+++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/Request.html
@@ -116,6 +116,10 @@ Class Request</H2>
<P>
+Represents the sender side of a one-way <A HREF="../../../../org/eclipse/net4j/signal/Signal.html" title="class in org.eclipse.net4j.signal"><CODE>signal</CODE></A>, i.e., one with no response.
+<P>
+
+<P>
<HR>
<P>
diff --git a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/RequestWithConfirmation.html b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/RequestWithConfirmation.html
index 4b444995b2..b4c9f7c0a9 100644
--- a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/RequestWithConfirmation.html
+++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/RequestWithConfirmation.html
@@ -120,6 +120,10 @@ Class RequestWithConfirmation&lt;RESULT&gt;</H2>
<P>
+Represents the sender side of a two-way <A HREF="../../../../org/eclipse/net4j/signal/SignalActor.html" title="class in org.eclipse.net4j.signal"><CODE>signal</CODE></A>, i.e., one with a response.
+<P>
+
+<P>
<HR>
<P>
diff --git a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/RequestWithMonitoring.html b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/RequestWithMonitoring.html
index d5db86c9da..6c925b498f 100644
--- a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/RequestWithMonitoring.html
+++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/RequestWithMonitoring.html
@@ -117,6 +117,10 @@ Class RequestWithMonitoring&lt;RESULT&gt;</H2>
<P>
+Represents the sender side of a two-way <A HREF="../../../../org/eclipse/net4j/signal/IndicationWithResponse.html" title="class in org.eclipse.net4j.signal"><CODE>signal</CODE></A> with additional support for remote progress monitoring.
+<P>
+
+<P>
<DL>
<DT><B>Since:</B></DT>
<DD>2.0</DD>
diff --git a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/Signal.html b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/Signal.html
index f097aa3121..5a8570e981 100644
--- a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/Signal.html
+++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/Signal.html
@@ -120,6 +120,10 @@ Class Signal</H2>
<P>
+Represents a single communications use-case in the scope of a <A HREF="../../../../org/eclipse/net4j/signal/ISignalProtocol.html" title="interface in org.eclipse.net4j.signal"><CODE>signal protocol</CODE></A>.
+<P>
+
+<P>
<HR>
<P>
diff --git a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/SignalActor.html b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/SignalActor.html
index e51923bf29..50582bb78f 100644
--- a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/SignalActor.html
+++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/SignalActor.html
@@ -120,6 +120,10 @@ Class SignalActor</H2>
<P>
+Represents the sender side of a <A HREF="../../../../org/eclipse/net4j/signal/Signal.html" title="class in org.eclipse.net4j.signal"><CODE>signal</CODE></A>.
+<P>
+
+<P>
<HR>
<P>
diff --git a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/SignalCounter.html b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/SignalCounter.html
index a24404b474..18ea187a4b 100644
--- a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/SignalCounter.html
+++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/SignalCounter.html
@@ -115,6 +115,11 @@ Class SignalCounter</H2>
<P>
+Provides <A HREF="../../../../org/eclipse/net4j/signal/Signal.html" title="class in org.eclipse.net4j.signal"><CODE>signal</CODE></A> execution counts when
+ <A HREF="../../../../../../org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/event/Notifier.html?is-external=true#addListener(org.eclipse.net4j.util.event.IListener)" title="class or interface in org.eclipse.net4j.util.event"><CODE>attached</CODE></A> to a <A HREF="../../../../org/eclipse/net4j/signal/ISignalProtocol.html" title="interface in org.eclipse.net4j.signal"><CODE>signal protocol</CODE></A>.
+<P>
+
+<P>
<DL>
<DT><B>Since:</B></DT>
<DD>3.0</DD>
@@ -137,6 +142,12 @@ Class SignalCounter</H2>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/eclipse/net4j/signal/SignalCounter.html#SignalCounter(org.eclipse.net4j.signal.ISignalProtocol)">SignalCounter</A></B>(<A HREF="../../../../org/eclipse/net4j/signal/ISignalProtocol.html" title="interface in org.eclipse.net4j.signal">ISignalProtocol</A>&lt;?&gt;&nbsp;protocol)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
@@ -200,6 +211,18 @@ SignalCounter</H3>
public <B>SignalCounter</B>()</PRE>
<DL>
</DL>
+<HR>
+
+<A NAME="SignalCounter(org.eclipse.net4j.signal.ISignalProtocol)"><!-- --></A><H3>
+SignalCounter</H3>
+<PRE>
+public <B>SignalCounter</B>(<A HREF="../../../../org/eclipse/net4j/signal/ISignalProtocol.html" title="interface in org.eclipse.net4j.signal">ISignalProtocol</A>&lt;?&gt;&nbsp;protocol)</PRE>
+<DL>
+<DL>
+<DT><B>Since:</B></DT>
+ <DD>4.1</DD>
+</DL>
+</DL>
<!-- ============ METHOD DETAIL ========== -->
diff --git a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/SignalFinishedEvent.html b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/SignalFinishedEvent.html
index abe4341d9e..e7eba8ebab 100644
--- a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/SignalFinishedEvent.html
+++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/SignalFinishedEvent.html
@@ -116,6 +116,11 @@ Class SignalFinishedEvent&lt;INFRA_STRUCTURE&gt;</H2>
<P>
+An <A HREF="../../../../../../org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/event/IEvent.html?is-external=true" title="class or interface in org.eclipse.net4j.util.event"><CODE>event</CODE></A> fired from a <A HREF="../../../../org/eclipse/net4j/signal/ISignalProtocol.html" title="interface in org.eclipse.net4j.signal"><CODE>signal protocol</CODE></A> when
+ the local execution of a scheduled <A HREF="../../../../org/eclipse/net4j/signal/SignalFinishedEvent.html#getSignal()"><CODE>signal</CODE></A> has finished.
+<P>
+
+<P>
<DL>
<DT><B>Since:</B></DT>
<DD>3.0</DD>
diff --git a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/SignalProtocol.TimeoutChangedEvent.html b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/SignalProtocol.TimeoutChangedEvent.html
index 91f4980090..bcf9aad1a0 100644
--- a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/SignalProtocol.TimeoutChangedEvent.html
+++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/SignalProtocol.TimeoutChangedEvent.html
@@ -119,6 +119,11 @@ Class SignalProtocol.TimeoutChangedEvent</H2>
<P>
+An <A HREF="../../../../../../org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/event/IEvent.html?is-external=true" title="class or interface in org.eclipse.net4j.util.event"><CODE>event</CODE></A> fired from a <A HREF="../../../../org/eclipse/net4j/signal/ISignalProtocol.html" title="interface in org.eclipse.net4j.signal"><CODE>signal protocol</CODE></A> when the protocol <A HREF="../../../../org/eclipse/net4j/signal/ISignalProtocol.html#setTimeout(long)"><CODE>timeout</CODE></A>
+ has been changed.
+<P>
+
+<P>
<DL>
<DT><B>Since:</B></DT>
<DD>4.1</DD>
diff --git a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/SignalProtocol.html b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/SignalProtocol.html
index f55ef4beea..6cd02b296b 100644
--- a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/SignalProtocol.html
+++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/SignalProtocol.html
@@ -124,6 +124,14 @@ Class SignalProtocol&lt;INFRA_STRUCTURE&gt;</H2>
<P>
+The default implementation of a <A HREF="../../../../org/eclipse/net4j/signal/ISignalProtocol.html" title="interface in org.eclipse.net4j.signal"><CODE>signal protocol</CODE></A>.
+ <p>
+ On the <A HREF="../../../../org/eclipse/net4j/ILocationAware.Location.html#SERVER"><CODE>receiver side(s)</CODE></A> of protocol the
+ <A HREF="../../../../org/eclipse/net4j/signal/SignalProtocol.html#createSignalReactor(short)"><CODE>createSignalReactor()</CODE></A> method has to be overridden to
+ create appropriate peer instances for incoming <A HREF="../../../../org/eclipse/net4j/signal/Signal.html" title="class in org.eclipse.net4j.signal"><CODE>signals</CODE></A>.
+<P>
+
+<P>
<HR>
<P>
@@ -141,7 +149,8 @@ Class SignalProtocol&lt;INFRA_STRUCTURE&gt;</H2>
<TD><CODE><B><A HREF="../../../../org/eclipse/net4j/signal/SignalProtocol.TimeoutChangedEvent.html" title="class in org.eclipse.net4j.signal">SignalProtocol.TimeoutChangedEvent</A></B></CODE>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;An <A HREF="../../../../../../org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/event/IEvent.html?is-external=true" title="class or interface in org.eclipse.net4j.util.event"><CODE>event</CODE></A> fired from a <A HREF="../../../../org/eclipse/net4j/signal/ISignalProtocol.html" title="interface in org.eclipse.net4j.signal"><CODE>signal protocol</CODE></A> when the protocol <A HREF="../../../../org/eclipse/net4j/signal/ISignalProtocol.html#setTimeout(long)"><CODE>timeout</CODE></A>
+ has been changed.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="nested_classes_inherited_from_class_org.eclipse.net4j.ILocationAware"><!-- --></A>
diff --git a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/SignalReactor.html b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/SignalReactor.html
index b8165f2333..5d60f3c0c3 100644
--- a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/SignalReactor.html
+++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/SignalReactor.html
@@ -120,6 +120,10 @@ Class SignalReactor</H2>
<P>
+Represents the receiver side of a <A HREF="../../../../org/eclipse/net4j/signal/Signal.html" title="class in org.eclipse.net4j.signal"><CODE>signal</CODE></A>.
+<P>
+
+<P>
<HR>
<P>
diff --git a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/SignalScheduledEvent.html b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/SignalScheduledEvent.html
index 2103cfe3c8..751eee4208 100644
--- a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/SignalScheduledEvent.html
+++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/SignalScheduledEvent.html
@@ -116,6 +116,11 @@ Class SignalScheduledEvent&lt;INFRA_STRUCTURE&gt;</H2>
<P>
+An <A HREF="../../../../../../org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/event/IEvent.html?is-external=true" title="class or interface in org.eclipse.net4j.util.event"><CODE>event</CODE></A> fired from a <A HREF="../../../../org/eclipse/net4j/signal/ISignalProtocol.html" title="interface in org.eclipse.net4j.signal"><CODE>signal protocol</CODE></A> when
+ a <A HREF="../../../../org/eclipse/net4j/signal/SignalScheduledEvent.html#getSignal()"><CODE>signal</CODE></A> has been scheduled for local execution.
+<P>
+
+<P>
<DL>
<DT><B>Since:</B></DT>
<DD>3.0</DD>
diff --git a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/class-use/ISignalProtocol.html b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/class-use/ISignalProtocol.html
index 79e84c1e54..f2283bacaa 100644
--- a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/class-use/ISignalProtocol.html
+++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/class-use/ISignalProtocol.html
@@ -91,8 +91,7 @@ Packages that use <A HREF="../../../../../org/eclipse/net4j/signal/ISignalProtoc
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="#org.eclipse.net4j.signal"><B>org.eclipse.net4j.signal</B></A></TD>
-<TD>A framework for request/response based communication on top of
- the Net4j transport layer.&nbsp;</TD>
+<TD>A framework for request/response based communication on top of the Net4j transport layer.&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="#org.eclipse.net4j.signal.heartbeat"><B>org.eclipse.net4j.signal.heartbeat</B></A></TD>
@@ -121,7 +120,7 @@ Uses of <A HREF="../../../../../org/eclipse/net4j/signal/ISignalProtocol.html" t
<TD><CODE><B><A HREF="../../../../../org/eclipse/net4j/signal/SignalProtocol.html" title="class in org.eclipse.net4j.signal">SignalProtocol&lt;INFRA_STRUCTURE&gt;</A></B></CODE>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default implementation of a <A HREF="../../../../../org/eclipse/net4j/signal/ISignalProtocol.html" title="interface in org.eclipse.net4j.signal"><CODE>signal protocol</CODE></A>.</TD>
</TR>
</TABLE>
&nbsp;
@@ -150,6 +149,20 @@ Uses of <A HREF="../../../../../org/eclipse/net4j/signal/ISignalProtocol.html" t
</TABLE>
&nbsp;
<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Constructors in <A HREF="../../../../../org/eclipse/net4j/signal/package-summary.html">org.eclipse.net4j.signal</A> with parameters of type <A HREF="../../../../../org/eclipse/net4j/signal/ISignalProtocol.html" title="interface in org.eclipse.net4j.signal">ISignalProtocol</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../../org/eclipse/net4j/signal/SignalCounter.html#SignalCounter(org.eclipse.net4j.signal.ISignalProtocol)">SignalCounter</A></B>(<A HREF="../../../../../org/eclipse/net4j/signal/ISignalProtocol.html" title="interface in org.eclipse.net4j.signal">ISignalProtocol</A>&lt;?&gt;&nbsp;protocol)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
<A NAME="org.eclipse.net4j.signal.heartbeat"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
@@ -170,7 +183,8 @@ Uses of <A HREF="../../../../../org/eclipse/net4j/signal/ISignalProtocol.html" t
<TD><CODE><B><A HREF="../../../../../org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.html" title="class in org.eclipse.net4j.signal.heartbeat">HeartBeatProtocol</A></B></CODE>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A <A HREF="../../../../../org/eclipse/net4j/signal/SignalProtocol.html" title="class in org.eclipse.net4j.signal"><CODE>signal protocol</CODE></A> that keeps the <A HREF="../../../../../org/eclipse/net4j/connector/IConnector.html" title="interface in org.eclipse.net4j.connector"><CODE>connector</CODE></A> of its <A HREF="../../../../../org/eclipse/net4j/channel/IChannel.html" title="interface in org.eclipse.net4j.channel"><CODE>channel</CODE></A> open
+ or provides early deactivation feedback by exchanging periodic heart beats.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
@@ -178,7 +192,7 @@ Uses of <A HREF="../../../../../org/eclipse/net4j/signal/ISignalProtocol.html" t
<TD><CODE><B><A HREF="../../../../../org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.Server.html" title="class in org.eclipse.net4j.signal.heartbeat">HeartBeatProtocol.Server</A></B></CODE>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The server-side implementation of a <A HREF="../../../../../org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.html" title="class in org.eclipse.net4j.signal.heartbeat"><CODE>heart beat protocol</CODE></A>.</TD>
</TR>
</TABLE>
&nbsp;
diff --git a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/class-use/IndicationWithResponse.html b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/class-use/IndicationWithResponse.html
index 41575fd211..b7def9e515 100644
--- a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/class-use/IndicationWithResponse.html
+++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/class-use/IndicationWithResponse.html
@@ -91,8 +91,7 @@ Packages that use <A HREF="../../../../../org/eclipse/net4j/signal/IndicationWit
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="#org.eclipse.net4j.signal"><B>org.eclipse.net4j.signal</B></A></TD>
-<TD>A framework for request/response based communication on top of
- the Net4j transport layer.&nbsp;</TD>
+<TD>A framework for request/response based communication on top of the Net4j transport layer.&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
@@ -117,7 +116,7 @@ Uses of <A HREF="../../../../../org/eclipse/net4j/signal/IndicationWithResponse.
<TD><CODE><B><A HREF="../../../../../org/eclipse/net4j/signal/IndicationWithMonitoring.html" title="class in org.eclipse.net4j.signal">IndicationWithMonitoring</A></B></CODE>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Represents the receiver side of a two-way <A HREF="../../../../../org/eclipse/net4j/signal/IndicationWithResponse.html" title="class in org.eclipse.net4j.signal"><CODE>signal</CODE></A> with additional support for remote progress monitoring.</TD>
</TR>
</TABLE>
&nbsp;
diff --git a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/class-use/RemoteException.html b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/class-use/RemoteException.html
index 7021e46e66..8942b7216e 100644
--- a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/class-use/RemoteException.html
+++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/class-use/RemoteException.html
@@ -95,8 +95,7 @@ Packages that use <A HREF="../../../../../org/eclipse/net4j/signal/RemoteExcepti
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="#org.eclipse.net4j.signal"><B>org.eclipse.net4j.signal</B></A></TD>
-<TD>A framework for request/response based communication on top of
- the Net4j transport layer.&nbsp;</TD>
+<TD>A framework for request/response based communication on top of the Net4j transport layer.&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
diff --git a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/class-use/RequestWithConfirmation.html b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/class-use/RequestWithConfirmation.html
index 038229af5c..6e4244125c 100644
--- a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/class-use/RequestWithConfirmation.html
+++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/class-use/RequestWithConfirmation.html
@@ -91,8 +91,7 @@ Packages that use <A HREF="../../../../../org/eclipse/net4j/signal/RequestWithCo
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="#org.eclipse.net4j.signal"><B>org.eclipse.net4j.signal</B></A></TD>
-<TD>A framework for request/response based communication on top of
- the Net4j transport layer.&nbsp;</TD>
+<TD>A framework for request/response based communication on top of the Net4j transport layer.&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
@@ -117,7 +116,7 @@ Uses of <A HREF="../../../../../org/eclipse/net4j/signal/RequestWithConfirmation
<TD><CODE><B><A HREF="../../../../../org/eclipse/net4j/signal/RequestWithMonitoring.html" title="class in org.eclipse.net4j.signal">RequestWithMonitoring&lt;RESULT&gt;</A></B></CODE>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Represents the sender side of a two-way <A HREF="../../../../../org/eclipse/net4j/signal/IndicationWithResponse.html" title="class in org.eclipse.net4j.signal"><CODE>signal</CODE></A> with additional support for remote progress monitoring.</TD>
</TR>
</TABLE>
&nbsp;
diff --git a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/class-use/Signal.html b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/class-use/Signal.html
index 0dc1cfdf43..7bbb88500a 100644
--- a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/class-use/Signal.html
+++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/class-use/Signal.html
@@ -91,8 +91,7 @@ Packages that use <A HREF="../../../../../org/eclipse/net4j/signal/Signal.html"
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="#org.eclipse.net4j.signal"><B>org.eclipse.net4j.signal</B></A></TD>
-<TD>A framework for request/response based communication on top of
- the Net4j transport layer.&nbsp;</TD>
+<TD>A framework for request/response based communication on top of the Net4j transport layer.&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
@@ -117,7 +116,7 @@ Uses of <A HREF="../../../../../org/eclipse/net4j/signal/Signal.html" title="cla
<TD><CODE><B><A HREF="../../../../../org/eclipse/net4j/signal/Indication.html" title="class in org.eclipse.net4j.signal">Indication</A></B></CODE>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Represents the receiver side of a one-way <A HREF="../../../../../org/eclipse/net4j/signal/Signal.html" title="class in org.eclipse.net4j.signal"><CODE>signal</CODE></A>, i.e., one with no response.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
@@ -125,7 +124,7 @@ Uses of <A HREF="../../../../../org/eclipse/net4j/signal/Signal.html" title="cla
<TD><CODE><B><A HREF="../../../../../org/eclipse/net4j/signal/IndicationWithMonitoring.html" title="class in org.eclipse.net4j.signal">IndicationWithMonitoring</A></B></CODE>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Represents the receiver side of a two-way <A HREF="../../../../../org/eclipse/net4j/signal/IndicationWithResponse.html" title="class in org.eclipse.net4j.signal"><CODE>signal</CODE></A> with additional support for remote progress monitoring.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
@@ -133,7 +132,7 @@ Uses of <A HREF="../../../../../org/eclipse/net4j/signal/Signal.html" title="cla
<TD><CODE><B><A HREF="../../../../../org/eclipse/net4j/signal/IndicationWithResponse.html" title="class in org.eclipse.net4j.signal">IndicationWithResponse</A></B></CODE>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Represents the receiver side of a two-way <A HREF="../../../../../org/eclipse/net4j/signal/SignalReactor.html" title="class in org.eclipse.net4j.signal"><CODE>signal</CODE></A>, i.e., one with a response.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
@@ -141,7 +140,7 @@ Uses of <A HREF="../../../../../org/eclipse/net4j/signal/Signal.html" title="cla
<TD><CODE><B><A HREF="../../../../../org/eclipse/net4j/signal/Request.html" title="class in org.eclipse.net4j.signal">Request</A></B></CODE>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Represents the sender side of a one-way <A HREF="../../../../../org/eclipse/net4j/signal/Signal.html" title="class in org.eclipse.net4j.signal"><CODE>signal</CODE></A>, i.e., one with no response.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
@@ -149,7 +148,7 @@ Uses of <A HREF="../../../../../org/eclipse/net4j/signal/Signal.html" title="cla
<TD><CODE><B><A HREF="../../../../../org/eclipse/net4j/signal/RequestWithConfirmation.html" title="class in org.eclipse.net4j.signal">RequestWithConfirmation&lt;RESULT&gt;</A></B></CODE>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Represents the sender side of a two-way <A HREF="../../../../../org/eclipse/net4j/signal/SignalActor.html" title="class in org.eclipse.net4j.signal"><CODE>signal</CODE></A>, i.e., one with a response.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
@@ -157,7 +156,7 @@ Uses of <A HREF="../../../../../org/eclipse/net4j/signal/Signal.html" title="cla
<TD><CODE><B><A HREF="../../../../../org/eclipse/net4j/signal/RequestWithMonitoring.html" title="class in org.eclipse.net4j.signal">RequestWithMonitoring&lt;RESULT&gt;</A></B></CODE>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Represents the sender side of a two-way <A HREF="../../../../../org/eclipse/net4j/signal/IndicationWithResponse.html" title="class in org.eclipse.net4j.signal"><CODE>signal</CODE></A> with additional support for remote progress monitoring.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
@@ -165,7 +164,7 @@ Uses of <A HREF="../../../../../org/eclipse/net4j/signal/Signal.html" title="cla
<TD><CODE><B><A HREF="../../../../../org/eclipse/net4j/signal/SignalActor.html" title="class in org.eclipse.net4j.signal">SignalActor</A></B></CODE>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Represents the sender side of a <A HREF="../../../../../org/eclipse/net4j/signal/Signal.html" title="class in org.eclipse.net4j.signal"><CODE>signal</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
@@ -173,7 +172,7 @@ Uses of <A HREF="../../../../../org/eclipse/net4j/signal/Signal.html" title="cla
<TD><CODE><B><A HREF="../../../../../org/eclipse/net4j/signal/SignalReactor.html" title="class in org.eclipse.net4j.signal">SignalReactor</A></B></CODE>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Represents the receiver side of a <A HREF="../../../../../org/eclipse/net4j/signal/Signal.html" title="class in org.eclipse.net4j.signal"><CODE>signal</CODE></A>.</TD>
</TR>
</TABLE>
&nbsp;
diff --git a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/class-use/SignalActor.html b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/class-use/SignalActor.html
index 613b8b94eb..c71f778695 100644
--- a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/class-use/SignalActor.html
+++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/class-use/SignalActor.html
@@ -91,8 +91,7 @@ Packages that use <A HREF="../../../../../org/eclipse/net4j/signal/SignalActor.h
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="#org.eclipse.net4j.signal"><B>org.eclipse.net4j.signal</B></A></TD>
-<TD>A framework for request/response based communication on top of
- the Net4j transport layer.&nbsp;</TD>
+<TD>A framework for request/response based communication on top of the Net4j transport layer.&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
@@ -117,7 +116,7 @@ Uses of <A HREF="../../../../../org/eclipse/net4j/signal/SignalActor.html" title
<TD><CODE><B><A HREF="../../../../../org/eclipse/net4j/signal/Request.html" title="class in org.eclipse.net4j.signal">Request</A></B></CODE>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Represents the sender side of a one-way <A HREF="../../../../../org/eclipse/net4j/signal/Signal.html" title="class in org.eclipse.net4j.signal"><CODE>signal</CODE></A>, i.e., one with no response.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
@@ -125,7 +124,7 @@ Uses of <A HREF="../../../../../org/eclipse/net4j/signal/SignalActor.html" title
<TD><CODE><B><A HREF="../../../../../org/eclipse/net4j/signal/RequestWithConfirmation.html" title="class in org.eclipse.net4j.signal">RequestWithConfirmation&lt;RESULT&gt;</A></B></CODE>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Represents the sender side of a two-way <A HREF="../../../../../org/eclipse/net4j/signal/SignalActor.html" title="class in org.eclipse.net4j.signal"><CODE>signal</CODE></A>, i.e., one with a response.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
@@ -133,7 +132,7 @@ Uses of <A HREF="../../../../../org/eclipse/net4j/signal/SignalActor.html" title
<TD><CODE><B><A HREF="../../../../../org/eclipse/net4j/signal/RequestWithMonitoring.html" title="class in org.eclipse.net4j.signal">RequestWithMonitoring&lt;RESULT&gt;</A></B></CODE>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Represents the sender side of a two-way <A HREF="../../../../../org/eclipse/net4j/signal/IndicationWithResponse.html" title="class in org.eclipse.net4j.signal"><CODE>signal</CODE></A> with additional support for remote progress monitoring.</TD>
</TR>
</TABLE>
&nbsp;
diff --git a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/class-use/SignalProtocol.html b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/class-use/SignalProtocol.html
index 4c9a2eea4e..c5f4a4c8bd 100644
--- a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/class-use/SignalProtocol.html
+++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/class-use/SignalProtocol.html
@@ -91,8 +91,7 @@ Packages that use <A HREF="../../../../../org/eclipse/net4j/signal/SignalProtoco
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="#org.eclipse.net4j.signal"><B>org.eclipse.net4j.signal</B></A></TD>
-<TD>A framework for request/response based communication on top of
- the Net4j transport layer.&nbsp;</TD>
+<TD>A framework for request/response based communication on top of the Net4j transport layer.&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="#org.eclipse.net4j.signal.heartbeat"><B>org.eclipse.net4j.signal.heartbeat</B></A></TD>
@@ -364,7 +363,8 @@ Uses of <A HREF="../../../../../org/eclipse/net4j/signal/SignalProtocol.html" ti
<TD><CODE><B><A HREF="../../../../../org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.html" title="class in org.eclipse.net4j.signal.heartbeat">HeartBeatProtocol</A></B></CODE>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A <A HREF="../../../../../org/eclipse/net4j/signal/SignalProtocol.html" title="class in org.eclipse.net4j.signal"><CODE>signal protocol</CODE></A> that keeps the <A HREF="../../../../../org/eclipse/net4j/connector/IConnector.html" title="interface in org.eclipse.net4j.connector"><CODE>connector</CODE></A> of its <A HREF="../../../../../org/eclipse/net4j/channel/IChannel.html" title="interface in org.eclipse.net4j.channel"><CODE>channel</CODE></A> open
+ or provides early deactivation feedback by exchanging periodic heart beats.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
@@ -372,7 +372,7 @@ Uses of <A HREF="../../../../../org/eclipse/net4j/signal/SignalProtocol.html" ti
<TD><CODE><B><A HREF="../../../../../org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.Server.html" title="class in org.eclipse.net4j.signal.heartbeat">HeartBeatProtocol.Server</A></B></CODE>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The server-side implementation of a <A HREF="../../../../../org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.html" title="class in org.eclipse.net4j.signal.heartbeat"><CODE>heart beat protocol</CODE></A>.</TD>
</TR>
</TABLE>
&nbsp;
diff --git a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/class-use/SignalReactor.html b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/class-use/SignalReactor.html
index 1b0283d003..0a9e200583 100644
--- a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/class-use/SignalReactor.html
+++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/class-use/SignalReactor.html
@@ -91,8 +91,7 @@ Packages that use <A HREF="../../../../../org/eclipse/net4j/signal/SignalReactor
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="#org.eclipse.net4j.signal"><B>org.eclipse.net4j.signal</B></A></TD>
-<TD>A framework for request/response based communication on top of
- the Net4j transport layer.&nbsp;</TD>
+<TD>A framework for request/response based communication on top of the Net4j transport layer.&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="#org.eclipse.net4j.signal.heartbeat"><B>org.eclipse.net4j.signal.heartbeat</B></A></TD>
@@ -121,7 +120,7 @@ Uses of <A HREF="../../../../../org/eclipse/net4j/signal/SignalReactor.html" tit
<TD><CODE><B><A HREF="../../../../../org/eclipse/net4j/signal/Indication.html" title="class in org.eclipse.net4j.signal">Indication</A></B></CODE>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Represents the receiver side of a one-way <A HREF="../../../../../org/eclipse/net4j/signal/Signal.html" title="class in org.eclipse.net4j.signal"><CODE>signal</CODE></A>, i.e., one with no response.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
@@ -129,7 +128,7 @@ Uses of <A HREF="../../../../../org/eclipse/net4j/signal/SignalReactor.html" tit
<TD><CODE><B><A HREF="../../../../../org/eclipse/net4j/signal/IndicationWithMonitoring.html" title="class in org.eclipse.net4j.signal">IndicationWithMonitoring</A></B></CODE>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Represents the receiver side of a two-way <A HREF="../../../../../org/eclipse/net4j/signal/IndicationWithResponse.html" title="class in org.eclipse.net4j.signal"><CODE>signal</CODE></A> with additional support for remote progress monitoring.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
@@ -137,7 +136,7 @@ Uses of <A HREF="../../../../../org/eclipse/net4j/signal/SignalReactor.html" tit
<TD><CODE><B><A HREF="../../../../../org/eclipse/net4j/signal/IndicationWithResponse.html" title="class in org.eclipse.net4j.signal">IndicationWithResponse</A></B></CODE>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Represents the receiver side of a two-way <A HREF="../../../../../org/eclipse/net4j/signal/SignalReactor.html" title="class in org.eclipse.net4j.signal"><CODE>signal</CODE></A>, i.e., one with a response.</TD>
</TR>
</TABLE>
&nbsp;
diff --git a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/doc-files/signals.png b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/doc-files/signals.png
new file mode 100644
index 0000000000..af40c9518c
--- /dev/null
+++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/doc-files/signals.png
Binary files differ
diff --git a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.Server.Factory.html b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.Server.Factory.html
index cfdb0ebda8..9c423e1d37 100644
--- a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.Server.Factory.html
+++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.Server.Factory.html
@@ -119,6 +119,10 @@ Class HeartBeatProtocol.Server.Factory</H2>
<P>
+Creates server-side <A HREF="../../../../../org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.Server.html" title="class in org.eclipse.net4j.signal.heartbeat"><CODE>heart beat protocol</CODE></A> instances.
+<P>
+
+<P>
<HR>
<P>
diff --git a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.Server.TimerInjector.html b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.Server.TimerInjector.html
index 06e89c1f94..0b1df64843 100644
--- a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.Server.TimerInjector.html
+++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.Server.TimerInjector.html
@@ -118,6 +118,11 @@ Class HeartBeatProtocol.Server.TimerInjector</H2>
<P>
+An <A HREF="../../../../../../../org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/IElementProcessor.html?is-external=true" title="class or interface in org.eclipse.net4j.util.container"><CODE>element post processor</CODE></A> that injects a <A HREF="../../../../../org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.Server.TimerInjector.html#getTimer(org.eclipse.net4j.util.container.IManagedContainer)"><CODE>timer</CODE></A>
+ into server-side <A HREF="../../../../../org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.Server.html" title="class in org.eclipse.net4j.signal.heartbeat"><CODE>heart beat protocol</CODE></A> instances.
+<P>
+
+<P>
<HR>
<P>
diff --git a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.Server.html b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.Server.html
index 9146122da5..a1c8c33e25 100644
--- a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.Server.html
+++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.Server.html
@@ -121,6 +121,10 @@ Class HeartBeatProtocol.Server</H2>
<P>
+The server-side implementation of a <A HREF="../../../../../org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.html" title="class in org.eclipse.net4j.signal.heartbeat"><CODE>heart beat protocol</CODE></A>.
+<P>
+
+<P>
<HR>
<P>
@@ -138,7 +142,7 @@ Class HeartBeatProtocol.Server</H2>
<TD><CODE><B><A HREF="../../../../../org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.Server.Factory.html" title="class in org.eclipse.net4j.signal.heartbeat">HeartBeatProtocol.Server.Factory</A></B></CODE>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates server-side <A HREF="../../../../../org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.Server.html" title="class in org.eclipse.net4j.signal.heartbeat"><CODE>heart beat protocol</CODE></A> instances.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
@@ -146,7 +150,8 @@ Class HeartBeatProtocol.Server</H2>
<TD><CODE><B><A HREF="../../../../../org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.Server.TimerInjector.html" title="class in org.eclipse.net4j.signal.heartbeat">HeartBeatProtocol.Server.TimerInjector</A></B></CODE>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;An <A HREF="../../../../../../../org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/IElementProcessor.html?is-external=true" title="class or interface in org.eclipse.net4j.util.container"><CODE>element post processor</CODE></A> that injects a <A HREF="../../../../../org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.Server.TimerInjector.html#getTimer(org.eclipse.net4j.util.container.IManagedContainer)"><CODE>timer</CODE></A>
+ into server-side <A HREF="../../../../../org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.Server.html" title="class in org.eclipse.net4j.signal.heartbeat"><CODE>heart beat protocol</CODE></A> instances.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="nested_classes_inherited_from_class_org.eclipse.net4j.signal.SignalProtocol"><!-- --></A>
diff --git a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.html b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.html
index cdba486f00..4432a9e2ab 100644
--- a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.html
+++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.html
@@ -118,6 +118,11 @@ Class HeartBeatProtocol</H2>
<P>
+A <A HREF="../../../../../org/eclipse/net4j/signal/SignalProtocol.html" title="class in org.eclipse.net4j.signal"><CODE>signal protocol</CODE></A> that keeps the <A HREF="../../../../../org/eclipse/net4j/connector/IConnector.html" title="interface in org.eclipse.net4j.connector"><CODE>connector</CODE></A> of its <A HREF="../../../../../org/eclipse/net4j/channel/IChannel.html" title="interface in org.eclipse.net4j.channel"><CODE>channel</CODE></A> open
+ or provides early deactivation feedback by exchanging periodic heart beats.
+<P>
+
+<P>
<DL>
<DT><B>Since:</B></DT>
<DD>2.0</DD>
@@ -139,7 +144,7 @@ Class HeartBeatProtocol</H2>
<TD><CODE><B><A HREF="../../../../../org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.Server.html" title="class in org.eclipse.net4j.signal.heartbeat">HeartBeatProtocol.Server</A></B></CODE>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The server-side implementation of a <A HREF="../../../../../org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.html" title="class in org.eclipse.net4j.signal.heartbeat"><CODE>heart beat protocol</CODE></A>.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="nested_classes_inherited_from_class_org.eclipse.net4j.signal.SignalProtocol"><!-- --></A>
diff --git a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/heartbeat/package-summary.html b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/heartbeat/package-summary.html
index 4abd457aa1..d512819991 100644
--- a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/heartbeat/package-summary.html
+++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/heartbeat/package-summary.html
@@ -106,19 +106,21 @@ A signal protocol implementation that realizes a configurable heart beat protoco
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../../org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.html" title="class in org.eclipse.net4j.signal.heartbeat">HeartBeatProtocol</A></B></TD>
-<TD>&nbsp;</TD>
+<TD>A <A HREF="../../../../../org/eclipse/net4j/signal/SignalProtocol.html" title="class in org.eclipse.net4j.signal"><CODE>signal protocol</CODE></A> that keeps the <A HREF="../../../../../org/eclipse/net4j/connector/IConnector.html" title="interface in org.eclipse.net4j.connector"><CODE>connector</CODE></A> of its <A HREF="../../../../../org/eclipse/net4j/channel/IChannel.html" title="interface in org.eclipse.net4j.channel"><CODE>channel</CODE></A> open
+ or provides early deactivation feedback by exchanging periodic heart beats.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../../org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.Server.html" title="class in org.eclipse.net4j.signal.heartbeat">HeartBeatProtocol.Server</A></B></TD>
-<TD>&nbsp;</TD>
+<TD>The server-side implementation of a <A HREF="../../../../../org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.html" title="class in org.eclipse.net4j.signal.heartbeat"><CODE>heart beat protocol</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../../org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.Server.Factory.html" title="class in org.eclipse.net4j.signal.heartbeat">HeartBeatProtocol.Server.Factory</A></B></TD>
-<TD>&nbsp;</TD>
+<TD>Creates server-side <A HREF="../../../../../org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.Server.html" title="class in org.eclipse.net4j.signal.heartbeat"><CODE>heart beat protocol</CODE></A> instances.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../../org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.Server.TimerInjector.html" title="class in org.eclipse.net4j.signal.heartbeat">HeartBeatProtocol.Server.TimerInjector</A></B></TD>
-<TD>&nbsp;</TD>
+<TD>An <A HREF="../../../../../../../org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/IElementProcessor.html?is-external=true" title="class or interface in org.eclipse.net4j.util.container"><CODE>element post processor</CODE></A> that injects a <A HREF="../../../../../org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.Server.TimerInjector.html#getTimer(org.eclipse.net4j.util.container.IManagedContainer)"><CODE>timer</CODE></A>
+ into server-side <A HREF="../../../../../org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.Server.html" title="class in org.eclipse.net4j.signal.heartbeat"><CODE>heart beat protocol</CODE></A> instances.</TD>
</TR>
</TABLE>
&nbsp;
diff --git a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/package-summary.html b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/package-summary.html
index 2eeae8495e..151dbd7b79 100644
--- a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/package-summary.html
+++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/package-summary.html
@@ -83,8 +83,9 @@ function windowTitle()
Package org.eclipse.net4j.signal
</H2>
<A NAME="package_description"><!-- --></A>
-A framework for request/response based communication on top of
- the Net4j transport layer.
+A framework for request/response based communication on top of the Net4j transport layer.
+ <p>
+ <img src="doc-files/signals.png" title="Diagram Signals" border="0"/>
<P>
@@ -123,7 +124,7 @@ A framework for request/response based communication on top of
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../org/eclipse/net4j/signal/ISignalProtocol.html" title="interface in org.eclipse.net4j.signal">ISignalProtocol&lt;INFRA_STRUCTURE&gt;</A></B></TD>
-<TD>&nbsp;</TD>
+<TD>A <A HREF="../../../../org/eclipse/net4j/protocol/IProtocol.html" title="interface in org.eclipse.net4j.protocol"><CODE>protocol</CODE></A> that consists of a number of stream-based <A HREF="../../../../org/eclipse/net4j/signal/Signal.html" title="class in org.eclipse.net4j.signal"><CODE>signals</CODE></A>.</TD>
</TR>
</TABLE>
&nbsp;
@@ -137,59 +138,63 @@ A framework for request/response based communication on top of
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../org/eclipse/net4j/signal/Indication.html" title="class in org.eclipse.net4j.signal">Indication</A></B></TD>
-<TD>&nbsp;</TD>
+<TD>Represents the receiver side of a one-way <A HREF="../../../../org/eclipse/net4j/signal/Signal.html" title="class in org.eclipse.net4j.signal"><CODE>signal</CODE></A>, i.e., one with no response.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../org/eclipse/net4j/signal/IndicationWithMonitoring.html" title="class in org.eclipse.net4j.signal">IndicationWithMonitoring</A></B></TD>
-<TD>&nbsp;</TD>
+<TD>Represents the receiver side of a two-way <A HREF="../../../../org/eclipse/net4j/signal/IndicationWithResponse.html" title="class in org.eclipse.net4j.signal"><CODE>signal</CODE></A> with additional support for remote progress monitoring.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../org/eclipse/net4j/signal/IndicationWithResponse.html" title="class in org.eclipse.net4j.signal">IndicationWithResponse</A></B></TD>
-<TD>&nbsp;</TD>
+<TD>Represents the receiver side of a two-way <A HREF="../../../../org/eclipse/net4j/signal/SignalReactor.html" title="class in org.eclipse.net4j.signal"><CODE>signal</CODE></A>, i.e., one with a response.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../org/eclipse/net4j/signal/Request.html" title="class in org.eclipse.net4j.signal">Request</A></B></TD>
-<TD>&nbsp;</TD>
+<TD>Represents the sender side of a one-way <A HREF="../../../../org/eclipse/net4j/signal/Signal.html" title="class in org.eclipse.net4j.signal"><CODE>signal</CODE></A>, i.e., one with no response.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../org/eclipse/net4j/signal/RequestWithConfirmation.html" title="class in org.eclipse.net4j.signal">RequestWithConfirmation&lt;RESULT&gt;</A></B></TD>
-<TD>&nbsp;</TD>
+<TD>Represents the sender side of a two-way <A HREF="../../../../org/eclipse/net4j/signal/SignalActor.html" title="class in org.eclipse.net4j.signal"><CODE>signal</CODE></A>, i.e., one with a response.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../org/eclipse/net4j/signal/RequestWithMonitoring.html" title="class in org.eclipse.net4j.signal">RequestWithMonitoring&lt;RESULT&gt;</A></B></TD>
-<TD>&nbsp;</TD>
+<TD>Represents the sender side of a two-way <A HREF="../../../../org/eclipse/net4j/signal/IndicationWithResponse.html" title="class in org.eclipse.net4j.signal"><CODE>signal</CODE></A> with additional support for remote progress monitoring.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../org/eclipse/net4j/signal/Signal.html" title="class in org.eclipse.net4j.signal">Signal</A></B></TD>
-<TD>&nbsp;</TD>
+<TD>Represents a single communications use-case in the scope of a <A HREF="../../../../org/eclipse/net4j/signal/ISignalProtocol.html" title="interface in org.eclipse.net4j.signal"><CODE>signal protocol</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../org/eclipse/net4j/signal/SignalActor.html" title="class in org.eclipse.net4j.signal">SignalActor</A></B></TD>
-<TD>&nbsp;</TD>
+<TD>Represents the sender side of a <A HREF="../../../../org/eclipse/net4j/signal/Signal.html" title="class in org.eclipse.net4j.signal"><CODE>signal</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../org/eclipse/net4j/signal/SignalCounter.html" title="class in org.eclipse.net4j.signal">SignalCounter</A></B></TD>
-<TD>&nbsp;</TD>
+<TD>Provides <A HREF="../../../../org/eclipse/net4j/signal/Signal.html" title="class in org.eclipse.net4j.signal"><CODE>signal</CODE></A> execution counts when
+ <A HREF="../../../../../../org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/event/Notifier.html?is-external=true#addListener(org.eclipse.net4j.util.event.IListener)" title="class or interface in org.eclipse.net4j.util.event"><CODE>attached</CODE></A> to a <A HREF="../../../../org/eclipse/net4j/signal/ISignalProtocol.html" title="interface in org.eclipse.net4j.signal"><CODE>signal protocol</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../org/eclipse/net4j/signal/SignalFinishedEvent.html" title="class in org.eclipse.net4j.signal">SignalFinishedEvent&lt;INFRA_STRUCTURE&gt;</A></B></TD>
-<TD>&nbsp;</TD>
+<TD>An <A HREF="../../../../../../org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/event/IEvent.html?is-external=true" title="class or interface in org.eclipse.net4j.util.event"><CODE>event</CODE></A> fired from a <A HREF="../../../../org/eclipse/net4j/signal/ISignalProtocol.html" title="interface in org.eclipse.net4j.signal"><CODE>signal protocol</CODE></A> when
+ the local execution of a scheduled <A HREF="../../../../org/eclipse/net4j/signal/SignalFinishedEvent.html#getSignal()"><CODE>signal</CODE></A> has finished.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../org/eclipse/net4j/signal/SignalProtocol.html" title="class in org.eclipse.net4j.signal">SignalProtocol&lt;INFRA_STRUCTURE&gt;</A></B></TD>
-<TD>&nbsp;</TD>
+<TD>The default implementation of a <A HREF="../../../../org/eclipse/net4j/signal/ISignalProtocol.html" title="interface in org.eclipse.net4j.signal"><CODE>signal protocol</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../org/eclipse/net4j/signal/SignalProtocol.TimeoutChangedEvent.html" title="class in org.eclipse.net4j.signal">SignalProtocol.TimeoutChangedEvent</A></B></TD>
-<TD>&nbsp;</TD>
+<TD>An <A HREF="../../../../../../org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/event/IEvent.html?is-external=true" title="class or interface in org.eclipse.net4j.util.event"><CODE>event</CODE></A> fired from a <A HREF="../../../../org/eclipse/net4j/signal/ISignalProtocol.html" title="interface in org.eclipse.net4j.signal"><CODE>signal protocol</CODE></A> when the protocol <A HREF="../../../../org/eclipse/net4j/signal/ISignalProtocol.html#setTimeout(long)"><CODE>timeout</CODE></A>
+ has been changed.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../org/eclipse/net4j/signal/SignalReactor.html" title="class in org.eclipse.net4j.signal">SignalReactor</A></B></TD>
-<TD>&nbsp;</TD>
+<TD>Represents the receiver side of a <A HREF="../../../../org/eclipse/net4j/signal/Signal.html" title="class in org.eclipse.net4j.signal"><CODE>signal</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../org/eclipse/net4j/signal/SignalScheduledEvent.html" title="class in org.eclipse.net4j.signal">SignalScheduledEvent&lt;INFRA_STRUCTURE&gt;</A></B></TD>
-<TD>&nbsp;</TD>
+<TD>An <A HREF="../../../../../../org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/event/IEvent.html?is-external=true" title="class or interface in org.eclipse.net4j.util.event"><CODE>event</CODE></A> fired from a <A HREF="../../../../org/eclipse/net4j/signal/ISignalProtocol.html" title="interface in org.eclipse.net4j.signal"><CODE>signal protocol</CODE></A> when
+ a <A HREF="../../../../org/eclipse/net4j/signal/SignalScheduledEvent.html#getSignal()"><CODE>signal</CODE></A> has been scheduled for local execution.</TD>
</TR>
</TABLE>
&nbsp;
@@ -203,7 +208,7 @@ A framework for request/response based communication on top of
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../org/eclipse/net4j/signal/RemoteException.html" title="class in org.eclipse.net4j.signal">RemoteException</A></B></TD>
-<TD>&nbsp;</TD>
+<TD>An exception that wraps an exception that has been thrown during the execution of a remote <A HREF="../../../../org/eclipse/net4j/signal/SignalReactor.html" title="class in org.eclipse.net4j.signal"><CODE>signal</CODE></A>.</TD>
</TR>
</TABLE>
&nbsp;
diff --git a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/package-use.html b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/package-use.html
index 26c942512d..b5c756e541 100644
--- a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/package-use.html
+++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/package-use.html
@@ -95,8 +95,7 @@ Packages that use <A HREF="../../../../org/eclipse/net4j/signal/package-summary.
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="#org.eclipse.net4j.signal"><B>org.eclipse.net4j.signal</B></A></TD>
-<TD>A framework for request/response based communication on top of
- the Net4j transport layer.&nbsp;</TD>
+<TD>A framework for request/response based communication on top of the Net4j transport layer.&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="#org.eclipse.net4j.signal.heartbeat"><B>org.eclipse.net4j.signal.heartbeat</B></A></TD>
@@ -119,7 +118,7 @@ Classes in <A HREF="../../../../org/eclipse/net4j/signal/package-summary.html">o
<TD><B><A HREF="../../../../org/eclipse/net4j/signal/class-use/RemoteException.html#org.eclipse.net4j.buffer"><B>RemoteException</B></A></B>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;An exception that wraps an exception that has been thrown during the execution of a remote <A HREF="../../../../org/eclipse/net4j/signal/SignalReactor.html" title="class in org.eclipse.net4j.signal"><CODE>signal</CODE></A>.</TD>
</TR>
</TABLE>
&nbsp;
@@ -134,49 +133,49 @@ Classes in <A HREF="../../../../org/eclipse/net4j/signal/package-summary.html">o
<TD><B><A HREF="../../../../org/eclipse/net4j/signal/class-use/IndicationWithResponse.html#org.eclipse.net4j.signal"><B>IndicationWithResponse</B></A></B>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Represents the receiver side of a two-way <A HREF="../../../../org/eclipse/net4j/signal/SignalReactor.html" title="class in org.eclipse.net4j.signal"><CODE>signal</CODE></A>, i.e., one with a response.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><B><A HREF="../../../../org/eclipse/net4j/signal/class-use/ISignalProtocol.html#org.eclipse.net4j.signal"><B>ISignalProtocol</B></A></B>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A <A HREF="../../../../org/eclipse/net4j/protocol/IProtocol.html" title="interface in org.eclipse.net4j.protocol"><CODE>protocol</CODE></A> that consists of a number of stream-based <A HREF="../../../../org/eclipse/net4j/signal/Signal.html" title="class in org.eclipse.net4j.signal"><CODE>signals</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><B><A HREF="../../../../org/eclipse/net4j/signal/class-use/RemoteException.html#org.eclipse.net4j.signal"><B>RemoteException</B></A></B>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;An exception that wraps an exception that has been thrown during the execution of a remote <A HREF="../../../../org/eclipse/net4j/signal/SignalReactor.html" title="class in org.eclipse.net4j.signal"><CODE>signal</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><B><A HREF="../../../../org/eclipse/net4j/signal/class-use/RequestWithConfirmation.html#org.eclipse.net4j.signal"><B>RequestWithConfirmation</B></A></B>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Represents the sender side of a two-way <A HREF="../../../../org/eclipse/net4j/signal/SignalActor.html" title="class in org.eclipse.net4j.signal"><CODE>signal</CODE></A>, i.e., one with a response.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><B><A HREF="../../../../org/eclipse/net4j/signal/class-use/Signal.html#org.eclipse.net4j.signal"><B>Signal</B></A></B>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Represents a single communications use-case in the scope of a <A HREF="../../../../org/eclipse/net4j/signal/ISignalProtocol.html" title="interface in org.eclipse.net4j.signal"><CODE>signal protocol</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><B><A HREF="../../../../org/eclipse/net4j/signal/class-use/SignalActor.html#org.eclipse.net4j.signal"><B>SignalActor</B></A></B>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Represents the sender side of a <A HREF="../../../../org/eclipse/net4j/signal/Signal.html" title="class in org.eclipse.net4j.signal"><CODE>signal</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><B><A HREF="../../../../org/eclipse/net4j/signal/class-use/SignalProtocol.html#org.eclipse.net4j.signal"><B>SignalProtocol</B></A></B>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default implementation of a <A HREF="../../../../org/eclipse/net4j/signal/ISignalProtocol.html" title="interface in org.eclipse.net4j.signal"><CODE>signal protocol</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><B><A HREF="../../../../org/eclipse/net4j/signal/class-use/SignalReactor.html#org.eclipse.net4j.signal"><B>SignalReactor</B></A></B>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Represents the receiver side of a <A HREF="../../../../org/eclipse/net4j/signal/Signal.html" title="class in org.eclipse.net4j.signal"><CODE>signal</CODE></A>.</TD>
</TR>
</TABLE>
&nbsp;
@@ -191,19 +190,19 @@ Classes in <A HREF="../../../../org/eclipse/net4j/signal/package-summary.html">o
<TD><B><A HREF="../../../../org/eclipse/net4j/signal/class-use/ISignalProtocol.html#org.eclipse.net4j.signal.heartbeat"><B>ISignalProtocol</B></A></B>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A <A HREF="../../../../org/eclipse/net4j/protocol/IProtocol.html" title="interface in org.eclipse.net4j.protocol"><CODE>protocol</CODE></A> that consists of a number of stream-based <A HREF="../../../../org/eclipse/net4j/signal/Signal.html" title="class in org.eclipse.net4j.signal"><CODE>signals</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><B><A HREF="../../../../org/eclipse/net4j/signal/class-use/SignalProtocol.html#org.eclipse.net4j.signal.heartbeat"><B>SignalProtocol</B></A></B>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default implementation of a <A HREF="../../../../org/eclipse/net4j/signal/ISignalProtocol.html" title="interface in org.eclipse.net4j.signal"><CODE>signal protocol</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><B><A HREF="../../../../org/eclipse/net4j/signal/class-use/SignalReactor.html#org.eclipse.net4j.signal.heartbeat"><B>SignalReactor</B></A></B>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Represents the receiver side of a <A HREF="../../../../org/eclipse/net4j/signal/Signal.html" title="class in org.eclipse.net4j.signal"><CODE>signal</CODE></A>.</TD>
</TR>
</TABLE>
&nbsp;
@@ -218,7 +217,7 @@ Classes in <A HREF="../../../../org/eclipse/net4j/signal/package-summary.html">o
<TD><B><A HREF="../../../../org/eclipse/net4j/signal/class-use/SignalProtocol.html#org.eclipse.net4j.signal.wrapping"><B>SignalProtocol</B></A></B>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default implementation of a <A HREF="../../../../org/eclipse/net4j/signal/ISignalProtocol.html" title="interface in org.eclipse.net4j.signal"><CODE>signal protocol</CODE></A>.</TD>
</TR>
</TABLE>
&nbsp;
diff --git a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/wrapping/GZIPStreamWrapperInjector.html b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/wrapping/GZIPStreamWrapperInjector.html
index a8e34fae84..15080739c1 100644
--- a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/wrapping/GZIPStreamWrapperInjector.html
+++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/wrapping/GZIPStreamWrapperInjector.html
@@ -115,6 +115,10 @@ Class GZIPStreamWrapperInjector</H2>
<P>
+An <A HREF="../../../../../org/eclipse/net4j/signal/wrapping/StreamWrapperInjector.html" title="class in org.eclipse.net4j.signal.wrapping"><CODE>injector</CODE></A> that injects <A HREF="../../../../../../../org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/io/GZIPStreamWrapper.html?is-external=true" title="class or interface in org.eclipse.net4j.util.io"><CODE>GZIPStreamWrapper</CODE></A> instances.
+<P>
+
+<P>
<HR>
<P>
diff --git a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/wrapping/StreamWrapperInjector.html b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/wrapping/StreamWrapperInjector.html
index 338125a91e..fe40e55823 100644
--- a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/wrapping/StreamWrapperInjector.html
+++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/wrapping/StreamWrapperInjector.html
@@ -120,6 +120,11 @@ Class StreamWrapperInjector</H2>
<P>
+An <A HREF="../../../../../../../org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/IElementProcessor.html?is-external=true" title="class or interface in org.eclipse.net4j.util.container"><CODE>element post processor</CODE></A> that injects a <A HREF="../../../../../org/eclipse/net4j/signal/wrapping/StreamWrapperInjector.html#getStreamWrapper()"><CODE>stream wrapper</CODE></A>
+ into <A HREF="../../../../../org/eclipse/net4j/signal/SignalProtocol.html" title="class in org.eclipse.net4j.signal"><CODE>signal protocol</CODE></A> instances.
+<P>
+
+<P>
<HR>
<P>
diff --git a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/wrapping/XORStreamWrapperInjector.html b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/wrapping/XORStreamWrapperInjector.html
index 630d8adfed..06bc46adc4 100644
--- a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/wrapping/XORStreamWrapperInjector.html
+++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/wrapping/XORStreamWrapperInjector.html
@@ -115,6 +115,10 @@ Class XORStreamWrapperInjector</H2>
<P>
+An <A HREF="../../../../../org/eclipse/net4j/signal/wrapping/StreamWrapperInjector.html" title="class in org.eclipse.net4j.signal.wrapping"><CODE>injector</CODE></A> that injects <A HREF="../../../../../../../org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/io/XORStreamWrapper.html?is-external=true" title="class or interface in org.eclipse.net4j.util.io"><CODE>XORStreamWrapper</CODE></A> instances.
+<P>
+
+<P>
<HR>
<P>
diff --git a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/wrapping/class-use/StreamWrapperInjector.html b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/wrapping/class-use/StreamWrapperInjector.html
index 3e961baf0c..278fc8ca60 100644
--- a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/wrapping/class-use/StreamWrapperInjector.html
+++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/wrapping/class-use/StreamWrapperInjector.html
@@ -116,7 +116,7 @@ Uses of <A HREF="../../../../../../org/eclipse/net4j/signal/wrapping/StreamWrapp
<TD><CODE><B><A HREF="../../../../../../org/eclipse/net4j/signal/wrapping/GZIPStreamWrapperInjector.html" title="class in org.eclipse.net4j.signal.wrapping">GZIPStreamWrapperInjector</A></B></CODE>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;An <A HREF="../../../../../../org/eclipse/net4j/signal/wrapping/StreamWrapperInjector.html" title="class in org.eclipse.net4j.signal.wrapping"><CODE>injector</CODE></A> that injects <A HREF="../../../../../../../../org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/io/GZIPStreamWrapper.html?is-external=true" title="class or interface in org.eclipse.net4j.util.io"><CODE>GZIPStreamWrapper</CODE></A> instances.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
@@ -124,7 +124,7 @@ Uses of <A HREF="../../../../../../org/eclipse/net4j/signal/wrapping/StreamWrapp
<TD><CODE><B><A HREF="../../../../../../org/eclipse/net4j/signal/wrapping/XORStreamWrapperInjector.html" title="class in org.eclipse.net4j.signal.wrapping">XORStreamWrapperInjector</A></B></CODE>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;An <A HREF="../../../../../../org/eclipse/net4j/signal/wrapping/StreamWrapperInjector.html" title="class in org.eclipse.net4j.signal.wrapping"><CODE>injector</CODE></A> that injects <A HREF="../../../../../../../../org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/io/XORStreamWrapper.html?is-external=true" title="class or interface in org.eclipse.net4j.util.io"><CODE>XORStreamWrapper</CODE></A> instances.</TD>
</TR>
</TABLE>
&nbsp;
diff --git a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/wrapping/package-summary.html b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/wrapping/package-summary.html
index bf2aa3b529..91882be819 100644
--- a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/wrapping/package-summary.html
+++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/wrapping/package-summary.html
@@ -103,15 +103,16 @@ Some container injectors for use with signal protocols.
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../../org/eclipse/net4j/signal/wrapping/GZIPStreamWrapperInjector.html" title="class in org.eclipse.net4j.signal.wrapping">GZIPStreamWrapperInjector</A></B></TD>
-<TD>&nbsp;</TD>
+<TD>An <A HREF="../../../../../org/eclipse/net4j/signal/wrapping/StreamWrapperInjector.html" title="class in org.eclipse.net4j.signal.wrapping"><CODE>injector</CODE></A> that injects <A HREF="../../../../../../../org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/io/GZIPStreamWrapper.html?is-external=true" title="class or interface in org.eclipse.net4j.util.io"><CODE>GZIPStreamWrapper</CODE></A> instances.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../../org/eclipse/net4j/signal/wrapping/StreamWrapperInjector.html" title="class in org.eclipse.net4j.signal.wrapping">StreamWrapperInjector</A></B></TD>
-<TD>&nbsp;</TD>
+<TD>An <A HREF="../../../../../../../org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/IElementProcessor.html?is-external=true" title="class or interface in org.eclipse.net4j.util.container"><CODE>element post processor</CODE></A> that injects a <A HREF="../../../../../org/eclipse/net4j/signal/wrapping/StreamWrapperInjector.html#getStreamWrapper()"><CODE>stream wrapper</CODE></A>
+ into <A HREF="../../../../../org/eclipse/net4j/signal/SignalProtocol.html" title="class in org.eclipse.net4j.signal"><CODE>signal protocol</CODE></A> instances.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../../org/eclipse/net4j/signal/wrapping/XORStreamWrapperInjector.html" title="class in org.eclipse.net4j.signal.wrapping">XORStreamWrapperInjector</A></B></TD>
-<TD>&nbsp;</TD>
+<TD>An <A HREF="../../../../../org/eclipse/net4j/signal/wrapping/StreamWrapperInjector.html" title="class in org.eclipse.net4j.signal.wrapping"><CODE>injector</CODE></A> that injects <A HREF="../../../../../../../org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/io/XORStreamWrapper.html?is-external=true" title="class or interface in org.eclipse.net4j.util.io"><CODE>XORStreamWrapper</CODE></A> instances.</TD>
</TR>
</TABLE>
&nbsp;
diff --git a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/wrapping/package-use.html b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/wrapping/package-use.html
index 7d357bf660..634a3751b9 100644
--- a/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/wrapping/package-use.html
+++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/wrapping/package-use.html
@@ -106,7 +106,8 @@ Classes in <A HREF="../../../../../org/eclipse/net4j/signal/wrapping/package-sum
<TD><B><A HREF="../../../../../org/eclipse/net4j/signal/wrapping/class-use/StreamWrapperInjector.html#org.eclipse.net4j.signal.wrapping"><B>StreamWrapperInjector</B></A></B>
<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;An <A HREF="../../../../../../../org.eclipse.net4j.util.doc/javadoc/org/eclipse/net4j/util/container/IElementProcessor.html?is-external=true" title="class or interface in org.eclipse.net4j.util.container"><CODE>element post processor</CODE></A> that injects a <A HREF="../../../../../org/eclipse/net4j/signal/wrapping/StreamWrapperInjector.html#getStreamWrapper()"><CODE>stream wrapper</CODE></A>
+ into <A HREF="../../../../../org/eclipse/net4j/signal/SignalProtocol.html" title="class in org.eclipse.net4j.signal"><CODE>signal protocol</CODE></A> instances.</TD>
</TR>
</TABLE>
&nbsp;
diff --git a/plugins/org.eclipse.net4j.doc/javadoc/overview-summary.html b/plugins/org.eclipse.net4j.doc/javadoc/overview-summary.html
index 6ce0197d39..a6112af6ab 100644
--- a/plugins/org.eclipse.net4j.doc/javadoc/overview-summary.html
+++ b/plugins/org.eclipse.net4j.doc/javadoc/overview-summary.html
@@ -123,8 +123,7 @@ The Net4j Signalling platform is an extensible client/server communications fram
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="20%"><B><A HREF="org/eclipse/net4j/signal/package-summary.html">org.eclipse.net4j.signal</A></B></TD>
-<TD>A framework for request/response based communication on top of
- the Net4j transport layer.</TD>
+<TD>A framework for request/response based communication on top of the Net4j transport layer.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="20%"><B><A HREF="org/eclipse/net4j/signal/heartbeat/package-summary.html">org.eclipse.net4j.signal.heartbeat</A></B></TD>
diff --git a/plugins/org.eclipse.net4j.jvm/src/org/eclipse/net4j/jvm/IJVMChannel.java b/plugins/org.eclipse.net4j.jvm/src/org/eclipse/net4j/jvm/IJVMChannel.java
index a047945e2c..6b57250ea7 100644
--- a/plugins/org.eclipse.net4j.jvm/src/org/eclipse/net4j/jvm/IJVMChannel.java
+++ b/plugins/org.eclipse.net4j.jvm/src/org/eclipse/net4j/jvm/IJVMChannel.java
@@ -1,22 +1,24 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
- */
-package org.eclipse.net4j.jvm;
-
-import org.eclipse.net4j.channel.IChannel;
-
-/**
- * @author Eike Stepper
- * @since 4.1
- */
-public interface IJVMChannel extends IChannel
-{
- public IJVMChannel getPeer();
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.net4j.jvm;
+
+import org.eclipse.net4j.channel.IChannel;
+
+/**
+ * A {@link IChannel channel} of a {@link IJVMConnector JVM connector}.
+ *
+ * @author Eike Stepper
+ * @since 4.1
+ */
+public interface IJVMChannel extends IChannel
+{
+ public IJVMChannel getPeer();
+}
diff --git a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/acceptor/doc-files/acceptors.png b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/acceptor/doc-files/acceptors.png
new file mode 100644
index 0000000000..7a16b6ef01
--- /dev/null
+++ b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/acceptor/doc-files/acceptors.png
Binary files differ
diff --git a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/acceptor/package-info.java b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/acceptor/package-info.java
index 4d3df6c7bd..a97cf9611f 100644
--- a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/acceptor/package-info.java
+++ b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/acceptor/package-info.java
@@ -1,15 +1,18 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
- */
-
-/**
- * The Net4j transport layer concepts for dealing with acceptors.
- */
-package org.eclipse.net4j.acceptor;
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+
+/**
+ * The Net4j transport layer concepts for dealing with acceptors.
+ * <p>
+ * <img src="doc-files/acceptors.png" title="Diagram Acceptors" border="0"/>
+ */
+package org.eclipse.net4j.acceptor;
+
diff --git a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/buffer/doc-files/buffers.png b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/buffer/doc-files/buffers.png
new file mode 100644
index 0000000000..b7f851ae36
--- /dev/null
+++ b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/buffer/doc-files/buffers.png
Binary files differ
diff --git a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/buffer/package-info.java b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/buffer/package-info.java
index b3f9f777b4..a2566f6390 100644
--- a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/buffer/package-info.java
+++ b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/buffer/package-info.java
@@ -1,15 +1,18 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
- */
-
-/**
- * The Net4j transport layer concepts for dealing with buffers.
- */
-package org.eclipse.net4j.buffer;
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+
+/**
+ * The Net4j transport layer concepts for dealing with buffers.
+ * <p>
+ * <img src="doc-files/buffers.png" title="Diagram Buffers" border="0"/>
+ */
+package org.eclipse.net4j.buffer;
+
diff --git a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/channel/doc-files/channels.png b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/channel/doc-files/channels.png
new file mode 100644
index 0000000000..d45c55116f
--- /dev/null
+++ b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/channel/doc-files/channels.png
Binary files differ
diff --git a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/channel/package-info.java b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/channel/package-info.java
index 70c33b6374..cc098193c6 100644
--- a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/channel/package-info.java
+++ b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/channel/package-info.java
@@ -1,15 +1,18 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
- */
-
-/**
- * The Net4j transport layer concepts for dealing with channels.
- */
-package org.eclipse.net4j.channel;
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+
+/**
+ * The Net4j transport layer concepts for dealing with channels.
+ * <p>
+ * <img src="doc-files/channels.png" title="Diagram Channels" border="0"/>
+ */
+package org.eclipse.net4j.channel;
+
diff --git a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/connector/doc-files/connectors.png b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/connector/doc-files/connectors.png
new file mode 100644
index 0000000000..741ec4598e
--- /dev/null
+++ b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/connector/doc-files/connectors.png
Binary files differ
diff --git a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/connector/package-info.java b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/connector/package-info.java
index aa7dd0a97b..387496c248 100644
--- a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/connector/package-info.java
+++ b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/connector/package-info.java
@@ -1,15 +1,18 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
- */
-
-/**
- * The Net4j transport layer concepts for dealing with connectors.
- */
-package org.eclipse.net4j.connector;
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+
+/**
+ * The Net4j transport layer concepts for dealing with connectors.
+ * <p>
+ * <img src="doc-files/connectors.png" title="Diagram Connectors" border="0"/>
+ */
+package org.eclipse.net4j.connector;
+
diff --git a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/doc-files/architecture.png b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/doc-files/architecture.png
new file mode 100644
index 0000000000..93eb57f313
--- /dev/null
+++ b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/doc-files/architecture.png
Binary files differ
diff --git a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/package-info.java b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/package-info.java
index 13356f72d0..7e4a6921ea 100644
--- a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/package-info.java
+++ b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/package-info.java
@@ -1,36 +1,27 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
- */
-
-/**
- * The Net4j transport layer.
- * The five main interfaces of the transport layer are:
- * <ul>
- * <li>{@link org.eclipse.net4j.buffer.IBuffer}</li>
- * <li>{@link org.eclipse.net4j.channel.IChannel}</li>
- * <li>{@link org.eclipse.net4j.acceptor.IAcceptor}</li>
- * <li>{@link org.eclipse.net4j.connector.IConnector}</li>
- * <li>{@link org.eclipse.net4j.protocol.IProtocol}</li>
- * </ul>
- * <p>
- *
- * <dt><b>Sequence Diagram: Communication Process</b></dt>
- * <dd> <img src="doc-files/CommunicationProcess.jpg" title="Communication Process" border="0"
- * usemap="#CommunicationProcess.jpg"/></dd>
- * <p>
- * <MAP NAME="CommunicationProcess.jpg">
- * <AREA SHAPE="RECT" COORDS="128,94,247,123" HREF="IConnector.html">
- * <AREA SHAPE="RECT" COORDS="648,95,767,123" HREF="IConnector.html">
- * <AREA SHAPE="RECT" COORDS="509,254,608,283" HREF="IChannel.html">
- * <AREA SHAPE="RECT" COORDS="287,355,387,383" HREF="IChannel.html">
- * <AREA SHAPE="RECT" COORDS="818,195,897,222" HREF="IProtocol.html">
- * </MAP>
- */
-package org.eclipse.net4j;
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+
+/**
+ * The Net4j transport layer.
+ * <p>
+ * <img src="doc-files/architecture.png" title="Diagram Architecture" border="0"/>
+ * <p>
+ * The five main interfaces of the transport layer are:
+ * <ul>
+ * <li>{@link org.eclipse.net4j.buffer.IBuffer}</li>
+ * <li>{@link org.eclipse.net4j.channel.IChannel}</li>
+ * <li>{@link org.eclipse.net4j.acceptor.IAcceptor}</li>
+ * <li>{@link org.eclipse.net4j.connector.IConnector}</li>
+ * <li>{@link org.eclipse.net4j.protocol.IProtocol}</li>
+ * </ul>
+ */
+package org.eclipse.net4j;
+
diff --git a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/protocol/IProtocol.java b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/protocol/IProtocol.java
index 882111c565..2e3bcc8d0b 100644
--- a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/protocol/IProtocol.java
+++ b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/protocol/IProtocol.java
@@ -1,41 +1,43 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
- */
-package org.eclipse.net4j.protocol;
-
-import org.eclipse.net4j.ILocationAware;
-import org.eclipse.net4j.buffer.IBufferHandler;
-import org.eclipse.net4j.buffer.IBufferProvider;
-import org.eclipse.net4j.channel.IChannel;
-import org.eclipse.net4j.util.security.IUserAware;
-
-import java.util.concurrent.ExecutorService;
-
-/**
- * @author Eike Stepper
- */
-public interface IProtocol<INFRA_STRUCTURE> extends IUserAware, ILocationAware, IBufferHandler
-{
- public String getType();
-
- public IChannel getChannel();
-
- public void setChannel(IChannel channel);
-
- public INFRA_STRUCTURE getInfraStructure();
-
- public void setInfraStructure(INFRA_STRUCTURE infraStructure);
-
- public IBufferProvider getBufferProvider();
-
- public ExecutorService getExecutorService();
-
- public void setExecutorService(ExecutorService executorService);
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.net4j.protocol;
+
+import org.eclipse.net4j.ILocationAware;
+import org.eclipse.net4j.buffer.IBufferHandler;
+import org.eclipse.net4j.buffer.IBufferProvider;
+import org.eclipse.net4j.channel.IChannel;
+import org.eclipse.net4j.util.security.IUserAware;
+
+import java.util.concurrent.ExecutorService;
+
+/**
+ * A {@link #getType() typed} {@link IBufferHandler buffer handler} for a {@link #getChannel() channel}.
+ *
+ * @author Eike Stepper
+ */
+public interface IProtocol<INFRA_STRUCTURE> extends IUserAware, ILocationAware, IBufferHandler
+{
+ public String getType();
+
+ public IChannel getChannel();
+
+ public void setChannel(IChannel channel);
+
+ public INFRA_STRUCTURE getInfraStructure();
+
+ public void setInfraStructure(INFRA_STRUCTURE infraStructure);
+
+ public IBufferProvider getBufferProvider();
+
+ public ExecutorService getExecutorService();
+
+ public void setExecutorService(ExecutorService executorService);
+}
diff --git a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/protocol/IProtocolProvider.java b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/protocol/IProtocolProvider.java
index ce7ecd9b0e..5aa3f5d298 100644
--- a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/protocol/IProtocolProvider.java
+++ b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/protocol/IProtocolProvider.java
@@ -1,22 +1,24 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
- */
-package org.eclipse.net4j.protocol;
-
-/**
- * @author Eike Stepper
- */
-public interface IProtocolProvider
-{
- /**
- * @since 2.0
- */
- public IProtocol<?> getProtocol(String type);
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.net4j.protocol;
+
+/**
+ * Provides {@link IProtocol protocol} instances for given types.
+ *
+ * @author Eike Stepper
+ */
+public interface IProtocolProvider
+{
+ /**
+ * @since 2.0
+ */
+ public IProtocol<?> getProtocol(String type);
+}
diff --git a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/protocol/doc-files/protocols.png b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/protocol/doc-files/protocols.png
new file mode 100644
index 0000000000..968099381c
--- /dev/null
+++ b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/protocol/doc-files/protocols.png
Binary files differ
diff --git a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/protocol/package-info.java b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/protocol/package-info.java
index b68bc1d0e6..4e90149fee 100644
--- a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/protocol/package-info.java
+++ b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/protocol/package-info.java
@@ -1,15 +1,18 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
- */
-
-/**
- * The Net4j transport layer concepts for dealing with protocols.
- */
-package org.eclipse.net4j.protocol;
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+
+/**
+ * The Net4j transport layer concepts for dealing with protocols.
+ * <p>
+ * <img src="doc-files/protocols.png" title="Diagram Protocols" border="0"/>
+ */
+package org.eclipse.net4j.protocol;
+
diff --git a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/ISignalProtocol.java b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/ISignalProtocol.java
index 32737022b8..ccb5fc6fa4 100644
--- a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/ISignalProtocol.java
+++ b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/ISignalProtocol.java
@@ -1,43 +1,45 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
- */
-package org.eclipse.net4j.signal;
-
-import org.eclipse.net4j.buffer.BufferInputStream;
-import org.eclipse.net4j.channel.IChannel;
-import org.eclipse.net4j.connector.IConnector;
-import org.eclipse.net4j.protocol.IProtocol;
-import org.eclipse.net4j.util.event.INotifier;
-import org.eclipse.net4j.util.io.IStreamWrapper;
-
-/**
- * @author Eike Stepper
- * @since 2.0
- */
-public interface ISignalProtocol<INFRA_STRUCTURE> extends IProtocol<INFRA_STRUCTURE>, INotifier
-{
- public static final long NO_TIMEOUT = BufferInputStream.NO_TIMEOUT;
-
- public static final long DEFAULT_TIMEOUT = 10 * 1000L;
-
- public long getTimeout();
-
- public void setTimeout(long timeout);
-
- public IStreamWrapper getStreamWrapper();
-
- public void setStreamWrapper(IStreamWrapper streamWrapper);
-
- public void addStreamWrapper(IStreamWrapper streamWrapper);
-
- public IChannel open(IConnector connector);
-
- public void close();
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.net4j.signal;
+
+import org.eclipse.net4j.buffer.BufferInputStream;
+import org.eclipse.net4j.channel.IChannel;
+import org.eclipse.net4j.connector.IConnector;
+import org.eclipse.net4j.protocol.IProtocol;
+import org.eclipse.net4j.util.event.INotifier;
+import org.eclipse.net4j.util.io.IStreamWrapper;
+
+/**
+ * A {@link IProtocol protocol} that consists of a number of stream-based {@link Signal signals}.
+ *
+ * @author Eike Stepper
+ * @since 2.0
+ */
+public interface ISignalProtocol<INFRA_STRUCTURE> extends IProtocol<INFRA_STRUCTURE>, INotifier
+{
+ public static final long NO_TIMEOUT = BufferInputStream.NO_TIMEOUT;
+
+ public static final long DEFAULT_TIMEOUT = 10 * 1000L;
+
+ public long getTimeout();
+
+ public void setTimeout(long timeout);
+
+ public IStreamWrapper getStreamWrapper();
+
+ public void setStreamWrapper(IStreamWrapper streamWrapper);
+
+ public void addStreamWrapper(IStreamWrapper streamWrapper);
+
+ public IChannel open(IConnector connector);
+
+ public void close();
+}
diff --git a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/Indication.java b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/Indication.java
index 756526aad9..ebef17ad4a 100644
--- a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/Indication.java
+++ b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/Indication.java
@@ -1,59 +1,61 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
- */
-package org.eclipse.net4j.signal;
-
-import org.eclipse.net4j.buffer.BufferInputStream;
-import org.eclipse.net4j.buffer.BufferOutputStream;
-import org.eclipse.net4j.util.io.ExtendedDataInputStream;
-
-/**
- * @author Eike Stepper
- */
-public abstract class Indication extends SignalReactor
-{
- /**
- * @since 2.0
- */
- public Indication(SignalProtocol<?> protocol, short id, String name)
- {
- super(protocol, id, name);
- }
-
- /**
- * @since 2.0
- */
- public Indication(SignalProtocol<?> protocol, short signalID)
- {
- super(protocol, signalID);
- }
-
- /**
- * @since 2.0
- */
- public Indication(SignalProtocol<?> protocol, Enum<?> literal)
- {
- super(protocol, literal);
- }
-
- @Override
- protected void execute(BufferInputStream in, BufferOutputStream out) throws Exception
- {
- doInput(in);
- }
-
- @Override
- void doExtendedInput(ExtendedDataInputStream in) throws Exception
- {
- indicating(in);
- }
-
- protected abstract void indicating(ExtendedDataInputStream in) throws Exception;
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.net4j.signal;
+
+import org.eclipse.net4j.buffer.BufferInputStream;
+import org.eclipse.net4j.buffer.BufferOutputStream;
+import org.eclipse.net4j.util.io.ExtendedDataInputStream;
+
+/**
+ * Represents the receiver side of a one-way {@link Signal signal}, i.e., one with no response.
+ *
+ * @author Eike Stepper
+ */
+public abstract class Indication extends SignalReactor
+{
+ /**
+ * @since 2.0
+ */
+ public Indication(SignalProtocol<?> protocol, short id, String name)
+ {
+ super(protocol, id, name);
+ }
+
+ /**
+ * @since 2.0
+ */
+ public Indication(SignalProtocol<?> protocol, short signalID)
+ {
+ super(protocol, signalID);
+ }
+
+ /**
+ * @since 2.0
+ */
+ public Indication(SignalProtocol<?> protocol, Enum<?> literal)
+ {
+ super(protocol, literal);
+ }
+
+ @Override
+ protected void execute(BufferInputStream in, BufferOutputStream out) throws Exception
+ {
+ doInput(in);
+ }
+
+ @Override
+ void doExtendedInput(ExtendedDataInputStream in) throws Exception
+ {
+ indicating(in);
+ }
+
+ protected abstract void indicating(ExtendedDataInputStream in) throws Exception;
+}
diff --git a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/IndicationWithMonitoring.java b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/IndicationWithMonitoring.java
index 6241a29522..4d25822c1e 100644
--- a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/IndicationWithMonitoring.java
+++ b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/IndicationWithMonitoring.java
@@ -1,172 +1,174 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
- */
-package org.eclipse.net4j.signal;
-
-import org.eclipse.net4j.buffer.BufferInputStream;
-import org.eclipse.net4j.buffer.BufferOutputStream;
-import org.eclipse.net4j.util.io.ExtendedDataInputStream;
-import org.eclipse.net4j.util.io.ExtendedDataOutputStream;
-import org.eclipse.net4j.util.lifecycle.LifecycleUtil;
-import org.eclipse.net4j.util.om.monitor.OMMonitor;
-import org.eclipse.net4j.util.om.monitor.TimeoutMonitor;
-
-import org.eclipse.internal.net4j.bundle.OM;
-
-import java.util.TimerTask;
-import java.util.concurrent.ExecutorService;
-
-/**
- * @author Eike Stepper
- * @since 2.0
- */
-public abstract class IndicationWithMonitoring extends IndicationWithResponse
-{
- private ReportingMonitor monitor;
-
- /**
- * @since 2.0
- */
- public IndicationWithMonitoring(SignalProtocol<?> protocol, short id, String name)
- {
- super(protocol, id, name);
- }
-
- /**
- * @since 2.0
- */
- public IndicationWithMonitoring(SignalProtocol<?> protocol, short signalID)
- {
- super(protocol, signalID);
- }
-
- /**
- * @since 2.0
- */
- public IndicationWithMonitoring(SignalProtocol<?> protocol, Enum<?> literal)
- {
- super(protocol, literal);
- }
-
- @Override
- protected void execute(BufferInputStream in, BufferOutputStream out) throws Exception
- {
- try
- {
- super.execute(in, out);
- }
- finally
- {
- if (monitor != null)
- {
- monitor.done();
- monitor = null;
- }
- }
- }
-
- @Override
- protected final void indicating(ExtendedDataInputStream in) throws Exception
- {
- int monitorProgressSeconds = in.readInt();
- int monitorTimeoutSeconds = in.readInt();
-
- monitor = new ReportingMonitor(monitorProgressSeconds, monitorTimeoutSeconds);
- monitor.begin(OMMonitor.HUNDRED);
-
- indicating(in, monitor.fork(getIndicatingWorkPercent()));
- }
-
- @Override
- protected final void responding(ExtendedDataOutputStream out) throws Exception
- {
- responding(out, monitor.fork(OMMonitor.HUNDRED - getIndicatingWorkPercent()));
- }
-
- protected abstract void indicating(ExtendedDataInputStream in, OMMonitor monitor) throws Exception;
-
- protected abstract void responding(ExtendedDataOutputStream out, OMMonitor monitor) throws Exception;
-
- /**
- * @since 2.0
- */
- protected ExecutorService getMonitoringExecutorService()
- {
- return getProtocol().getExecutorService();
- }
-
- protected int getIndicatingWorkPercent()
- {
- return 99;
- }
-
- void setMonitorCanceled()
- {
- monitor.cancel();
- }
-
- /**
- * @author Eike Stepper
- */
- private final class ReportingMonitor extends TimeoutMonitor
- {
- private TimerTask sendProgressTask = new TimerTask()
- {
- @Override
- public void run()
- {
- try
- {
- sendProgress();
- }
- catch (Exception ex)
- {
- OM.LOG.error("ReportingMonitorTask failed", ex);
- }
- }
- };
-
- public ReportingMonitor(int monitorProgressSeconds, int monitorTimeoutSeconds)
- {
- super(1000L * monitorTimeoutSeconds);
- long period = 1000L * monitorProgressSeconds;
- scheduleAtFixedRate(sendProgressTask, period, period);
- }
-
- @Override
- public void cancel(RuntimeException cancelException)
- {
- sendProgressTask.cancel();
- super.cancel(cancelException);
- }
-
- @Override
- public void done()
- {
- sendProgressTask.cancel();
- super.done();
- }
-
- private void sendProgress()
- {
- try
- {
- new MonitorProgressRequest(getProtocol(), -getCorrelationID(), getTotalWork(), getWork()).sendAsync();
- }
- catch (Exception ex)
- {
- if (LifecycleUtil.isActive(getProtocol().getChannel()))
- {
- OM.LOG.error(ex);
- }
- }
- }
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.net4j.signal;
+
+import org.eclipse.net4j.buffer.BufferInputStream;
+import org.eclipse.net4j.buffer.BufferOutputStream;
+import org.eclipse.net4j.util.io.ExtendedDataInputStream;
+import org.eclipse.net4j.util.io.ExtendedDataOutputStream;
+import org.eclipse.net4j.util.lifecycle.LifecycleUtil;
+import org.eclipse.net4j.util.om.monitor.OMMonitor;
+import org.eclipse.net4j.util.om.monitor.TimeoutMonitor;
+
+import org.eclipse.internal.net4j.bundle.OM;
+
+import java.util.TimerTask;
+import java.util.concurrent.ExecutorService;
+
+/**
+ * Represents the receiver side of a two-way {@link IndicationWithResponse signal} with additional support for remote progress monitoring.
+ *
+ * @author Eike Stepper
+ * @since 2.0
+ */
+public abstract class IndicationWithMonitoring extends IndicationWithResponse
+{
+ private ReportingMonitor monitor;
+
+ /**
+ * @since 2.0
+ */
+ public IndicationWithMonitoring(SignalProtocol<?> protocol, short id, String name)
+ {
+ super(protocol, id, name);
+ }
+
+ /**
+ * @since 2.0
+ */
+ public IndicationWithMonitoring(SignalProtocol<?> protocol, short signalID)
+ {
+ super(protocol, signalID);
+ }
+
+ /**
+ * @since 2.0
+ */
+ public IndicationWithMonitoring(SignalProtocol<?> protocol, Enum<?> literal)
+ {
+ super(protocol, literal);
+ }
+
+ @Override
+ protected void execute(BufferInputStream in, BufferOutputStream out) throws Exception
+ {
+ try
+ {
+ super.execute(in, out);
+ }
+ finally
+ {
+ if (monitor != null)
+ {
+ monitor.done();
+ monitor = null;
+ }
+ }
+ }
+
+ @Override
+ protected final void indicating(ExtendedDataInputStream in) throws Exception
+ {
+ int monitorProgressSeconds = in.readInt();
+ int monitorTimeoutSeconds = in.readInt();
+
+ monitor = new ReportingMonitor(monitorProgressSeconds, monitorTimeoutSeconds);
+ monitor.begin(OMMonitor.HUNDRED);
+
+ indicating(in, monitor.fork(getIndicatingWorkPercent()));
+ }
+
+ @Override
+ protected final void responding(ExtendedDataOutputStream out) throws Exception
+ {
+ responding(out, monitor.fork(OMMonitor.HUNDRED - getIndicatingWorkPercent()));
+ }
+
+ protected abstract void indicating(ExtendedDataInputStream in, OMMonitor monitor) throws Exception;
+
+ protected abstract void responding(ExtendedDataOutputStream out, OMMonitor monitor) throws Exception;
+
+ /**
+ * @since 2.0
+ */
+ protected ExecutorService getMonitoringExecutorService()
+ {
+ return getProtocol().getExecutorService();
+ }
+
+ protected int getIndicatingWorkPercent()
+ {
+ return 99;
+ }
+
+ void setMonitorCanceled()
+ {
+ monitor.cancel();
+ }
+
+ /**
+ * @author Eike Stepper
+ */
+ private final class ReportingMonitor extends TimeoutMonitor
+ {
+ private TimerTask sendProgressTask = new TimerTask()
+ {
+ @Override
+ public void run()
+ {
+ try
+ {
+ sendProgress();
+ }
+ catch (Exception ex)
+ {
+ OM.LOG.error("ReportingMonitorTask failed", ex);
+ }
+ }
+ };
+
+ public ReportingMonitor(int monitorProgressSeconds, int monitorTimeoutSeconds)
+ {
+ super(1000L * monitorTimeoutSeconds);
+ long period = 1000L * monitorProgressSeconds;
+ scheduleAtFixedRate(sendProgressTask, period, period);
+ }
+
+ @Override
+ public void cancel(RuntimeException cancelException)
+ {
+ sendProgressTask.cancel();
+ super.cancel(cancelException);
+ }
+
+ @Override
+ public void done()
+ {
+ sendProgressTask.cancel();
+ super.done();
+ }
+
+ private void sendProgress()
+ {
+ try
+ {
+ new MonitorProgressRequest(getProtocol(), -getCorrelationID(), getTotalWork(), getWork()).sendAsync();
+ }
+ catch (Exception ex)
+ {
+ if (LifecycleUtil.isActive(getProtocol().getChannel()))
+ {
+ OM.LOG.error(ex);
+ }
+ }
+ }
+ }
+}
diff --git a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/IndicationWithResponse.java b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/IndicationWithResponse.java
index 209f2f1bd3..b5b7412793 100644
--- a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/IndicationWithResponse.java
+++ b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/IndicationWithResponse.java
@@ -1,106 +1,108 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
- */
-package org.eclipse.net4j.signal;
-
-import org.eclipse.net4j.buffer.BufferInputStream;
-import org.eclipse.net4j.buffer.BufferOutputStream;
-import org.eclipse.net4j.util.StringUtil;
-import org.eclipse.net4j.util.io.ExtendedDataInputStream;
-import org.eclipse.net4j.util.io.ExtendedDataOutputStream;
-
-/**
- * @author Eike Stepper
- */
-public abstract class IndicationWithResponse extends SignalReactor
-{
- /**
- * @since 2.0
- */
- public IndicationWithResponse(SignalProtocol<?> protocol, short id, String name)
- {
- super(protocol, id, name);
- }
-
- /**
- * @since 2.0
- */
- public IndicationWithResponse(SignalProtocol<?> protocol, short signalID)
- {
- super(protocol, signalID);
- }
-
- /**
- * @since 2.0
- */
- public IndicationWithResponse(SignalProtocol<?> protocol, Enum<?> literal)
- {
- super(protocol, literal);
- }
-
- /**
- * @since 2.0
- */
- protected String getExceptionMessage(Throwable t)
- {
- return StringUtil.formatException(t);
- }
-
- @Override
- protected void execute(BufferInputStream in, BufferOutputStream out) throws Exception
- {
- boolean responding = false;
-
- try
- {
- doInput(in);
- responding = true;
- doOutput(out);
- }
- catch (Error ex)
- {
- sendExceptionSignal(ex, responding);
- throw ex;
- }
- catch (Exception ex)
- {
- sendExceptionSignal(ex, responding);
- throw ex;
- }
- }
-
- protected abstract void indicating(ExtendedDataInputStream in) throws Exception;
-
- /**
- * <b>Important Note:</b> The response must not be empty, i.e. the stream must be used at least to write a
- * <code>boolean</code>. Otherwise synchronization problems will result!
- */
- protected abstract void responding(ExtendedDataOutputStream out) throws Exception;
-
- @Override
- void doExtendedInput(ExtendedDataInputStream in) throws Exception
- {
- indicating(in);
- }
-
- @Override
- void doExtendedOutput(ExtendedDataOutputStream out) throws Exception
- {
- responding(out);
- }
-
- void sendExceptionSignal(Throwable t, boolean responding) throws Exception
- {
- SignalProtocol<?> protocol = getProtocol();
- int correlationID = -getCorrelationID();
- String message = getExceptionMessage(t);
- new RemoteExceptionRequest(protocol, correlationID, responding, message, t).sendAsync();
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.net4j.signal;
+
+import org.eclipse.net4j.buffer.BufferInputStream;
+import org.eclipse.net4j.buffer.BufferOutputStream;
+import org.eclipse.net4j.util.StringUtil;
+import org.eclipse.net4j.util.io.ExtendedDataInputStream;
+import org.eclipse.net4j.util.io.ExtendedDataOutputStream;
+
+/**
+ * Represents the receiver side of a two-way {@link SignalReactor signal}, i.e., one with a response.
+ *
+ * @author Eike Stepper
+ */
+public abstract class IndicationWithResponse extends SignalReactor
+{
+ /**
+ * @since 2.0
+ */
+ public IndicationWithResponse(SignalProtocol<?> protocol, short id, String name)
+ {
+ super(protocol, id, name);
+ }
+
+ /**
+ * @since 2.0
+ */
+ public IndicationWithResponse(SignalProtocol<?> protocol, short signalID)
+ {
+ super(protocol, signalID);
+ }
+
+ /**
+ * @since 2.0
+ */
+ public IndicationWithResponse(SignalProtocol<?> protocol, Enum<?> literal)
+ {
+ super(protocol, literal);
+ }
+
+ /**
+ * @since 2.0
+ */
+ protected String getExceptionMessage(Throwable t)
+ {
+ return StringUtil.formatException(t);
+ }
+
+ @Override
+ protected void execute(BufferInputStream in, BufferOutputStream out) throws Exception
+ {
+ boolean responding = false;
+
+ try
+ {
+ doInput(in);
+ responding = true;
+ doOutput(out);
+ }
+ catch (Error ex)
+ {
+ sendExceptionSignal(ex, responding);
+ throw ex;
+ }
+ catch (Exception ex)
+ {
+ sendExceptionSignal(ex, responding);
+ throw ex;
+ }
+ }
+
+ protected abstract void indicating(ExtendedDataInputStream in) throws Exception;
+
+ /**
+ * <b>Important Note:</b> The response must not be empty, i.e. the stream must be used at least to write a
+ * <code>boolean</code>. Otherwise synchronization problems will result!
+ */
+ protected abstract void responding(ExtendedDataOutputStream out) throws Exception;
+
+ @Override
+ void doExtendedInput(ExtendedDataInputStream in) throws Exception
+ {
+ indicating(in);
+ }
+
+ @Override
+ void doExtendedOutput(ExtendedDataOutputStream out) throws Exception
+ {
+ responding(out);
+ }
+
+ void sendExceptionSignal(Throwable t, boolean responding) throws Exception
+ {
+ SignalProtocol<?> protocol = getProtocol();
+ int correlationID = -getCorrelationID();
+ String message = getExceptionMessage(t);
+ new RemoteExceptionRequest(protocol, correlationID, responding, message, t).sendAsync();
+ }
+}
diff --git a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/RemoteException.java b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/RemoteException.java
index 6c805c51bf..60ba0fa671 100644
--- a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/RemoteException.java
+++ b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/RemoteException.java
@@ -1,74 +1,76 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
- */
-package org.eclipse.net4j.signal;
-
-/**
- * @author Eike Stepper
- * @since 2.0
- */
-public class RemoteException extends RuntimeException
-{
- private static final long serialVersionUID = 1L;
-
- private boolean whileResponding;
-
- private transient RequestWithConfirmation<?> localRequest;
-
- private StackTraceElement[] localStackTrace;
-
- /**
- * @since 4.0
- */
- public RemoteException(Throwable remoteCause, RequestWithConfirmation<?> localRequest, boolean whileResponding)
- {
- super(remoteCause);
- this.localRequest = localRequest;
- this.whileResponding = whileResponding;
- }
-
- public RemoteException(String message, boolean whileResponding)
- {
- super(message);
- this.whileResponding = whileResponding;
- }
-
- public boolean whileResponding()
- {
- return whileResponding;
- }
-
- /**
- * @since 4.0
- */
- public RequestWithConfirmation<?> getLocalRequest()
- {
- return localRequest;
- }
-
- /**
- * @since 4.0
- */
- public void setLocalStacktrace(StackTraceElement[] stackTrace)
- {
- localStackTrace = stackTrace;
- }
-
- /**
- * Returns the local stack as it stood at the time that the <i>remote</i> exception was detected <i>locally</i>. Note
- * that no local problem occurred at the point in the code identified by this stacktrace.
- *
- * @since 4.0
- */
- public StackTraceElement[] getLocalStackTrace()
- {
- return localStackTrace;
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.net4j.signal;
+
+/**
+ * An exception that wraps an exception that has been thrown during the execution of a remote {@link SignalReactor signal}.
+ *
+ * @author Eike Stepper
+ * @since 2.0
+ */
+public class RemoteException extends RuntimeException
+{
+ private static final long serialVersionUID = 1L;
+
+ private boolean whileResponding;
+
+ private transient RequestWithConfirmation<?> localRequest;
+
+ private StackTraceElement[] localStackTrace;
+
+ /**
+ * @since 4.0
+ */
+ public RemoteException(Throwable remoteCause, RequestWithConfirmation<?> localRequest, boolean whileResponding)
+ {
+ super(remoteCause);
+ this.localRequest = localRequest;
+ this.whileResponding = whileResponding;
+ }
+
+ public RemoteException(String message, boolean whileResponding)
+ {
+ super(message);
+ this.whileResponding = whileResponding;
+ }
+
+ public boolean whileResponding()
+ {
+ return whileResponding;
+ }
+
+ /**
+ * @since 4.0
+ */
+ public RequestWithConfirmation<?> getLocalRequest()
+ {
+ return localRequest;
+ }
+
+ /**
+ * @since 4.0
+ */
+ public void setLocalStacktrace(StackTraceElement[] stackTrace)
+ {
+ localStackTrace = stackTrace;
+ }
+
+ /**
+ * Returns the local stack as it stood at the time that the <i>remote</i> exception was detected <i>locally</i>. Note
+ * that no local problem occurred at the point in the code identified by this stacktrace.
+ *
+ * @since 4.0
+ */
+ public StackTraceElement[] getLocalStackTrace()
+ {
+ return localStackTrace;
+ }
+}
diff --git a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/Request.java b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/Request.java
index d933142d48..430347652e 100644
--- a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/Request.java
+++ b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/Request.java
@@ -1,67 +1,69 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
- */
-package org.eclipse.net4j.signal;
-
-import org.eclipse.net4j.buffer.BufferInputStream;
-import org.eclipse.net4j.buffer.BufferOutputStream;
-import org.eclipse.net4j.util.io.ExtendedDataOutputStream;
-
-/**
- * @author Eike Stepper
- */
-public abstract class Request extends SignalActor
-{
- /**
- * @since 2.0
- */
- public Request(SignalProtocol<?> protocol, short id, String name)
- {
- super(protocol, id, name);
- }
-
- /**
- * @since 2.0
- */
- public Request(SignalProtocol<?> protocol, short signalID)
- {
- super(protocol, signalID);
- }
-
- /**
- * @since 2.0
- */
- public Request(SignalProtocol<?> protocol, Enum<?> literal)
- {
- super(protocol, literal);
- }
-
- /**
- * @since 2.0
- */
- public void sendAsync() throws Exception
- {
- getProtocol().startSignal(this, getProtocol().getTimeout());
- }
-
- @Override
- void doExecute(BufferInputStream in, BufferOutputStream out) throws Exception
- {
- doOutput(out);
- }
-
- protected abstract void requesting(ExtendedDataOutputStream out) throws Exception;
-
- @Override
- void doExtendedOutput(ExtendedDataOutputStream out) throws Exception
- {
- requesting(out);
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.net4j.signal;
+
+import org.eclipse.net4j.buffer.BufferInputStream;
+import org.eclipse.net4j.buffer.BufferOutputStream;
+import org.eclipse.net4j.util.io.ExtendedDataOutputStream;
+
+/**
+ * Represents the sender side of a one-way {@link Signal signal}, i.e., one with no response.
+ *
+ * @author Eike Stepper
+ */
+public abstract class Request extends SignalActor
+{
+ /**
+ * @since 2.0
+ */
+ public Request(SignalProtocol<?> protocol, short id, String name)
+ {
+ super(protocol, id, name);
+ }
+
+ /**
+ * @since 2.0
+ */
+ public Request(SignalProtocol<?> protocol, short signalID)
+ {
+ super(protocol, signalID);
+ }
+
+ /**
+ * @since 2.0
+ */
+ public Request(SignalProtocol<?> protocol, Enum<?> literal)
+ {
+ super(protocol, literal);
+ }
+
+ /**
+ * @since 2.0
+ */
+ public void sendAsync() throws Exception
+ {
+ getProtocol().startSignal(this, getProtocol().getTimeout());
+ }
+
+ @Override
+ void doExecute(BufferInputStream in, BufferOutputStream out) throws Exception
+ {
+ doOutput(out);
+ }
+
+ protected abstract void requesting(ExtendedDataOutputStream out) throws Exception;
+
+ @Override
+ void doExtendedOutput(ExtendedDataOutputStream out) throws Exception
+ {
+ requesting(out);
+ }
+}
diff --git a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/RequestWithConfirmation.java b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/RequestWithConfirmation.java
index 062caed720..c32c50a81e 100644
--- a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/RequestWithConfirmation.java
+++ b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/RequestWithConfirmation.java
@@ -1,141 +1,143 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
- */
-package org.eclipse.net4j.signal;
-
-import org.eclipse.net4j.buffer.BufferInputStream;
-import org.eclipse.net4j.buffer.BufferOutputStream;
-import org.eclipse.net4j.util.io.ExtendedDataInputStream;
-import org.eclipse.net4j.util.io.ExtendedDataOutputStream;
-
-import java.util.concurrent.Callable;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Future;
-
-/**
- * @author Eike Stepper
- */
-public abstract class RequestWithConfirmation<RESULT> extends SignalActor
-{
- private RESULT result;
-
- /**
- * @since 2.0
- */
- public RequestWithConfirmation(SignalProtocol<?> protocol, short id, String name)
- {
- super(protocol, id, name);
- }
-
- /**
- * @since 2.0
- */
- public RequestWithConfirmation(SignalProtocol<?> protocol, short signalID)
- {
- super(protocol, signalID);
- }
-
- /**
- * @since 2.0
- */
- public RequestWithConfirmation(SignalProtocol<?> protocol, Enum<?> literal)
- {
- super(protocol, literal);
- }
-
- /**
- * @since 2.0
- */
- public Future<RESULT> sendAsync()
- {
- ExecutorService executorService = getAsyncExecutorService();
- return executorService.submit(new Callable<RESULT>()
- {
- public RESULT call() throws Exception
- {
- return doSend(getProtocol().getTimeout());
- }
- });
- }
-
- /**
- * @since 2.0
- */
- public RESULT send() throws Exception, RemoteException
- {
- return doSend(getProtocol().getTimeout());
- }
-
- /**
- * @since 2.0
- */
- public RESULT send(long timeout) throws Exception, RemoteException
- {
- return doSend(timeout);
- }
-
- RESULT doSend(long timeout) throws Exception
- {
- result = null;
- getProtocol().startSignal(this, timeout);
- return result;
- }
-
- /**
- * @since 2.0
- */
- protected ExecutorService getAsyncExecutorService()
- {
- return getProtocol().getExecutorService();
- }
-
- @Override
- void doExecute(BufferInputStream in, BufferOutputStream out) throws Exception
- {
- doOutput(out);
- doInput(in);
- }
-
- protected abstract void requesting(ExtendedDataOutputStream out) throws Exception;
-
- /**
- * <b>Important Note:</b> The confirmation must not be empty, i.e. the stream must be used at least to read a
- * <code>boolean</code>. Otherwise synchronization problems will result!
- */
- protected abstract RESULT confirming(ExtendedDataInputStream in) throws Exception;
-
- @Override
- void doExtendedOutput(ExtendedDataOutputStream out) throws Exception
- {
- requesting(out);
- }
-
- @Override
- void doExtendedInput(ExtendedDataInputStream in) throws Exception
- {
- result = confirming(in);
- }
-
- void setRemoteException(Throwable t, boolean responding)
- {
- RemoteException remoteException = getRemoteException(t, responding);
- getBufferInputStream().setException(remoteException);
- }
-
- private RemoteException getRemoteException(Throwable t, boolean responding)
- {
- if (t instanceof RemoteException)
- {
- return (RemoteException)t;
- }
-
- return new RemoteException(t, this, responding);
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.net4j.signal;
+
+import org.eclipse.net4j.buffer.BufferInputStream;
+import org.eclipse.net4j.buffer.BufferOutputStream;
+import org.eclipse.net4j.util.io.ExtendedDataInputStream;
+import org.eclipse.net4j.util.io.ExtendedDataOutputStream;
+
+import java.util.concurrent.Callable;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Future;
+
+/**
+ * Represents the sender side of a two-way {@link SignalActor signal}, i.e., one with a response.
+ *
+ * @author Eike Stepper
+ */
+public abstract class RequestWithConfirmation<RESULT> extends SignalActor
+{
+ private RESULT result;
+
+ /**
+ * @since 2.0
+ */
+ public RequestWithConfirmation(SignalProtocol<?> protocol, short id, String name)
+ {
+ super(protocol, id, name);
+ }
+
+ /**
+ * @since 2.0
+ */
+ public RequestWithConfirmation(SignalProtocol<?> protocol, short signalID)
+ {
+ super(protocol, signalID);
+ }
+
+ /**
+ * @since 2.0
+ */
+ public RequestWithConfirmation(SignalProtocol<?> protocol, Enum<?> literal)
+ {
+ super(protocol, literal);
+ }
+
+ /**
+ * @since 2.0
+ */
+ public Future<RESULT> sendAsync()
+ {
+ ExecutorService executorService = getAsyncExecutorService();
+ return executorService.submit(new Callable<RESULT>()
+ {
+ public RESULT call() throws Exception
+ {
+ return doSend(getProtocol().getTimeout());
+ }
+ });
+ }
+
+ /**
+ * @since 2.0
+ */
+ public RESULT send() throws Exception, RemoteException
+ {
+ return doSend(getProtocol().getTimeout());
+ }
+
+ /**
+ * @since 2.0
+ */
+ public RESULT send(long timeout) throws Exception, RemoteException
+ {
+ return doSend(timeout);
+ }
+
+ RESULT doSend(long timeout) throws Exception
+ {
+ result = null;
+ getProtocol().startSignal(this, timeout);
+ return result;
+ }
+
+ /**
+ * @since 2.0
+ */
+ protected ExecutorService getAsyncExecutorService()
+ {
+ return getProtocol().getExecutorService();
+ }
+
+ @Override
+ void doExecute(BufferInputStream in, BufferOutputStream out) throws Exception
+ {
+ doOutput(out);
+ doInput(in);
+ }
+
+ protected abstract void requesting(ExtendedDataOutputStream out) throws Exception;
+
+ /**
+ * <b>Important Note:</b> The confirmation must not be empty, i.e. the stream must be used at least to read a
+ * <code>boolean</code>. Otherwise synchronization problems will result!
+ */
+ protected abstract RESULT confirming(ExtendedDataInputStream in) throws Exception;
+
+ @Override
+ void doExtendedOutput(ExtendedDataOutputStream out) throws Exception
+ {
+ requesting(out);
+ }
+
+ @Override
+ void doExtendedInput(ExtendedDataInputStream in) throws Exception
+ {
+ result = confirming(in);
+ }
+
+ void setRemoteException(Throwable t, boolean responding)
+ {
+ RemoteException remoteException = getRemoteException(t, responding);
+ getBufferInputStream().setException(remoteException);
+ }
+
+ private RemoteException getRemoteException(Throwable t, boolean responding)
+ {
+ if (t instanceof RemoteException)
+ {
+ return (RemoteException)t;
+ }
+
+ return new RemoteException(t, this, responding);
+ }
+}
diff --git a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/RequestWithMonitoring.java b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/RequestWithMonitoring.java
index ebcdd509e0..f396e91b39 100644
--- a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/RequestWithMonitoring.java
+++ b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/RequestWithMonitoring.java
@@ -1,302 +1,304 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
- */
-package org.eclipse.net4j.signal;
-
-import org.eclipse.net4j.buffer.BufferInputStream;
-import org.eclipse.net4j.buffer.BufferOutputStream;
-import org.eclipse.net4j.util.ImplementationError;
-import org.eclipse.net4j.util.concurrent.ConcurrencyUtil;
-import org.eclipse.net4j.util.io.ExtendedDataInputStream;
-import org.eclipse.net4j.util.io.ExtendedDataOutputStream;
-import org.eclipse.net4j.util.om.monitor.Monitor;
-import org.eclipse.net4j.util.om.monitor.OMMonitor;
-
-import org.eclipse.internal.net4j.bundle.OM;
-
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Future;
-
-/**
- * @author Eike Stepper
- * @since 2.0
- */
-public abstract class RequestWithMonitoring<RESULT> extends RequestWithConfirmation<RESULT>
-{
- /**
- * @since 2.0
- */
- public static final long DEFAULT_CANCELATION_POLL_INTERVAL = 100;
-
- /**
- * @since 2.0
- */
- public static final int DEFAULT_MONITOR_PROGRESS_SECONDS = 1;
-
- /**
- * @since 2.0
- */
- public static final int DEFAULT_MONITOR_TIMEOUT_SECONDS = 10;
-
- private OMMonitor mainMonitor;
-
- private OMMonitor remoteMonitor;
-
- private Object monitorLock = new Object();
-
- /**
- * @since 2.0
- */
- public RequestWithMonitoring(SignalProtocol<?> protocol, short id, String name)
- {
- super(protocol, id, name);
- }
-
- /**
- * @since 2.0
- */
- public RequestWithMonitoring(SignalProtocol<?> protocol, short signalID)
- {
- super(protocol, signalID);
- }
-
- /**
- * @since 2.0
- */
- public RequestWithMonitoring(SignalProtocol<?> protocol, Enum<?> literal)
- {
- super(protocol, literal);
- }
-
- @Override
- public Future<RESULT> sendAsync()
- {
- initMainMonitor(null);
- return super.sendAsync();
- }
-
- public Future<RESULT> sendAsync(OMMonitor monitor)
- {
- initMainMonitor(monitor);
- return super.sendAsync();
- }
-
- @Override
- public RESULT send() throws Exception, RemoteException
- {
- initMainMonitor(null);
- return super.send();
- }
-
- @Override
- public RESULT send(long timeout) throws Exception, RemoteException
- {
- initMainMonitor(null);
- return super.send(timeout);
- }
-
- public RESULT send(OMMonitor monitor) throws Exception, RemoteException
- {
- initMainMonitor(monitor);
- return super.send();
- }
-
- public RESULT send(long timeout, OMMonitor monitor) throws Exception, RemoteException
- {
- initMainMonitor(monitor);
- return super.send(timeout);
- }
-
- @Override
- protected final void requesting(ExtendedDataOutputStream out) throws Exception
- {
- double remoteWork = OMMonitor.HUNDRED - getRequestingWorkPercent() - getConfirmingWorkPercent();
- if (remoteWork < OMMonitor.ZERO)
- {
- throw new ImplementationError("Remote work must not be negative: " + remoteWork); //$NON-NLS-1$
- }
-
- mainMonitor.begin(OMMonitor.HUNDRED);
- OMMonitor subMonitor = mainMonitor.fork(remoteWork);
- synchronized (monitorLock)
- {
- remoteMonitor = subMonitor;
- }
-
- ExecutorService executorService = getCancelationExecutorService();
- if (executorService != null)
- {
- executorService.execute(new Runnable()
- {
- public void run()
- {
- while (mainMonitor != null)
- {
- ConcurrencyUtil.sleep(getCancelationPollInterval());
- if (mainMonitor != null && mainMonitor.isCanceled())
- {
- try
- {
- new MonitorCanceledRequest(getProtocol(), getCorrelationID()).sendAsync();
- }
- catch (Exception ex)
- {
- OM.LOG.error(ex);
- }
-
- return;
- }
- }
- }
- });
- }
-
- out.writeInt(getMonitorProgressSeconds());
- out.writeInt(getMonitorTimeoutSeconds());
- requesting(out, mainMonitor.fork(getRequestingWorkPercent()));
- }
-
- @Override
- protected final RESULT confirming(ExtendedDataInputStream in) throws Exception
- {
- return confirming(in, mainMonitor.fork(getConfirmingWorkPercent()));
- }
-
- protected abstract void requesting(ExtendedDataOutputStream out, OMMonitor monitor) throws Exception;
-
- /**
- * <b>Important Note:</b> The confirmation must not be empty, i.e. the stream must be used at least to read a
- * <code>boolean</code>. Otherwise synchronization problems will result!
- */
- protected abstract RESULT confirming(ExtendedDataInputStream in, OMMonitor monitor) throws Exception;
-
- /**
- * @since 2.0
- */
- protected ExecutorService getCancelationExecutorService()
- {
- return getProtocol().getExecutorService();
- }
-
- /**
- * @since 2.0
- */
- protected long getCancelationPollInterval()
- {
- return DEFAULT_CANCELATION_POLL_INTERVAL;
- }
-
- /**
- * @since 2.0
- */
- protected int getMonitorProgressSeconds()
- {
- return DEFAULT_MONITOR_PROGRESS_SECONDS;
- }
-
- /**
- * @since 2.0
- */
- protected int getMonitorTimeoutSeconds()
- {
- return DEFAULT_MONITOR_TIMEOUT_SECONDS;
- }
-
- /**
- * @since 2.0
- */
- protected int getRequestingWorkPercent()
- {
- return 2;
- }
-
- /**
- * @since 2.0
- */
- protected int getConfirmingWorkPercent()
- {
- return 1;
- }
-
- @Override
- void doExecute(BufferInputStream in, BufferOutputStream out) throws Exception
- {
- try
- {
- super.doExecute(in, out);
- }
- finally
- {
- synchronized (monitorLock)
- {
- try
- {
- if (remoteMonitor != null)
- {
- remoteMonitor.done();
- }
- }
- catch (Exception ex)
- {
- OM.LOG.error(ex);
- }
- finally
- {
- remoteMonitor = null;
- }
- }
-
- try
- {
- if (mainMonitor != null)
- {
- mainMonitor.done();
- }
- }
- finally
- {
- mainMonitor = null;
- }
- }
- }
-
- void setMonitorProgress(double totalWork, double work)
- {
- getBufferInputStream().restartTimeout();
- synchronized (monitorLock)
- {
- if (remoteMonitor != null)
- {
- if (!remoteMonitor.hasBegun())
- {
- remoteMonitor.begin(totalWork);
- remoteMonitor.worked(work);
- }
- else
- {
- double oldRatio = remoteMonitor.getWork() / remoteMonitor.getTotalWork();
- double newRatio = work / totalWork;
-
- double newWork = newRatio - oldRatio;
- newWork *= remoteMonitor.getTotalWork();
- if (newWork >= OMMonitor.ZERO)
- {
- remoteMonitor.worked(newWork);
- }
- }
- }
- }
- }
-
- private void initMainMonitor(OMMonitor monitor)
- {
- mainMonitor = monitor == null ? new Monitor() : monitor;
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.net4j.signal;
+
+import org.eclipse.net4j.buffer.BufferInputStream;
+import org.eclipse.net4j.buffer.BufferOutputStream;
+import org.eclipse.net4j.util.ImplementationError;
+import org.eclipse.net4j.util.concurrent.ConcurrencyUtil;
+import org.eclipse.net4j.util.io.ExtendedDataInputStream;
+import org.eclipse.net4j.util.io.ExtendedDataOutputStream;
+import org.eclipse.net4j.util.om.monitor.Monitor;
+import org.eclipse.net4j.util.om.monitor.OMMonitor;
+
+import org.eclipse.internal.net4j.bundle.OM;
+
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Future;
+
+/**
+ * Represents the sender side of a two-way {@link IndicationWithResponse signal} with additional support for remote progress monitoring.
+ *
+ * @author Eike Stepper
+ * @since 2.0
+ */
+public abstract class RequestWithMonitoring<RESULT> extends RequestWithConfirmation<RESULT>
+{
+ /**
+ * @since 2.0
+ */
+ public static final long DEFAULT_CANCELATION_POLL_INTERVAL = 100;
+
+ /**
+ * @since 2.0
+ */
+ public static final int DEFAULT_MONITOR_PROGRESS_SECONDS = 1;
+
+ /**
+ * @since 2.0
+ */
+ public static final int DEFAULT_MONITOR_TIMEOUT_SECONDS = 10;
+
+ private OMMonitor mainMonitor;
+
+ private OMMonitor remoteMonitor;
+
+ private Object monitorLock = new Object();
+
+ /**
+ * @since 2.0
+ */
+ public RequestWithMonitoring(SignalProtocol<?> protocol, short id, String name)
+ {
+ super(protocol, id, name);
+ }
+
+ /**
+ * @since 2.0
+ */
+ public RequestWithMonitoring(SignalProtocol<?> protocol, short signalID)
+ {
+ super(protocol, signalID);
+ }
+
+ /**
+ * @since 2.0
+ */
+ public RequestWithMonitoring(SignalProtocol<?> protocol, Enum<?> literal)
+ {
+ super(protocol, literal);
+ }
+
+ @Override
+ public Future<RESULT> sendAsync()
+ {
+ initMainMonitor(null);
+ return super.sendAsync();
+ }
+
+ public Future<RESULT> sendAsync(OMMonitor monitor)
+ {
+ initMainMonitor(monitor);
+ return super.sendAsync();
+ }
+
+ @Override
+ public RESULT send() throws Exception, RemoteException
+ {
+ initMainMonitor(null);
+ return super.send();
+ }
+
+ @Override
+ public RESULT send(long timeout) throws Exception, RemoteException
+ {
+ initMainMonitor(null);
+ return super.send(timeout);
+ }
+
+ public RESULT send(OMMonitor monitor) throws Exception, RemoteException
+ {
+ initMainMonitor(monitor);
+ return super.send();
+ }
+
+ public RESULT send(long timeout, OMMonitor monitor) throws Exception, RemoteException
+ {
+ initMainMonitor(monitor);
+ return super.send(timeout);
+ }
+
+ @Override
+ protected final void requesting(ExtendedDataOutputStream out) throws Exception
+ {
+ double remoteWork = OMMonitor.HUNDRED - getRequestingWorkPercent() - getConfirmingWorkPercent();
+ if (remoteWork < OMMonitor.ZERO)
+ {
+ throw new ImplementationError("Remote work must not be negative: " + remoteWork); //$NON-NLS-1$
+ }
+
+ mainMonitor.begin(OMMonitor.HUNDRED);
+ OMMonitor subMonitor = mainMonitor.fork(remoteWork);
+ synchronized (monitorLock)
+ {
+ remoteMonitor = subMonitor;
+ }
+
+ ExecutorService executorService = getCancelationExecutorService();
+ if (executorService != null)
+ {
+ executorService.execute(new Runnable()
+ {
+ public void run()
+ {
+ while (mainMonitor != null)
+ {
+ ConcurrencyUtil.sleep(getCancelationPollInterval());
+ if (mainMonitor != null && mainMonitor.isCanceled())
+ {
+ try
+ {
+ new MonitorCanceledRequest(getProtocol(), getCorrelationID()).sendAsync();
+ }
+ catch (Exception ex)
+ {
+ OM.LOG.error(ex);
+ }
+
+ return;
+ }
+ }
+ }
+ });
+ }
+
+ out.writeInt(getMonitorProgressSeconds());
+ out.writeInt(getMonitorTimeoutSeconds());
+ requesting(out, mainMonitor.fork(getRequestingWorkPercent()));
+ }
+
+ @Override
+ protected final RESULT confirming(ExtendedDataInputStream in) throws Exception
+ {
+ return confirming(in, mainMonitor.fork(getConfirmingWorkPercent()));
+ }
+
+ protected abstract void requesting(ExtendedDataOutputStream out, OMMonitor monitor) throws Exception;
+
+ /**
+ * <b>Important Note:</b> The confirmation must not be empty, i.e. the stream must be used at least to read a
+ * <code>boolean</code>. Otherwise synchronization problems will result!
+ */
+ protected abstract RESULT confirming(ExtendedDataInputStream in, OMMonitor monitor) throws Exception;
+
+ /**
+ * @since 2.0
+ */
+ protected ExecutorService getCancelationExecutorService()
+ {
+ return getProtocol().getExecutorService();
+ }
+
+ /**
+ * @since 2.0
+ */
+ protected long getCancelationPollInterval()
+ {
+ return DEFAULT_CANCELATION_POLL_INTERVAL;
+ }
+
+ /**
+ * @since 2.0
+ */
+ protected int getMonitorProgressSeconds()
+ {
+ return DEFAULT_MONITOR_PROGRESS_SECONDS;
+ }
+
+ /**
+ * @since 2.0
+ */
+ protected int getMonitorTimeoutSeconds()
+ {
+ return DEFAULT_MONITOR_TIMEOUT_SECONDS;
+ }
+
+ /**
+ * @since 2.0
+ */
+ protected int getRequestingWorkPercent()
+ {
+ return 2;
+ }
+
+ /**
+ * @since 2.0
+ */
+ protected int getConfirmingWorkPercent()
+ {
+ return 1;
+ }
+
+ @Override
+ void doExecute(BufferInputStream in, BufferOutputStream out) throws Exception
+ {
+ try
+ {
+ super.doExecute(in, out);
+ }
+ finally
+ {
+ synchronized (monitorLock)
+ {
+ try
+ {
+ if (remoteMonitor != null)
+ {
+ remoteMonitor.done();
+ }
+ }
+ catch (Exception ex)
+ {
+ OM.LOG.error(ex);
+ }
+ finally
+ {
+ remoteMonitor = null;
+ }
+ }
+
+ try
+ {
+ if (mainMonitor != null)
+ {
+ mainMonitor.done();
+ }
+ }
+ finally
+ {
+ mainMonitor = null;
+ }
+ }
+ }
+
+ void setMonitorProgress(double totalWork, double work)
+ {
+ getBufferInputStream().restartTimeout();
+ synchronized (monitorLock)
+ {
+ if (remoteMonitor != null)
+ {
+ if (!remoteMonitor.hasBegun())
+ {
+ remoteMonitor.begin(totalWork);
+ remoteMonitor.worked(work);
+ }
+ else
+ {
+ double oldRatio = remoteMonitor.getWork() / remoteMonitor.getTotalWork();
+ double newRatio = work / totalWork;
+
+ double newWork = newRatio - oldRatio;
+ newWork *= remoteMonitor.getTotalWork();
+ if (newWork >= OMMonitor.ZERO)
+ {
+ remoteMonitor.worked(newWork);
+ }
+ }
+ }
+ }
+ }
+
+ private void initMainMonitor(OMMonitor monitor)
+ {
+ mainMonitor = monitor == null ? new Monitor() : monitor;
+ }
+}
diff --git a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/Signal.java b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/Signal.java
index 03ebd2b755..f20dabd880 100644
--- a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/Signal.java
+++ b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/Signal.java
@@ -1,353 +1,355 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
- */
-package org.eclipse.net4j.signal;
-
-import org.eclipse.net4j.buffer.BufferInputStream;
-import org.eclipse.net4j.buffer.BufferOutputStream;
-import org.eclipse.net4j.util.ReflectUtil;
-import org.eclipse.net4j.util.io.ExtendedDataInputStream;
-import org.eclipse.net4j.util.io.ExtendedDataOutputStream;
-import org.eclipse.net4j.util.io.IOTimeoutException;
-import org.eclipse.net4j.util.lifecycle.LifecycleUtil;
-import org.eclipse.net4j.util.om.trace.ContextTracer;
-
-import org.eclipse.internal.net4j.bundle.OM;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.text.MessageFormat;
-
-/**
- * @author Eike Stepper
- */
-public abstract class Signal implements Runnable
-{
- /**
- * @since 2.0
- */
- public static final long NO_TIMEOUT = BufferInputStream.NO_TIMEOUT;
-
- private static final ContextTracer TRACER = new ContextTracer(OM.DEBUG_SIGNAL, Signal.class);
-
- private SignalProtocol<?> protocol;
-
- private short id;
-
- private String name;
-
- private int correlationID;
-
- private BufferInputStream bufferInputStream;
-
- private BufferOutputStream bufferOutputStream;
-
- private Object currentStream;
-
- /**
- * Both implementation classes of a logical signal must have the same signalID. The signalID of a user signals must be
- * equal to or greater than zero.
- *
- * @since 2.0
- */
- public Signal(SignalProtocol<?> protocol, short id, String name)
- {
- this.protocol = protocol;
- this.id = id;
- this.name = name;
- }
-
- /**
- * @since 2.0
- * @see #Signal(SignalProtocol, short, String)
- */
- public Signal(SignalProtocol<?> protocol, short id)
- {
- this(protocol, id, null);
- }
-
- /**
- * @since 2.0
- * @see #Signal(SignalProtocol, short, String)
- */
- public Signal(SignalProtocol<?> protocol, Enum<?> literal)
- {
- this(protocol, (short)literal.ordinal(), literal.name());
- }
-
- public SignalProtocol<?> getProtocol()
- {
- LifecycleUtil.checkActive(protocol);
- return protocol;
- }
-
- /**
- * Returns the short integer ID of this signal that is unique among all signals of the associated
- * {@link #getProtocol() protocol}.
- *
- * @since 2.0
- */
- public final short getID()
- {
- return id;
- }
-
- /**
- * @since 2.0
- */
- public String getName()
- {
- if (name == null)
- {
- // Needs no synchronization because any thread would set the same value.
- name = ReflectUtil.getSimpleClassName(this);
- }
-
- return name;
- }
-
- /**
- * @since 2.0
- */
- public final int getCorrelationID()
- {
- return correlationID;
- }
-
- /**
- * @since 2.0
- */
- @Override
- public String toString()
- {
- return MessageFormat.format("Signal[protocol={0}, id={1}, name={2}, correlation={3}]", getProtocol().getType(), //$NON-NLS-1$
- getID(), getName(), getCorrelationID());
- }
-
- public final void run()
- {
- String threadName = null;
-
- try
- {
- if (OM.SET_SIGNAL_THREAD_NAME)
- {
- threadName = getClass().getSimpleName();
- Thread.currentThread().setName(threadName);
- }
-
- runSync();
- }
- catch (Exception ex)
- {
- if (getProtocol().isActive())
- {
- OM.LOG.error(ex);
- }
- else
- {
- if (TRACER.isEnabled())
- {
- TRACER.trace("Exception while protocol is inactive", ex); //$NON-NLS-1$
- }
- }
- }
- finally
- {
- if (threadName != null)
- {
- Thread.currentThread().setName(threadName + "(FINISHED)"); //$NON-NLS-1$
- }
- }
- }
-
- protected final BufferInputStream getBufferInputStream()
- {
- return bufferInputStream;
- }
-
- protected final BufferOutputStream getBufferOutputStream()
- {
- return bufferOutputStream;
- }
-
- /**
- * @since 2.0
- */
- protected final void flush() throws IOException
- {
- if (currentStream instanceof OutputStream)
- {
- ((OutputStream)currentStream).flush();
- }
- }
-
- /**
- * @since 2.0
- */
- protected InputStream getCurrentInputStream()
- {
- if (currentStream instanceof InputStream)
- {
- return (InputStream)currentStream;
- }
-
- return null;
- }
-
- /**
- * @since 2.0
- */
- protected OutputStream getCurrentOutputStream()
- {
- if (currentStream instanceof OutputStream)
- {
- return (OutputStream)currentStream;
- }
-
- return null;
- }
-
- protected InputStream wrapInputStream(InputStream in) throws IOException
- {
- currentStream = getProtocol().wrapInputStream(in);
- return (InputStream)currentStream;
- }
-
- protected OutputStream wrapOutputStream(OutputStream out) throws IOException
- {
- currentStream = getProtocol().wrapOutputStream(out);
- return (OutputStream)currentStream;
- }
-
- protected void finishInputStream(InputStream in) throws IOException
- {
- currentStream = null;
- getProtocol().finishInputStream(in);
- }
-
- protected void finishOutputStream(OutputStream out) throws IOException
- {
- currentStream = null;
- getProtocol().finishOutputStream(out);
- }
-
- protected abstract void execute(BufferInputStream in, BufferOutputStream out) throws Exception;
-
- void runSync() throws Exception
- {
- Exception exception = null;
-
- try
- {
- execute(bufferInputStream, bufferOutputStream);
- }
- catch (IOTimeoutException ex) // Thrown from BufferInputStream
- {
- exception = ex.createTimeoutException();
- throw exception;
- }
- catch (Exception ex)
- {
- exception = ex;
- throw exception;
- }
- finally
- {
- getProtocol().stopSignal(this, exception);
- }
- }
-
- void setCorrelationID(int correlationID)
- {
- this.correlationID = correlationID;
- }
-
- void setBufferInputStream(BufferInputStream inputStream)
- {
- bufferInputStream = inputStream;
- }
-
- void setBufferOutputStream(BufferOutputStream outputStream)
- {
- bufferOutputStream = outputStream;
- }
-
- void doOutput(BufferOutputStream out) throws Exception
- {
- if (TRACER.isEnabled())
- {
- TRACER.format("================ {0}: {1}", getOutputMeaning(), this); //$NON-NLS-1$
- }
-
- OutputStream wrappedOutputStream = wrapOutputStream(out);
- ExtendedDataOutputStream extended = ExtendedDataOutputStream.wrap(wrappedOutputStream);
-
- try
- {
- doExtendedOutput(extended);
- }
- catch (Error ex)
- {
- throw ex;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- finishOutputStream(wrappedOutputStream);
- }
-
- out.flushWithEOS();
- }
-
- void doInput(BufferInputStream in) throws Exception
- {
- if (TRACER.isEnabled())
- {
- TRACER.format("================ {0}: {1}", getInputMeaning(), this); //$NON-NLS-1$
- }
-
- InputStream wrappedInputStream = wrapInputStream(in);
- ExtendedDataInputStream extended = ExtendedDataInputStream.wrap(wrappedInputStream);
-
- try
- {
- doExtendedInput(extended);
- }
- catch (Error ex)
- {
- throw ex;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- finishInputStream(wrappedInputStream);
- }
- }
-
- void doExtendedOutput(ExtendedDataOutputStream out) throws Exception
- {
- }
-
- void doExtendedInput(ExtendedDataInputStream in) throws Exception
- {
- }
-
- abstract String getOutputMeaning();
-
- abstract String getInputMeaning();
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.net4j.signal;
+
+import org.eclipse.net4j.buffer.BufferInputStream;
+import org.eclipse.net4j.buffer.BufferOutputStream;
+import org.eclipse.net4j.util.ReflectUtil;
+import org.eclipse.net4j.util.io.ExtendedDataInputStream;
+import org.eclipse.net4j.util.io.ExtendedDataOutputStream;
+import org.eclipse.net4j.util.io.IOTimeoutException;
+import org.eclipse.net4j.util.lifecycle.LifecycleUtil;
+import org.eclipse.net4j.util.om.trace.ContextTracer;
+
+import org.eclipse.internal.net4j.bundle.OM;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.text.MessageFormat;
+
+/**
+ * Represents a single communications use-case in the scope of a {@link ISignalProtocol signal protocol}.
+ *
+ * @author Eike Stepper
+ */
+public abstract class Signal implements Runnable
+{
+ /**
+ * @since 2.0
+ */
+ public static final long NO_TIMEOUT = BufferInputStream.NO_TIMEOUT;
+
+ private static final ContextTracer TRACER = new ContextTracer(OM.DEBUG_SIGNAL, Signal.class);
+
+ private SignalProtocol<?> protocol;
+
+ private short id;
+
+ private String name;
+
+ private int correlationID;
+
+ private BufferInputStream bufferInputStream;
+
+ private BufferOutputStream bufferOutputStream;
+
+ private Object currentStream;
+
+ /**
+ * Both implementation classes of a logical signal must have the same signalID. The signalID of a user signals must be
+ * equal to or greater than zero.
+ *
+ * @since 2.0
+ */
+ public Signal(SignalProtocol<?> protocol, short id, String name)
+ {
+ this.protocol = protocol;
+ this.id = id;
+ this.name = name;
+ }
+
+ /**
+ * @since 2.0
+ * @see #Signal(SignalProtocol, short, String)
+ */
+ public Signal(SignalProtocol<?> protocol, short id)
+ {
+ this(protocol, id, null);
+ }
+
+ /**
+ * @since 2.0
+ * @see #Signal(SignalProtocol, short, String)
+ */
+ public Signal(SignalProtocol<?> protocol, Enum<?> literal)
+ {
+ this(protocol, (short)literal.ordinal(), literal.name());
+ }
+
+ public SignalProtocol<?> getProtocol()
+ {
+ LifecycleUtil.checkActive(protocol);
+ return protocol;
+ }
+
+ /**
+ * Returns the short integer ID of this signal that is unique among all signals of the associated
+ * {@link #getProtocol() protocol}.
+ *
+ * @since 2.0
+ */
+ public final short getID()
+ {
+ return id;
+ }
+
+ /**
+ * @since 2.0
+ */
+ public String getName()
+ {
+ if (name == null)
+ {
+ // Needs no synchronization because any thread would set the same value.
+ name = ReflectUtil.getSimpleClassName(this);
+ }
+
+ return name;
+ }
+
+ /**
+ * @since 2.0
+ */
+ public final int getCorrelationID()
+ {
+ return correlationID;
+ }
+
+ /**
+ * @since 2.0
+ */
+ @Override
+ public String toString()
+ {
+ return MessageFormat.format("Signal[protocol={0}, id={1}, name={2}, correlation={3}]", getProtocol().getType(), //$NON-NLS-1$
+ getID(), getName(), getCorrelationID());
+ }
+
+ public final void run()
+ {
+ String threadName = null;
+
+ try
+ {
+ if (OM.SET_SIGNAL_THREAD_NAME)
+ {
+ threadName = getClass().getSimpleName();
+ Thread.currentThread().setName(threadName);
+ }
+
+ runSync();
+ }
+ catch (Exception ex)
+ {
+ if (getProtocol().isActive())
+ {
+ OM.LOG.error(ex);
+ }
+ else
+ {
+ if (TRACER.isEnabled())
+ {
+ TRACER.trace("Exception while protocol is inactive", ex); //$NON-NLS-1$
+ }
+ }
+ }
+ finally
+ {
+ if (threadName != null)
+ {
+ Thread.currentThread().setName(threadName + "(FINISHED)"); //$NON-NLS-1$
+ }
+ }
+ }
+
+ protected final BufferInputStream getBufferInputStream()
+ {
+ return bufferInputStream;
+ }
+
+ protected final BufferOutputStream getBufferOutputStream()
+ {
+ return bufferOutputStream;
+ }
+
+ /**
+ * @since 2.0
+ */
+ protected final void flush() throws IOException
+ {
+ if (currentStream instanceof OutputStream)
+ {
+ ((OutputStream)currentStream).flush();
+ }
+ }
+
+ /**
+ * @since 2.0
+ */
+ protected InputStream getCurrentInputStream()
+ {
+ if (currentStream instanceof InputStream)
+ {
+ return (InputStream)currentStream;
+ }
+
+ return null;
+ }
+
+ /**
+ * @since 2.0
+ */
+ protected OutputStream getCurrentOutputStream()
+ {
+ if (currentStream instanceof OutputStream)
+ {
+ return (OutputStream)currentStream;
+ }
+
+ return null;
+ }
+
+ protected InputStream wrapInputStream(InputStream in) throws IOException
+ {
+ currentStream = getProtocol().wrapInputStream(in);
+ return (InputStream)currentStream;
+ }
+
+ protected OutputStream wrapOutputStream(OutputStream out) throws IOException
+ {
+ currentStream = getProtocol().wrapOutputStream(out);
+ return (OutputStream)currentStream;
+ }
+
+ protected void finishInputStream(InputStream in) throws IOException
+ {
+ currentStream = null;
+ getProtocol().finishInputStream(in);
+ }
+
+ protected void finishOutputStream(OutputStream out) throws IOException
+ {
+ currentStream = null;
+ getProtocol().finishOutputStream(out);
+ }
+
+ protected abstract void execute(BufferInputStream in, BufferOutputStream out) throws Exception;
+
+ void runSync() throws Exception
+ {
+ Exception exception = null;
+
+ try
+ {
+ execute(bufferInputStream, bufferOutputStream);
+ }
+ catch (IOTimeoutException ex) // Thrown from BufferInputStream
+ {
+ exception = ex.createTimeoutException();
+ throw exception;
+ }
+ catch (Exception ex)
+ {
+ exception = ex;
+ throw exception;
+ }
+ finally
+ {
+ getProtocol().stopSignal(this, exception);
+ }
+ }
+
+ void setCorrelationID(int correlationID)
+ {
+ this.correlationID = correlationID;
+ }
+
+ void setBufferInputStream(BufferInputStream inputStream)
+ {
+ bufferInputStream = inputStream;
+ }
+
+ void setBufferOutputStream(BufferOutputStream outputStream)
+ {
+ bufferOutputStream = outputStream;
+ }
+
+ void doOutput(BufferOutputStream out) throws Exception
+ {
+ if (TRACER.isEnabled())
+ {
+ TRACER.format("================ {0}: {1}", getOutputMeaning(), this); //$NON-NLS-1$
+ }
+
+ OutputStream wrappedOutputStream = wrapOutputStream(out);
+ ExtendedDataOutputStream extended = ExtendedDataOutputStream.wrap(wrappedOutputStream);
+
+ try
+ {
+ doExtendedOutput(extended);
+ }
+ catch (Error ex)
+ {
+ throw ex