diff options
author | Eike Stepper | 2012-06-06 09:15:05 +0000 |
---|---|---|
committer | Eike Stepper | 2012-06-06 09:15:05 +0000 |
commit | beaf88a6d18849a3d00476ca046a111f636ace5a (patch) | |
tree | b4dbc0ddc54963632692f0d0db83877dabd73a57 /plugins | |
parent | e5bc42789a5fa73d5f2c9a2dac4f0d0c177f9b63 (diff) | |
download | cdo-beaf88a6d18849a3d00476ca046a111f636ace5a.tar.gz cdo-beaf88a6d18849a3d00476ca046a111f636ace5a.tar.xz cdo-beaf88a6d18849a3d00476ca046a111f636ace5a.zip |
Update Javadocs
Diffstat (limited to 'plugins')
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> -<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> <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> -<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> <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> -<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> <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> <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> -<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> <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> -<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> <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> <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> <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> <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> -<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> <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> <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> <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> -<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> <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> <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> -<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> <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> -<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> <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> <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> -<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> <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> -<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> <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> <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> -<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> <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> -<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> <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> <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> -<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> <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> @@ -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> <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> <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> <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> <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> <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> <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> <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> <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> <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> -<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> <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> <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> <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> -<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> <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> <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> <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> -<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> <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> <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> -<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> <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> </TD> +<TD>Common concepts for the protocol to administer CDO repositories remotely. </TD> </TR> </TABLE> 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> </TD> +<TD>Common concepts for the protocol to administer CDO repositories remotely. </TD> </TR> </TABLE> 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="«interface» CDOAdmin" alt="" coords="271,209,358,249"/> @@ -111,6 +115,9 @@ Package org.eclipse.emf.cdo.common.admin <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> </TD> +<TD>Common concepts for the protocol to administer CDO repositories remotely. </TD> </TR> </TABLE> 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> </TD> +<TD>Common concepts for the protocol to administer CDO repositories remotely. </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> </TD> +<TD>Common concepts for the protocol to administer CDO repositories remotely. </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> - 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> + 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> - 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> + 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> @@ -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> - 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> + 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> - 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> + 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> - 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> + 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> </TD> +<TD>Common concepts for the protocol to administer CDO repositories remotely. </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> </TD> +<TD>Common concepts for the protocol to administer CDO repositories remotely. </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> - </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> </TABLE> 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> - </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> @@ -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> - </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> </TABLE> 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> - </TD> + The main entry point to the API of CDO's <a href="http://www.mongodb.org">MongoDB</a> back-end integration.</TD> </TR> </TABLE> 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> - </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> </TABLE> 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> - </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> @@ -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> - </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> </TABLE> 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> - </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> </TABLE> 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> - </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> </TABLE> <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> </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> </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> </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> @@ -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> </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> 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> - </TD> + The main entry point to the API of CDO's <a href="http://www.mongodb.org">MongoDB</a> back-end integration.</TD> </TR> </TABLE> 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> - </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> </TABLE> <!-- =========== 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> - </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> </TABLE> <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> - </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> </TABLE> <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> - </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 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> - </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 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> - </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 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> - </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> <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> - </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> <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> - </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 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> - </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> </TABLE> 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> - </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 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> - </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 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> - </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> </TABLE> 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> </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> @@ -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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> 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> - </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><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> - </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><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> - </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><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> - </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><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> - </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><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> - </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><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> - </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> 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> </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> </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> </TD> +<TD>Encapsulates Objectivity-specific back-end configuration settings.</TD> </TR> </TABLE> @@ -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> </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> 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> - </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><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> - </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><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> - </TD> + Encapsulates Objectivity-specific back-end configuration settings.</TD> </TR> </TABLE> 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> - </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> </TABLE> 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> - </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> <!-- =========== 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> - </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> </TABLE> 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> - </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 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> - </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> </TABLE> 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> </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> @@ -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> </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> </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> </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> </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> </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> 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> - </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><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> - </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><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> - </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> <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> - </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> </TABLE> 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> - </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> </TABLE> 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> </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> -<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> <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> </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> -<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> <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> <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> -<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> <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> <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> -<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> <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> -<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> <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> <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> <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> @@ -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> -<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> <DT><A HREF="./org/eclipse/net4j/signal/Indication.html#Indication(org.eclipse.net4j.signal.SignalProtocol, short, java.lang.String)"><B>Indication(SignalProtocol<?>, 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<?>, 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> <DT><A HREF="./org/eclipse/net4j/signal/Indication.html#Indication(org.eclipse.net4j.signal.SignalProtocol, short)"><B>Indication(SignalProtocol<?>, 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<?>, Enum<?>)</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> -<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> <DT><A HREF="./org/eclipse/net4j/signal/IndicationWithMonitoring.html#IndicationWithMonitoring(org.eclipse.net4j.signal.SignalProtocol, short, java.lang.String)"><B>IndicationWithMonitoring(SignalProtocol<?>, 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<?>, 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> <DT><A HREF="./org/eclipse/net4j/signal/IndicationWithMonitoring.html#IndicationWithMonitoring(org.eclipse.net4j.signal.SignalProtocol, short)"><B>IndicationWithMonitoring(SignalProtocol<?>, 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<?>, Enum<?>)</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> -<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> <DT><A HREF="./org/eclipse/net4j/signal/IndicationWithResponse.html#IndicationWithResponse(org.eclipse.net4j.signal.SignalProtocol, short, java.lang.String)"><B>IndicationWithResponse(SignalProtocol<?>, 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<?>, 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> <DT><A HREF="./org/eclipse/net4j/signal/IndicationWithResponse.html#IndicationWithResponse(org.eclipse.net4j.signal.SignalProtocol, short)"><B>IndicationWithResponse(SignalProtocol<?>, 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> -<DT><A HREF="./org/eclipse/net4j/protocol/IProtocol.html" title="interface in org.eclipse.net4j.protocol"><B>IProtocol</B></A><<A HREF="./org/eclipse/net4j/protocol/IProtocol.html" title="type parameter in IProtocol">INFRA_STRUCTURE</A>> - Interface in <A HREF="./org/eclipse/net4j/protocol/package-summary.html">org.eclipse.net4j.protocol</A><DD> <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> <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><<A HREF="./org/eclipse/net4j/protocol/IProtocol.html" title="type parameter in IProtocol">INFRA_STRUCTURE</A>> - 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><<A HREF="./org/eclipse/net4j/signal/ISignalProtocol.html" title="type parameter in ISignalProtocol">INFRA_STRUCTURE</A>> - Interface in <A HREF="./org/eclipse/net4j/signal/package-summary.html">org.eclipse.net4j.signal</A><DD> <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><<A HREF="./org/eclipse/net4j/signal/ISignalProtocol.html" title="type parameter in ISignalProtocol">INFRA_STRUCTURE</A>> - 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> <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> -<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> <DT><A HREF="./org/eclipse/net4j/signal/RemoteException.html#RemoteException(java.lang.Throwable, org.eclipse.net4j.signal.RequestWithConfirmation, boolean)"><B>RemoteException(Throwable, RequestWithConfirmation<?>, 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<?>, 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> <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> -<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> <DT><A HREF="./org/eclipse/net4j/signal/Request.html#Request(org.eclipse.net4j.signal.SignalProtocol, short, java.lang.String)"><B>Request(SignalProtocol<?>, 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<?>, 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> <DT><A HREF="./org/eclipse/net4j/signal/Request.html#Request(org.eclipse.net4j.signal.SignalProtocol, short)"><B>Request(SignalProtocol<?>, 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> -<DT><A HREF="./org/eclipse/net4j/signal/RequestWithConfirmation.html" title="class in org.eclipse.net4j.signal"><B>RequestWithConfirmation</B></A><<A HREF="./org/eclipse/net4j/signal/RequestWithConfirmation.html" title="type parameter in RequestWithConfirmation">RESULT</A>> - Class in <A HREF="./org/eclipse/net4j/signal/package-summary.html">org.eclipse.net4j.signal</A><DD> <DT><A HREF="./org/eclipse/net4j/signal/RequestWithConfirmation.html#RequestWithConfirmation(org.eclipse.net4j.signal.SignalProtocol, short, java.lang.String)"><B>RequestWithConfirmation(SignalProtocol<?>, short, String)</B></A> - +<DT><A HREF="./org/eclipse/net4j/signal/RequestWithConfirmation.html" title="class in org.eclipse.net4j.signal"><B>RequestWithConfirmation</B></A><<A HREF="./org/eclipse/net4j/signal/RequestWithConfirmation.html" title="type parameter in RequestWithConfirmation">RESULT</A>> - 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<?>, 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> <DT><A HREF="./org/eclipse/net4j/signal/RequestWithConfirmation.html#RequestWithConfirmation(org.eclipse.net4j.signal.SignalProtocol, short)"><B>RequestWithConfirmation(SignalProtocol<?>, 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<?>, Enum<?>)</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> -<DT><A HREF="./org/eclipse/net4j/signal/RequestWithMonitoring.html" title="class in org.eclipse.net4j.signal"><B>RequestWithMonitoring</B></A><<A HREF="./org/eclipse/net4j/signal/RequestWithMonitoring.html" title="type parameter in RequestWithMonitoring">RESULT</A>> - Class in <A HREF="./org/eclipse/net4j/signal/package-summary.html">org.eclipse.net4j.signal</A><DD> <DT><A HREF="./org/eclipse/net4j/signal/RequestWithMonitoring.html#RequestWithMonitoring(org.eclipse.net4j.signal.SignalProtocol, short, java.lang.String)"><B>RequestWithMonitoring(SignalProtocol<?>, short, String)</B></A> - +<DT><A HREF="./org/eclipse/net4j/signal/RequestWithMonitoring.html" title="class in org.eclipse.net4j.signal"><B>RequestWithMonitoring</B></A><<A HREF="./org/eclipse/net4j/signal/RequestWithMonitoring.html" title="type parameter in RequestWithMonitoring">RESULT</A>> - 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<?>, 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> <DT><A HREF="./org/eclipse/net4j/signal/RequestWithMonitoring.html#RequestWithMonitoring(org.eclipse.net4j.signal.SignalProtocol, short)"><B>RequestWithMonitoring(SignalProtocol<?>, 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<?>)</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> -<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> <DT><A HREF="./org/eclipse/net4j/signal/Signal.html#Signal(org.eclipse.net4j.signal.SignalProtocol, short, java.lang.String)"><B>Signal(SignalProtocol<?>, 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<?>, 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<?>, 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> -<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> <DT><A HREF="./org/eclipse/net4j/signal/SignalActor.html#SignalActor(org.eclipse.net4j.signal.SignalProtocol, short, java.lang.String)"><B>SignalActor(SignalProtocol<?>, 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<?>, 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> <DT><A HREF="./org/eclipse/net4j/signal/SignalActor.html#SignalActor(org.eclipse.net4j.signal.SignalProtocol, short)"><B>SignalActor(SignalProtocol<?>, 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<?>, Enum<?>)</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> -<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> <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> -<DT><A HREF="./org/eclipse/net4j/signal/SignalFinishedEvent.html" title="class in org.eclipse.net4j.signal"><B>SignalFinishedEvent</B></A><<A HREF="./org/eclipse/net4j/signal/SignalFinishedEvent.html" title="type parameter in SignalFinishedEvent">INFRA_STRUCTURE</A>> - Class in <A HREF="./org/eclipse/net4j/signal/package-summary.html">org.eclipse.net4j.signal</A><DD> <DT><A HREF="./org/eclipse/net4j/signal/SignalProtocol.html" title="class in org.eclipse.net4j.signal"><B>SignalProtocol</B></A><<A HREF="./org/eclipse/net4j/signal/SignalProtocol.html" title="type parameter in SignalProtocol">INFRA_STRUCTURE</A>> - Class in <A HREF="./org/eclipse/net4j/signal/package-summary.html">org.eclipse.net4j.signal</A><DD> <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<?>)</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> +<DT><A HREF="./org/eclipse/net4j/signal/SignalFinishedEvent.html" title="class in org.eclipse.net4j.signal"><B>SignalFinishedEvent</B></A><<A HREF="./org/eclipse/net4j/signal/SignalFinishedEvent.html" title="type parameter in SignalFinishedEvent">INFRA_STRUCTURE</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 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><<A HREF="./org/eclipse/net4j/signal/SignalProtocol.html" title="type parameter in SignalProtocol">INFRA_STRUCTURE</A>> - 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> -<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> <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> <DT><A HREF="./org/eclipse/net4j/signal/SignalReactor.html#SignalReactor(org.eclipse.net4j.signal.SignalProtocol, short, java.lang.String)"><B>SignalReactor(SignalProtocol<?>, 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<?>, 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> <DT><A HREF="./org/eclipse/net4j/signal/SignalReactor.html#SignalReactor(org.eclipse.net4j.signal.SignalProtocol, short)"><B>SignalReactor(SignalProtocol<?>, 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<?>, Enum<?>)</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> -<DT><A HREF="./org/eclipse/net4j/signal/SignalScheduledEvent.html" title="class in org.eclipse.net4j.signal"><B>SignalScheduledEvent</B></A><<A HREF="./org/eclipse/net4j/signal/SignalScheduledEvent.html" title="type parameter in SignalScheduledEvent">INFRA_STRUCTURE</A>> - Class in <A HREF="./org/eclipse/net4j/signal/package-summary.html">org.eclipse.net4j.signal</A><DD> <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><<A HREF="./org/eclipse/net4j/signal/SignalScheduledEvent.html" title="type parameter in SignalScheduledEvent">INFRA_STRUCTURE</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 + 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> <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> -<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> <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> </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> <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> </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 Binary files differnew file mode 100644 index 0000000000..7a16b6ef01 --- /dev/null +++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/acceptor/doc-files/acceptors.png 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. </TD> +<TD>A framework for request/response based communication on top of the Net4j transport layer. </TD> </TR> </TABLE> 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. </TD> +<TD>A framework for request/response based communication on top of the Net4j transport layer. </TD> </TR> </TABLE> 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. </TD> +<TD>A framework for request/response based communication on top of the Net4j transport layer. </TD> </TR> </TABLE> 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. </TD> +<TD>A framework for request/response based communication on top of the Net4j transport layer. </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> - </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> </TABLE> @@ -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<INFRA_STRUCTURE></A></B></CODE> <BR> - </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> </TABLE> @@ -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<INFRA_STRUCTURE></A></B></CODE> <BR> - </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> @@ -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<INFRA_STRUCTURE></A></B></CODE> <BR> - </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> </TABLE> @@ -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> - </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 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> - </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> </TABLE> 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 Binary files differnew file mode 100644 index 0000000000..b7f851ae36 --- /dev/null +++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/buffer/doc-files/buffers.png 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. </TD> +<TD>A framework for request/response based communication on top of the Net4j transport layer. </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. </TD> +<TD>A framework for request/response based communication on top of the Net4j transport layer. </TD> </TR> </TABLE> @@ -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> - </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> </TABLE> 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 Binary files differnew file mode 100644 index 0000000000..d45c55116f --- /dev/null +++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/channel/doc-files/channels.png 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. </TD> +<TD>A framework for request/response based communication on top of the Net4j transport layer. </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. </TD> +<TD>A framework for request/response based communication on top of the Net4j transport layer. </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> - </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 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<INFRA_STRUCTURE></A></B></CODE> <BR> - </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> </TABLE> @@ -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<INFRA_STRUCTURE></A></B></CODE> <BR> - </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> @@ -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<INFRA_STRUCTURE></A></B></CODE> <BR> - </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> </TABLE> @@ -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> - </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 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> - </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> </TABLE> 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. </TD> +<TD>A framework for request/response based communication on top of the Net4j transport layer. </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 Binary files differnew file mode 100644 index 0000000000..741ec4598e --- /dev/null +++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/connector/doc-files/connectors.png 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. </TD> +<TD>A framework for request/response based communication on top of the Net4j transport layer. </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 Binary files differnew file mode 100644 index 0000000000..93eb57f313 --- /dev/null +++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/doc-files/architecture.png 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> </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> - </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><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. </TD> +<TD>A framework for request/response based communication on top of the Net4j transport layer. </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<INFRA_STRUCTURE></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. </TD> +<TD>A framework for request/response based communication on top of the Net4j transport layer. </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<INFRA_STRUCTURE></A></B></CODE> <BR> - </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> @@ -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<INFRA_STRUCTURE></A></B></CODE> <BR> - </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> </TABLE> @@ -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> - </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 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> - </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> </TABLE> 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 Binary files differnew file mode 100644 index 0000000000..968099381c --- /dev/null +++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/protocol/doc-files/protocols.png 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<INFRA_STRUCTURE></A></B></TD> -<TD> </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> </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> 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. </TD> +<TD>A framework for request/response based communication on top of the Net4j transport layer. </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> - </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><B><A HREF="../../../../org/eclipse/net4j/protocol/class-use/IProtocolProvider.html#org.eclipse.net4j"><B>IProtocolProvider</B></A></B> <BR> - </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> @@ -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> - </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> </TABLE> @@ -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> - </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> </TABLE> @@ -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> - </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> </TABLE> @@ -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> - </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> </TABLE> @@ -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> - </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> </TABLE> 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<INFRA_STRUCTURE></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<RESULT></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<RESULT></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> </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><?> protocol)</CODE> + +<BR> + </TD> +</TR> </TABLE> <!-- ========== 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><?> 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<INFRA_STRUCTURE></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<INFRA_STRUCTURE></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<INFRA_STRUCTURE></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> - </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> </TABLE> <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<INFRA_STRUCTURE></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. </TD> +<TD>A framework for request/response based communication on top of the Net4j transport layer. </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<INFRA_STRUCTURE></A></B></CODE> <BR> - </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> </TABLE> @@ -150,6 +149,20 @@ Uses of <A HREF="../../../../../org/eclipse/net4j/signal/ISignalProtocol.html" t </TABLE> <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><?> protocol)</CODE> + +<BR> + </TD> +</TR> +</TABLE> + +<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> - </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 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> - </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> </TABLE> 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. </TD> +<TD>A framework for request/response based communication on top of the Net4j transport layer. </TD> </TR> </TABLE> @@ -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> - </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> </TABLE> 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. </TD> +<TD>A framework for request/response based communication on top of the Net4j transport layer. </TD> </TR> </TABLE> 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. </TD> +<TD>A framework for request/response based communication on top of the Net4j transport layer. </TD> </TR> </TABLE> @@ -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<RESULT></A></B></CODE> <BR> - </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> </TABLE> 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. </TD> +<TD>A framework for request/response based communication on top of the Net4j transport layer. </TD> </TR> </TABLE> @@ -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> - </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 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> - </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 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> - </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 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> - </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 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<RESULT></A></B></CODE> <BR> - </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 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<RESULT></A></B></CODE> <BR> - </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 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> - </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 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> - </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> </TABLE> 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. </TD> +<TD>A framework for request/response based communication on top of the Net4j transport layer. </TD> </TR> </TABLE> @@ -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> - </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 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<RESULT></A></B></CODE> <BR> - </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 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<RESULT></A></B></CODE> <BR> - </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> </TABLE> 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. </TD> +<TD>A framework for request/response based communication on top of the Net4j transport layer. </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> - </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 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> - </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> </TABLE> 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. </TD> +<TD>A framework for request/response based communication on top of the Net4j transport layer. </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> - </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 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> - </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 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> - </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> </TABLE> 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 Binary files differnew file mode 100644 index 0000000000..af40c9518c --- /dev/null +++ b/plugins/org.eclipse.net4j.doc/javadoc/org/eclipse/net4j/signal/doc-files/signals.png 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> - </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 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> - </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> <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> - </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> </TABLE> <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> </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> </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> </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> </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> 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<INFRA_STRUCTURE></A></B></TD> -<TD> </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> @@ -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> </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> </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> </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> </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<RESULT></A></B></TD> -<TD> </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<RESULT></A></B></TD> -<TD> </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> </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> </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> </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<INFRA_STRUCTURE></A></B></TD> -<TD> </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<INFRA_STRUCTURE></A></B></TD> -<TD> </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> </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> </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<INFRA_STRUCTURE></A></B></TD> -<TD> </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> @@ -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> </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> 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. </TD> +<TD>A framework for request/response based communication on top of the Net4j transport layer. </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> - </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> @@ -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> - </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><B><A HREF="../../../../org/eclipse/net4j/signal/class-use/ISignalProtocol.html#org.eclipse.net4j.signal"><B>ISignalProtocol</B></A></B> <BR> - </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> <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> - </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> <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> - </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><B><A HREF="../../../../org/eclipse/net4j/signal/class-use/Signal.html#org.eclipse.net4j.signal"><B>Signal</B></A></B> <BR> - </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><B><A HREF="../../../../org/eclipse/net4j/signal/class-use/SignalActor.html#org.eclipse.net4j.signal"><B>SignalActor</B></A></B> <BR> - </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><B><A HREF="../../../../org/eclipse/net4j/signal/class-use/SignalProtocol.html#org.eclipse.net4j.signal"><B>SignalProtocol</B></A></B> <BR> - </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><B><A HREF="../../../../org/eclipse/net4j/signal/class-use/SignalReactor.html#org.eclipse.net4j.signal"><B>SignalReactor</B></A></B> <BR> - </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> </TABLE> @@ -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> - </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> <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> - </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><B><A HREF="../../../../org/eclipse/net4j/signal/class-use/SignalReactor.html#org.eclipse.net4j.signal.heartbeat"><B>SignalReactor</B></A></B> <BR> - </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> </TABLE> @@ -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> - </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> </TABLE> 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> - </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 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> - </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> 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> </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> </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> </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> 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> - </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> </TABLE> 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 Binary files differnew file mode 100644 index 0000000000..7a16b6ef01 --- /dev/null +++ b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/acceptor/doc-files/acceptors.png 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 Binary files differnew file mode 100644 index 0000000000..b7f851ae36 --- /dev/null +++ b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/buffer/doc-files/buffers.png 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 Binary files differnew file mode 100644 index 0000000000..d45c55116f --- /dev/null +++ b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/channel/doc-files/channels.png 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 Binary files differnew file mode 100644 index 0000000000..741ec4598e --- /dev/null +++ b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/connector/doc-files/connectors.png 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 Binary files differnew file mode 100644 index 0000000000..93eb57f313 --- /dev/null +++ b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/doc-files/architecture.png 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 Binary files differnew file mode 100644 index 0000000000..968099381c --- /dev/null +++ b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/protocol/doc-files/protocols.png 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; + } + 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(); +} diff --git a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/SignalActor.java b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/SignalActor.java index 8223b337ef..9c511c33cc 100644 --- a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/SignalActor.java +++ b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/SignalActor.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;
-
-/**
- * @author Eike Stepper
- */
-public abstract class SignalActor extends Signal
-{
- /**
- * @since 2.0
- */
- public SignalActor(SignalProtocol<?> protocol, short id, String name)
- {
- super(protocol, id, name);
- setCorrelationID(protocol.getNextCorrelationID());
- }
-
- /**
- * @since 2.0
- */
- public SignalActor(SignalProtocol<?> protocol, short id)
- {
- super(protocol, id);
- setCorrelationID(protocol.getNextCorrelationID());
- }
-
- /**
- * @since 2.0
- */
- public SignalActor(SignalProtocol<?> protocol, Enum<?> literal)
- {
- super(protocol, literal);
- setCorrelationID(protocol.getNextCorrelationID());
- }
-
- @Override
- protected final void execute(BufferInputStream in, BufferOutputStream out) throws Exception
- {
- doExecute(in, out);
- }
-
- abstract void doExecute(BufferInputStream in, BufferOutputStream out) throws Exception;
-
- @Override
- String getInputMeaning()
- {
- return "Confirming"; //$NON-NLS-1$
- }
-
- @Override
- String getOutputMeaning()
- {
- return "Requesting"; //$NON-NLS-1$
- }
-}
+/* + * 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; + +/** + * Represents the sender side of a {@link Signal signal}. + * + * @author Eike Stepper + */ +public abstract class SignalActor extends Signal +{ + /** + * @since 2.0 + */ + public SignalActor(SignalProtocol<?> protocol, short id, String name) + { + super(protocol, id, name); + setCorrelationID(protocol.getNextCorrelationID()); + } + + /** + * @since 2.0 + */ + public SignalActor(SignalProtocol<?> protocol, short id) + { + super(protocol, id); + setCorrelationID(protocol.getNextCorrelationID()); + } + + /** + * @since 2.0 + */ + public SignalActor(SignalProtocol<?> protocol, Enum<?> literal) + { + super(protocol, literal); + setCorrelationID(protocol.getNextCorrelationID()); + } + + @Override + protected final void execute(BufferInputStream in, BufferOutputStream out) throws Exception + { + doExecute(in, out); + } + + abstract void doExecute(BufferInputStream in, BufferOutputStream out) throws Exception; + + @Override + String getInputMeaning() + { + return "Confirming"; //$NON-NLS-1$ + } + + @Override + String getOutputMeaning() + { + return "Requesting"; //$NON-NLS-1$ + } +} diff --git a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/SignalCounter.java b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/SignalCounter.java index 235a1f9568..c179d87c9d 100644 --- a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/SignalCounter.java +++ b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/SignalCounter.java @@ -1,56 +1,67 @@ -/*
- * 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.util.collection.HashBag;
-import org.eclipse.net4j.util.event.IEvent;
-import org.eclipse.net4j.util.event.IListener;
-
-/**
- * @author Eike Stepper
- * @since 3.0
- */
-public final class SignalCounter implements IListener
-{
- private HashBag<Class<? extends Signal>> signals = new HashBag<Class<? extends Signal>>();
-
- public SignalCounter()
- {
- }
-
- public int getCountFor(Class<? extends Signal> signal)
- {
- synchronized (signals)
- {
- return signals.getCounterFor(signal);
- }
- }
-
- public void clearCounts()
- {
- synchronized (signals)
- {
- signals.clear();
- }
- }
-
- public void notifyEvent(IEvent event)
- {
- if (event instanceof SignalFinishedEvent)
- {
- synchronized (signals)
- {
- SignalFinishedEvent<?> e = (SignalFinishedEvent<?>)event;
- signals.add(e.getSignal().getClass());
- }
- }
- }
-}
+/* + * 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.util.collection.HashBag; +import org.eclipse.net4j.util.event.IEvent; +import org.eclipse.net4j.util.event.IListener; + +/** + * Provides {@link Signal signal} execution counts when + * {@link SignalProtocol#addListener(IListener) attached} to a {@link ISignalProtocol signal protocol}. + * + * @author Eike Stepper + * @since 3.0 + */ +public final class SignalCounter implements IListener +{ + private HashBag<Class<? extends Signal>> signals = new HashBag<Class<? extends Signal>>(); + + public SignalCounter() + { + } + + /** + * @since 4.1 + */ + public SignalCounter(ISignalProtocol<?> protocol) + { + protocol.addListener(this); + } + + public int getCountFor(Class<? extends Signal> signal) + { + synchronized (signals) + { + return signals.getCounterFor(signal); + } + } + + public void clearCounts() + { + synchronized (signals) + { + signals.clear(); + } + } + + public void notifyEvent(IEvent event) + { + if (event instanceof SignalFinishedEvent) + { + synchronized (signals) + { + SignalFinishedEvent<?> e = (SignalFinishedEvent<?>)event; + signals.add(e.getSignal().getClass()); + } + } + } +} diff --git a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/SignalFinishedEvent.java b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/SignalFinishedEvent.java index 93f5a37a40..7eb2014cc3 100644 --- a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/SignalFinishedEvent.java +++ b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/SignalFinishedEvent.java @@ -1,64 +1,68 @@ -/*
- * 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.util.event.Event;
-
-/**
- * @author Eike Stepper
- * @since 3.0
- * @noextend This interface is not intended to be extended by clients.
- */
-public class SignalFinishedEvent<INFRA_STRUCTURE> extends Event
-{
- private static final long serialVersionUID = 1L;
-
- private Signal signal;
-
- private Exception exception;
-
- SignalFinishedEvent(ISignalProtocol<INFRA_STRUCTURE> source, Signal signal, Exception exception)
- {
- super(source);
- this.signal = signal;
- this.exception = exception;
- }
-
- @Override
- public ISignalProtocol<INFRA_STRUCTURE> getSource()
- {
- @SuppressWarnings("unchecked")
- ISignalProtocol<INFRA_STRUCTURE> source = (ISignalProtocol<INFRA_STRUCTURE>)super.getSource();
- return source;
- }
-
- public Signal getSignal()
- {
- return signal;
- }
-
- public Exception getException()
- {
- return exception;
- }
-
- @Override
- protected String formatAdditionalParameters()
- {
- String result = "signal=" + signal.getClass().getSimpleName();
- if (exception != null)
- {
- result += ", exception=" + exception.getClass().getSimpleName();
- }
-
- return result;
- }
-}
+/* + * 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.util.event.Event; +import org.eclipse.net4j.util.event.IEvent; + +/** + * An {@link IEvent event} fired from a {@link ISignalProtocol signal protocol} when + * the local execution of a scheduled {@link #getSignal() signal} has finished. + * + * @author Eike Stepper + * @since 3.0 + * @noextend This interface is not intended to be extended by clients. + */ +public class SignalFinishedEvent<INFRA_STRUCTURE> extends Event +{ + private static final long serialVersionUID = 1L; + + private Signal signal; + + private Exception exception; + + SignalFinishedEvent(ISignalProtocol<INFRA_STRUCTURE> source, Signal signal, Exception exception) + { + super(source); + this.signal = signal; + this.exception = exception; + } + + @Override + public ISignalProtocol<INFRA_STRUCTURE> getSource() + { + @SuppressWarnings("unchecked") + ISignalProtocol<INFRA_STRUCTURE> source = (ISignalProtocol<INFRA_STRUCTURE>)super.getSource(); + return source; + } + + public Signal getSignal() + { + return signal; + } + + public Exception getException() + { + return exception; + } + + @Override + protected String formatAdditionalParameters() + { + String result = "signal=" + signal.getClass().getSimpleName(); + if (exception != null) + { + result += ", exception=" + exception.getClass().getSimpleName(); + } + + return result; + } +} diff --git a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/SignalProtocol.java b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/SignalProtocol.java index 2dd2c42768..6d984ab898 100644 --- a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/SignalProtocol.java +++ b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/SignalProtocol.java @@ -1,636 +1,646 @@ -/*
- * 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
- * Andre Dietisheim - maintenance
- */
-package org.eclipse.net4j.signal;
-
-import org.eclipse.net4j.buffer.BufferInputStream;
-import org.eclipse.net4j.buffer.IBuffer;
-import org.eclipse.net4j.buffer.IBufferProvider;
-import org.eclipse.net4j.channel.ChannelOutputStream;
-import org.eclipse.net4j.channel.IChannel;
-import org.eclipse.net4j.connector.IConnector;
-import org.eclipse.net4j.util.WrappedException;
-import org.eclipse.net4j.util.event.Event;
-import org.eclipse.net4j.util.event.IListener;
-import org.eclipse.net4j.util.io.IORuntimeException;
-import org.eclipse.net4j.util.io.IStreamWrapper;
-import org.eclipse.net4j.util.io.StreamWrapperChain;
-import org.eclipse.net4j.util.lifecycle.LifecycleUtil;
-import org.eclipse.net4j.util.om.log.OMLogger;
-import org.eclipse.net4j.util.om.trace.ContextTracer;
-
-import org.eclipse.internal.net4j.bundle.OM;
-
-import org.eclipse.spi.net4j.Protocol;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.nio.ByteBuffer;
-import java.text.MessageFormat;
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * @author Eike Stepper
- */
-public class SignalProtocol<INFRA_STRUCTURE> extends Protocol<INFRA_STRUCTURE> implements
- ISignalProtocol<INFRA_STRUCTURE>
-{
- /**
- * @since 2.0
- */
- public static final short SIGNAL_REMOTE_EXCEPTION = -1;
-
- /**
- * @since 2.0
- */
- public static final short SIGNAL_MONITOR_CANCELED = -2;
-
- /**
- * @since 2.0
- */
- public static final short SIGNAL_MONITOR_PROGRESS = -3;
-
- /**
- * @since 4.1
- */
- public static final short SIGNAL_SET_TIMEOUT = -4;
-
- private static final int MIN_CORRELATION_ID = 1;
-
- private static final int MAX_CORRELATION_ID = Integer.MAX_VALUE;
-
- private static final ContextTracer TRACER = new ContextTracer(OM.DEBUG_SIGNAL, SignalProtocol.class);
-
- private static final ContextTracer STREAM_TRACER = new ContextTracer(OM.DEBUG_BUFFER_STREAM, SignalProtocol.class);
-
- private long timeout = DEFAULT_TIMEOUT;
-
- private IStreamWrapper streamWrapper;
-
- private Map<Integer, Signal> signals = new HashMap<Integer, Signal>();
-
- private int nextCorrelationID = MIN_CORRELATION_ID;
-
- private boolean failingOver;
-
- /**
- * @since 2.0
- */
- public SignalProtocol(String type)
- {
- super(type);
- }
-
- /**
- * @since 2.0
- */
- public long getTimeout()
- {
- return timeout;
- }
-
- /**
- * @since 2.0
- */
- public void setTimeout(long timeout)
- {
- long oldTimeout = this.timeout;
- handleSetTimeOut(timeout);
-
- if (oldTimeout != this.timeout && isActive())
- {
- sendSetTimeout();
- }
- }
-
- public IStreamWrapper getStreamWrapper()
- {
- return streamWrapper;
- }
-
- public void setStreamWrapper(IStreamWrapper streamWrapper)
- {
- this.streamWrapper = streamWrapper;
- }
-
- public void addStreamWrapper(IStreamWrapper streamWrapper)
- {
- if (this.streamWrapper == null)
- {
- this.streamWrapper = streamWrapper;
- }
- else
- {
- this.streamWrapper = new StreamWrapperChain(streamWrapper, this.streamWrapper);
- }
- }
-
- /**
- * @since 2.0
- */
- public IChannel open(IConnector connector)
- {
- return connector.openChannel(this);
- }
-
- /**
- * @since 2.0
- */
- public void close()
- {
- LifecycleUtil.deactivate(this, OMLogger.Level.DEBUG);
- }
-
- public boolean waitForSignals(long timeout)
- {
- synchronized (signals)
- {
- while (!signals.isEmpty())
- {
- try
- {
- signals.wait(timeout);
- }
- catch (InterruptedException ex)
- {
- return false;
- }
- }
- }
-
- return true;
- }
-
- /**
- * Handles a given (incoming) buffer. Creates a signal to act upon the given buffer or uses a previously created
- * signal.
- */
- public void handleBuffer(IBuffer buffer)
- {
- ByteBuffer byteBuffer = buffer.getByteBuffer();
- int correlationID = byteBuffer.getInt();
- if (TRACER.isEnabled())
- {
- TRACER.trace("Received buffer for correlation " + correlationID); //$NON-NLS-1$
- }
-
- Signal signal;
- boolean newSignalScheduled = false;
-
- synchronized (signals)
- {
- if (correlationID > 0)
- {
- // Incoming indication
- signal = signals.get(-correlationID);
- if (signal == null)
- {
- short signalID = byteBuffer.getShort();
- if (TRACER.isEnabled())
- {
- TRACER.trace("Got signalID: " + signalID); //$NON-NLS-1$
- }
-
- signal = provideSignalReactor(signalID);
- signal.setCorrelationID(-correlationID);
- signal.setBufferInputStream(new SignalInputStream(getTimeout()));
- if (signal instanceof IndicationWithResponse)
- {
- signal.setBufferOutputStream(new SignalOutputStream(-correlationID, signalID, false));
- }
-
- signals.put(-correlationID, signal);
- getExecutorService().execute(signal);
- newSignalScheduled = true;
- }
- }
- else
- {
- // Incoming confirmation
- signal = signals.get(-correlationID);
- }
- }
-
- if (signal != null) // Can be null after timeout
- {
- if (newSignalScheduled)
- {
- IListener[] listeners = getListeners();
- if (listeners != null)
- {
- fireEvent(new SignalScheduledEvent<INFRA_STRUCTURE>(this, signal), listeners);
- }
- }
-
- BufferInputStream inputStream = signal.getBufferInputStream();
- inputStream.handleBuffer(buffer);
- }
- else
- {
- if (TRACER.isEnabled())
- {
- TRACER.trace("Discarding buffer"); //$NON-NLS-1$
- }
-
- buffer.release();
- }
- }
-
- @Override
- public String toString()
- {
- return MessageFormat.format("SignalProtocol[{0}]", getType()); //$NON-NLS-1$
- }
-
- @Override
- protected void doAfterActivate() throws Exception
- {
- super.doAfterActivate();
-
- if (timeout != DEFAULT_TIMEOUT)
- {
- sendSetTimeout();
- }
- }
-
- @Override
- protected void doBeforeDeactivate() throws Exception
- {
- synchronized (signals)
- {
- // Wait at most 10 seconds for running signals to finish
- int waitMillis = 10 * 1000;
- long stop = System.currentTimeMillis() + waitMillis;
- while (!signals.isEmpty() && System.currentTimeMillis() < stop)
- {
- signals.wait(1000L);
- }
- }
- }
-
- @Override
- protected void doDeactivate() throws Exception
- {
- synchronized (signals)
- {
- signals.clear();
- }
-
- IChannel channel = getChannel();
- if (channel != null)
- {
- channel.close();
- setChannel(null);
- }
-
- super.doDeactivate();
- }
-
- @Override
- protected void handleChannelDeactivation()
- {
- if (!failingOver)
- {
- super.handleChannelDeactivation();
- }
- }
-
- protected final SignalReactor provideSignalReactor(short signalID)
- {
- checkActive();
- switch (signalID)
- {
- case SIGNAL_REMOTE_EXCEPTION:
- return new RemoteExceptionIndication(this);
-
- case SIGNAL_MONITOR_CANCELED:
- return new MonitorCanceledIndication(this);
-
- case SIGNAL_MONITOR_PROGRESS:
- return new MonitorProgressIndication(this);
-
- case SIGNAL_SET_TIMEOUT:
- return new SetTimeoutIndication(this);
-
- default:
- SignalReactor signal = createSignalReactor(signalID);
- if (signal == null)
- {
- throw new IllegalArgumentException("Invalid signalID " + signalID); //$NON-NLS-1$
- }
-
- return signal;
- }
- }
-
- /**
- * Returns a new signal instance to serve the given signal ID or <code>null</code> if the signal ID is invalid/unknown
- * for this protocol.
- */
- protected SignalReactor createSignalReactor(short signalID)
- {
- return null;
- }
-
- /**
- * Returns <code>true</code> by default, override to change this behaviour.
- *
- * @since 4.1
- */
- protected boolean isSendingTimeoutChanges()
- {
- return true;
- }
-
- synchronized int getNextCorrelationID()
- {
- int correlationID = nextCorrelationID;
- if (nextCorrelationID == MAX_CORRELATION_ID)
- {
- if (TRACER.isEnabled())
- {
- TRACER.trace("Correlation ID wrap-around"); //$NON-NLS-1$
- }
-
- nextCorrelationID = MIN_CORRELATION_ID;
- }
- else
- {
- ++nextCorrelationID;
- }
-
- return correlationID;
- }
-
- InputStream wrapInputStream(InputStream in) throws IOException
- {
- if (streamWrapper != null)
- {
- in = streamWrapper.wrapInputStream(in);
- }
-
- return in;
- }
-
- OutputStream wrapOutputStream(OutputStream out) throws IOException
- {
- if (streamWrapper != null)
- {
- out = streamWrapper.wrapOutputStream(out);
- }
-
- return out;
- }
-
- void finishInputStream(InputStream in) throws IOException
- {
- if (streamWrapper != null)
- {
- streamWrapper.finishInputStream(in);
- }
- }
-
- void finishOutputStream(OutputStream out) throws IOException
- {
- if (streamWrapper != null)
- {
- streamWrapper.finishOutputStream(out);
- }
- }
-
- void startSignal(SignalActor signalActor, long timeout) throws Exception
- {
- checkArg(signalActor.getProtocol() == this, "Wrong protocol"); //$NON-NLS-1$
- short signalID = signalActor.getID();
- int correlationID = signalActor.getCorrelationID();
- signalActor.setBufferOutputStream(new SignalOutputStream(correlationID, signalID, true));
- if (signalActor instanceof RequestWithConfirmation<?>)
- {
- signalActor.setBufferInputStream(new SignalInputStream(timeout));
- }
-
- synchronized (signals)
- {
- signals.put(correlationID, signalActor);
- }
-
- IListener[] listeners = getListeners();
- if (listeners != null)
- {
- fireEvent(new SignalScheduledEvent<INFRA_STRUCTURE>(this, signalActor), listeners);
- }
-
- signalActor.runSync();
- }
-
- void stopSignal(Signal signal, Exception exception)
- {
- int correlationID = signal.getCorrelationID();
- synchronized (signals)
- {
- signals.remove(correlationID);
- signals.notifyAll();
- }
-
- IListener[] listeners = getListeners();
- if (listeners != null)
- {
- fireEvent(new SignalFinishedEvent<INFRA_STRUCTURE>(this, signal, exception), listeners);
- }
- }
-
- void handleRemoteException(int correlationID, Throwable t, boolean responding)
- {
- synchronized (signals)
- {
- Signal signal = signals.remove(correlationID);
- if (signal instanceof RequestWithConfirmation<?>)
- {
- RequestWithConfirmation<?> request = (RequestWithConfirmation<?>)signal;
- request.setRemoteException(t, responding);
- }
-
- signals.notifyAll();
- }
- }
-
- void handleMonitorProgress(int correlationID, double totalWork, double work)
- {
- synchronized (signals)
- {
- Signal signal = signals.get(correlationID);
- if (signal instanceof RequestWithMonitoring<?>)
- {
- RequestWithMonitoring<?> request = (RequestWithMonitoring<?>)signal;
- request.setMonitorProgress(totalWork, work);
- }
- }
- }
-
- void handleMonitorCanceled(int correlationID)
- {
- synchronized (signals)
- {
- Signal signal = signals.get(correlationID);
- if (signal instanceof IndicationWithMonitoring)
- {
- IndicationWithMonitoring indication = (IndicationWithMonitoring)signal;
- indication.setMonitorCanceled();
- }
- }
- }
-
- void handleSetTimeOut(long timeout)
- {
- long oldTimeout = this.timeout;
- if (oldTimeout != timeout)
- {
- this.timeout = timeout;
- fireEvent(new TimeoutChangedEvent(this, oldTimeout, timeout));
- }
- }
-
- void sendSetTimeout()
- {
- if (isSendingTimeoutChanges())
- {
- try
- {
- new SetTimeoutRequest(this, this.timeout).send();
- }
- catch (Exception ex)
- {
- throw WrappedException.wrap(ex);
- }
- }
- }
-
- /**
- * @author Eike Stepper
- * @since 4.1
- */
- public static final class TimeoutChangedEvent extends Event
- {
- private static final long serialVersionUID = 1L;
-
- private long oldTimeout;
-
- private long newTimeout;
-
- private TimeoutChangedEvent(ISignalProtocol<?> source, long oldTimeout, long newTimeout)
- {
- super(source);
- this.oldTimeout = oldTimeout;
- this.newTimeout = newTimeout;
- }
-
- @Override
- public SignalProtocol<?> getSource()
- {
- return (SignalProtocol<?>)super.getSource();
- }
-
- public long getOldTimeout()
- {
- return oldTimeout;
- }
-
- public long getNewTimeout()
- {
- return newTimeout;
- }
-
- @Override
- public String toString()
- {
- return "TimeoutChangedEvent [oldTimeout=" + oldTimeout + ", newTimeout=" + newTimeout + ", source=" + source
- + "]";
- }
-
- }
-
- /**
- * @author Eike Stepper
- */
- class SignalInputStream extends BufferInputStream
- {
- private long timeout;
-
- public SignalInputStream(long timeout)
- {
- this.timeout = timeout;
- }
-
- @Override
- public long getMillisBeforeTimeout()
- {
- return timeout;
- }
- }
-
- /**
- * @author Eike Stepper
- */
- class SignalOutputStream extends ChannelOutputStream
- {
- public SignalOutputStream(final int correlationID, final short signalID, final boolean addSignalID)
- {
- super(getChannel(), new IBufferProvider()
- {
- private IBufferProvider delegate = getBufferProvider();
-
- private boolean firstBuffer = addSignalID;
-
- public short getBufferCapacity()
- {
- return delegate.getBufferCapacity();
- }
-
- public IBuffer provideBuffer()
- {
- IChannel channel = getChannel();
- if (channel == null)
- {
- throw new IORuntimeException("No channel for protocol " + SignalProtocol.this); //$NON-NLS-1$
- }
-
- IBuffer buffer = delegate.provideBuffer();
- ByteBuffer byteBuffer = buffer.startPutting(channel.getID());
- if (STREAM_TRACER.isEnabled())
- {
- STREAM_TRACER.trace("Providing buffer for correlation " + correlationID); //$NON-NLS-1$
- }
-
- byteBuffer.putInt(correlationID);
- if (firstBuffer)
- {
- if (SignalProtocol.TRACER.isEnabled())
- {
- STREAM_TRACER.trace("Put signal id " + signalID); //$NON-NLS-1$
- }
-
- byteBuffer.putShort(signalID);
- }
-
- firstBuffer = false;
- return buffer;
- }
-
- public void retainBuffer(IBuffer buffer)
- {
- delegate.retainBuffer(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 + * Andre Dietisheim - maintenance + */ +package org.eclipse.net4j.signal; + +import org.eclipse.net4j.buffer.BufferInputStream; +import org.eclipse.net4j.buffer.IBuffer; +import org.eclipse.net4j.buffer.IBufferProvider; +import org.eclipse.net4j.channel.ChannelOutputStream; +import org.eclipse.net4j.channel.IChannel; +import org.eclipse.net4j.connector.IConnector; +import org.eclipse.net4j.util.WrappedException; +import org.eclipse.net4j.util.event.Event; +import org.eclipse.net4j.util.event.IEvent; +import org.eclipse.net4j.util.event.IListener; +import org.eclipse.net4j.util.io.IORuntimeException; +import org.eclipse.net4j.util.io.IStreamWrapper; +import org.eclipse.net4j.util.io.StreamWrapperChain; +import org.eclipse.net4j.util.lifecycle.LifecycleUtil; +import org.eclipse.net4j.util.om.log.OMLogger; +import org.eclipse.net4j.util.om.trace.ContextTracer; + +import org.eclipse.internal.net4j.bundle.OM; + +import org.eclipse.spi.net4j.Protocol; + +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.nio.ByteBuffer; +import java.text.MessageFormat; +import java.util.HashMap; +import java.util.Map; + +/** + * The default implementation of a {@link ISignalProtocol signal protocol}. + * <p> + * On the {@link org.eclipse.net4j.ILocationAware.Location#SERVER receiver side(s)} of protocol the + * {@link #createSignalReactor(short) createSignalReactor()} method has to be overridden to + * create appropriate peer instances for incoming {@link Signal signals}. + * + * @author Eike Stepper + */ +public class SignalProtocol<INFRA_STRUCTURE> extends Protocol<INFRA_STRUCTURE> implements + ISignalProtocol<INFRA_STRUCTURE> +{ + /** + * @since 2.0 + */ + public static final short SIGNAL_REMOTE_EXCEPTION = -1; + + /** + * @since 2.0 + */ + public static final short SIGNAL_MONITOR_CANCELED = -2; + + /** + * @since 2.0 + */ + public static final short SIGNAL_MONITOR_PROGRESS = -3; + + /** + * @since 4.1 + */ + public static final short SIGNAL_SET_TIMEOUT = -4; + + private static final int MIN_CORRELATION_ID = 1; + + private static final int MAX_CORRELATION_ID = Integer.MAX_VALUE; + + private static final ContextTracer TRACER = new ContextTracer(OM.DEBUG_SIGNAL, SignalProtocol.class); + + private static final ContextTracer STREAM_TRACER = new ContextTracer(OM.DEBUG_BUFFER_STREAM, SignalProtocol.class); + + private long timeout = DEFAULT_TIMEOUT; + + private IStreamWrapper streamWrapper; + + private Map<Integer, Signal> signals = new HashMap<Integer, Signal>(); + + private int nextCorrelationID = MIN_CORRELATION_ID; + + private boolean failingOver; + + /** + * @since 2.0 + */ + public SignalProtocol(String type) + { + super(type); + } + + /** + * @since 2.0 + */ + public long getTimeout() + { + return timeout; + } + + /** + * @since 2.0 + */ + public void setTimeout(long timeout) + { + long oldTimeout = this.timeout; + handleSetTimeOut(timeout); + + if (oldTimeout != this.timeout && isActive()) + { + sendSetTimeout(); + } + } + + public IStreamWrapper getStreamWrapper() + { + return streamWrapper; + } + + public void setStreamWrapper(IStreamWrapper streamWrapper) + { + this.streamWrapper = streamWrapper; + } + + public void addStreamWrapper(IStreamWrapper streamWrapper) + { + if (this.streamWrapper == null) + { + this.streamWrapper = streamWrapper; + } + else + { + this.streamWrapper = new StreamWrapperChain(streamWrapper, this.streamWrapper); + } + } + + /** + * @since 2.0 + */ + public IChannel open(IConnector connector) + { + return connector.openChannel(this); + } + + /** + * @since 2.0 + */ + public void close() + { + LifecycleUtil.deactivate(this, OMLogger.Level.DEBUG); + } + + public boolean waitForSignals(long timeout) + { + synchronized (signals) + { + while (!signals.isEmpty()) + { + try + { + signals.wait(timeout); + } + catch (InterruptedException ex) + { + return false; + } + } + } + + return true; + } + + /** + * Handles a given (incoming) buffer. Creates a signal to act upon the given buffer or uses a previously created + * signal. + */ + public void handleBuffer(IBuffer buffer) + { + ByteBuffer byteBuffer = buffer.getByteBuffer(); + int correlationID = byteBuffer.getInt(); + if (TRACER.isEnabled()) + { + TRACER.trace("Received buffer for correlation " + correlationID); //$NON-NLS-1$ + } + + Signal signal; + boolean newSignalScheduled = false; + + synchronized (signals) + { + if (correlationID > 0) + { + // Incoming indication + signal = signals.get(-correlationID); + if (signal == null) + { + short signalID = byteBuffer.getShort(); + if (TRACER.isEnabled()) + { + TRACER.trace("Got signalID: " + signalID); //$NON-NLS-1$ + } + + signal = provideSignalReactor(signalID); + signal.setCorrelationID(-correlationID); + signal.setBufferInputStream(new SignalInputStream(getTimeout())); + if (signal instanceof IndicationWithResponse) + { + signal.setBufferOutputStream(new SignalOutputStream(-correlationID, signalID, false)); + } + + signals.put(-correlationID, signal); + getExecutorService().execute(signal); + newSignalScheduled = true; + } + } + else + { + // Incoming confirmation + signal = signals.get(-correlationID); + } + } + + if (signal != null) // Can be null after timeout + { + if (newSignalScheduled) + { + IListener[] listeners = getListeners(); + if (listeners != null) + { + fireEvent(new SignalScheduledEvent<INFRA_STRUCTURE>(this, signal), listeners); + } + } + + BufferInputStream inputStream = signal.getBufferInputStream(); + inputStream.handleBuffer(buffer); + } + else + { + if (TRACER.isEnabled()) + { + TRACER.trace("Discarding buffer"); //$NON-NLS-1$ + } + + buffer.release(); + } + } + + @Override + public String toString() + { + return MessageFormat.format("SignalProtocol[{0}]", getType()); //$NON-NLS-1$ + } + + @Override + protected void doAfterActivate() throws Exception + { + super.doAfterActivate(); + + if (timeout != DEFAULT_TIMEOUT) + { + sendSetTimeout(); + } + } + + @Override + protected void doBeforeDeactivate() throws Exception + { + synchronized (signals) + { + // Wait at most 10 seconds for running signals to finish + int waitMillis = 10 * 1000; + long stop = System.currentTimeMillis() + waitMillis; + while (!signals.isEmpty() && System.currentTimeMillis() < stop) + { + signals.wait(1000L); + } + } + } + + @Override + protected void doDeactivate() throws Exception + { + synchronized (signals) + { + signals.clear(); + } + + IChannel channel = getChannel(); + if (channel != null) + { + channel.close(); + setChannel(null); + } + + super.doDeactivate(); + } + + @Override + protected void handleChannelDeactivation() + { + if (!failingOver) + { + super.handleChannelDeactivation(); + } + } + + protected final SignalReactor provideSignalReactor(short signalID) + { + checkActive(); + switch (signalID) + { + case SIGNAL_REMOTE_EXCEPTION: + return new RemoteExceptionIndication(this); + + case SIGNAL_MONITOR_CANCELED: + return new MonitorCanceledIndication(this); + + case SIGNAL_MONITOR_PROGRESS: + return new MonitorProgressIndication(this); + + case SIGNAL_SET_TIMEOUT: + return new SetTimeoutIndication(this); + + default: + SignalReactor signal = createSignalReactor(signalID); + if (signal == null) + { + throw new IllegalArgumentException("Invalid signalID " + signalID); //$NON-NLS-1$ + } + + return signal; + } + } + + /** + * Returns a new signal instance to serve the given signal ID or <code>null</code> if the signal ID is invalid/unknown + * for this protocol. + */ + protected SignalReactor createSignalReactor(short signalID) + { + return null; + } + + /** + * Returns <code>true</code> by default, override to change this behaviour. + * + * @since 4.1 + */ + protected boolean isSendingTimeoutChanges() + { + return true; + } + + synchronized int getNextCorrelationID() + { + int correlationID = nextCorrelationID; + if (nextCorrelationID == MAX_CORRELATION_ID) + { + if (TRACER.isEnabled()) + { + TRACER.trace("Correlation ID wrap-around"); //$NON-NLS-1$ + } + + nextCorrelationID = MIN_CORRELATION_ID; + } + else + { + ++nextCorrelationID; + } + + return correlationID; + } + + InputStream wrapInputStream(InputStream in) throws IOException + { + if (streamWrapper != null) + { + in = streamWrapper.wrapInputStream(in); + } + + return in; + } + + OutputStream wrapOutputStream(OutputStream out) throws IOException + { + if (streamWrapper != null) + { + out = streamWrapper.wrapOutputStream(out); + } + + return out; + } + + void finishInputStream(InputStream in) throws IOException + { + if (streamWrapper != null) + { + streamWrapper.finishInputStream(in); + } + } + + void finishOutputStream(OutputStream out) throws IOException + { + if (streamWrapper != null) + { + streamWrapper.finishOutputStream(out); + } + } + + void startSignal(SignalActor signalActor, long timeout) throws Exception + { + checkArg(signalActor.getProtocol() == this, "Wrong protocol"); //$NON-NLS-1$ + short signalID = signalActor.getID(); + int correlationID = signalActor.getCorrelationID(); + signalActor.setBufferOutputStream(new SignalOutputStream(correlationID, signalID, true)); + if (signalActor instanceof RequestWithConfirmation<?>) + { + signalActor.setBufferInputStream(new SignalInputStream(timeout)); + } + + synchronized (signals) + { + signals.put(correlationID, signalActor); + } + + IListener[] listeners = getListeners(); + if (listeners != null) + { + fireEvent(new SignalScheduledEvent<INFRA_STRUCTURE>(this, signalActor), listeners); + } + + signalActor.runSync(); + } + + void stopSignal(Signal signal, Exception exception) + { + int correlationID = signal.getCorrelationID(); + synchronized (signals) + { + signals.remove(correlationID); + signals.notifyAll(); + } + + IListener[] listeners = getListeners(); + if (listeners != null) + { + fireEvent(new SignalFinishedEvent<INFRA_STRUCTURE>(this, signal, exception), listeners); + } + } + + void handleRemoteException(int correlationID, Throwable t, boolean responding) + { + synchronized (signals) + { + Signal signal = signals.remove(correlationID); + if (signal instanceof RequestWithConfirmation<?>) + { + RequestWithConfirmation<?> request = (RequestWithConfirmation<?>)signal; + request.setRemoteException(t, responding); + } + + signals.notifyAll(); + } + } + + void handleMonitorProgress(int correlationID, double totalWork, double work) + { + synchronized (signals) + { + Signal signal = signals.get(correlationID); + if (signal instanceof RequestWithMonitoring<?>) + { + RequestWithMonitoring<?> request = (RequestWithMonitoring<?>)signal; + request.setMonitorProgress(totalWork, work); + } + } + } + + void handleMonitorCanceled(int correlationID) + { + synchronized (signals) + { + Signal signal = signals.get(correlationID); + if (signal instanceof IndicationWithMonitoring) + { + IndicationWithMonitoring indication = (IndicationWithMonitoring)signal; + indication.setMonitorCanceled(); + } + } + } + + void handleSetTimeOut(long timeout) + { + long oldTimeout = this.timeout; + if (oldTimeout != timeout) + { + this.timeout = timeout; + fireEvent(new TimeoutChangedEvent(this, oldTimeout, timeout)); + } + } + + void sendSetTimeout() + { + if (isSendingTimeoutChanges()) + { + try + { + new SetTimeoutRequest(this, this.timeout).send(); + } + catch (Exception ex) + { + throw WrappedException.wrap(ex); + } + } + } + + /** + * An {@link IEvent event} fired from a {@link ISignalProtocol signal protocol} when the protocol {@link ISignalProtocol#setTimeout(long) timeout} + * has been changed. + * + * @author Eike Stepper + * @since 4.1 + */ + public static final class TimeoutChangedEvent extends Event + { + private static final long serialVersionUID = 1L; + + private long oldTimeout; + + private long newTimeout; + + private TimeoutChangedEvent(ISignalProtocol<?> source, long oldTimeout, long newTimeout) + { + super(source); + this.oldTimeout = oldTimeout; + this.newTimeout = newTimeout; + } + + @Override + public SignalProtocol<?> getSource() + { + return (SignalProtocol<?>)super.getSource(); + } + + public long getOldTimeout() + { + return oldTimeout; + } + + public long getNewTimeout() + { + return newTimeout; + } + + @Override + public String toString() + { + return "TimeoutChangedEvent [oldTimeout=" + oldTimeout + ", newTimeout=" + newTimeout + ", source=" + source + + "]"; + } + + } + + /** + * @author Eike Stepper + */ + class SignalInputStream extends BufferInputStream + { + private long timeout; + + public SignalInputStream(long timeout) + { + this.timeout = timeout; + } + + @Override + public long getMillisBeforeTimeout() + { + return timeout; + } + } + + /** + * @author Eike Stepper + */ + class SignalOutputStream extends ChannelOutputStream + { + public SignalOutputStream(final int correlationID, final short signalID, final boolean addSignalID) + { + super(getChannel(), new IBufferProvider() + { + private IBufferProvider delegate = getBufferProvider(); + + private boolean firstBuffer = addSignalID; + + public short getBufferCapacity() + { + return delegate.getBufferCapacity(); + } + + public IBuffer provideBuffer() + { + IChannel channel = getChannel(); + if (channel == null) + { + throw new IORuntimeException("No channel for protocol " + SignalProtocol.this); //$NON-NLS-1$ + } + + IBuffer buffer = delegate.provideBuffer(); + ByteBuffer byteBuffer = buffer.startPutting(channel.getID()); + if (STREAM_TRACER.isEnabled()) + { + STREAM_TRACER.trace("Providing buffer for correlation " + correlationID); //$NON-NLS-1$ + } + + byteBuffer.putInt(correlationID); + if (firstBuffer) + { + if (SignalProtocol.TRACER.isEnabled()) + { + STREAM_TRACER.trace("Put signal id " + signalID); //$NON-NLS-1$ + } + + byteBuffer.putShort(signalID); + } + + firstBuffer = false; + return buffer; + } + + public void retainBuffer(IBuffer buffer) + { + delegate.retainBuffer(buffer); + } + }); + } + } +} diff --git a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/SignalReactor.java b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/SignalReactor.java index 68ef475cd9..e42acf534c 100644 --- a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/SignalReactor.java +++ b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/SignalReactor.java @@ -1,53 +1,55 @@ -/*
- * 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
- */
-public abstract class SignalReactor extends Signal
-{
- /**
- * @since 2.0
- */
- public SignalReactor(SignalProtocol<?> protocol, short id, String name)
- {
- super(protocol, id, name);
- }
-
- /**
- * @since 2.0
- */
- public SignalReactor(SignalProtocol<?> protocol, short signalID)
- {
- super(protocol, signalID);
- }
-
- /**
- * @since 2.0
- */
- public SignalReactor(SignalProtocol<?> protocol, Enum<?> literal)
- {
- super(protocol, literal);
- }
-
- @Override
- String getInputMeaning()
- {
- return "Indicating"; //$NON-NLS-1$
- }
-
- @Override
- String getOutputMeaning()
- {
- return "Responding"; //$NON-NLS-1$
- }
-}
+/* + * 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; + +/** + * Represents the receiver side of a {@link Signal signal}. + * + * @author Eike Stepper + */ +public abstract class SignalReactor extends Signal +{ + /** + * @since 2.0 + */ + public SignalReactor(SignalProtocol<?> protocol, short id, String name) + { + super(protocol, id, name); + } + + /** + * @since 2.0 + */ + public SignalReactor(SignalProtocol<?> protocol, short signalID) + { + super(protocol, signalID); + } + + /** + * @since 2.0 + */ + public SignalReactor(SignalProtocol<?> protocol, Enum<?> literal) + { + super(protocol, literal); + } + + @Override + String getInputMeaning() + { + return "Indicating"; //$NON-NLS-1$ + } + + @Override + String getOutputMeaning() + { + return "Responding"; //$NON-NLS-1$ + } +} diff --git a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/SignalScheduledEvent.java b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/SignalScheduledEvent.java index 50b94bc846..5c1fd1d682 100644 --- a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/SignalScheduledEvent.java +++ b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/SignalScheduledEvent.java @@ -1,50 +1,54 @@ -/*
- * 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.util.event.Event;
-
-/**
- * @author Eike Stepper
- * @since 3.0
- * @noextend This interface is not intended to be extended by clients.
- */
-public class SignalScheduledEvent<INFRA_STRUCTURE> extends Event
-{
- private static final long serialVersionUID = 1L;
-
- private Signal signal;
-
- SignalScheduledEvent(ISignalProtocol<INFRA_STRUCTURE> source, Signal signal)
- {
- super(source);
- this.signal = signal;
- }
-
- @Override
- public ISignalProtocol<INFRA_STRUCTURE> getSource()
- {
- @SuppressWarnings("unchecked")
- ISignalProtocol<INFRA_STRUCTURE> source = (ISignalProtocol<INFRA_STRUCTURE>)super.getSource();
- return source;
- }
-
- public Signal getSignal()
- {
- return signal;
- }
-
- @Override
- protected String formatAdditionalParameters()
- {
- return "signal=" + signal.getClass().getSimpleName();
- }
-}
+/* + * 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.util.event.Event; +import org.eclipse.net4j.util.event.IEvent; + +/** + * An {@link IEvent event} fired from a {@link ISignalProtocol signal protocol} when + * a {@link #getSignal() signal} has been scheduled for local execution. + * + * @author Eike Stepper + * @since 3.0 + * @noextend This interface is not intended to be extended by clients. + */ +public class SignalScheduledEvent<INFRA_STRUCTURE> extends Event +{ + private static final long serialVersionUID = 1L; + + private Signal signal; + + SignalScheduledEvent(ISignalProtocol<INFRA_STRUCTURE> source, Signal signal) + { + super(source); + this.signal = signal; + } + + @Override + public ISignalProtocol<INFRA_STRUCTURE> getSource() + { + @SuppressWarnings("unchecked") + ISignalProtocol<INFRA_STRUCTURE> source = (ISignalProtocol<INFRA_STRUCTURE>)super.getSource(); + return source; + } + + public Signal getSignal() + { + return signal; + } + + @Override + protected String formatAdditionalParameters() + { + return "signal=" + signal.getClass().getSimpleName(); + } +} diff --git a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/doc-files/signals.png b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/doc-files/signals.png Binary files differnew file mode 100644 index 0000000000..af40c9518c --- /dev/null +++ b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/doc-files/signals.png diff --git a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.java b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.java index ac235ec11c..2dfee894f6 100644 --- a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.java +++ b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.java @@ -1,352 +1,363 @@ -/*
- * 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.heartbeat;
-
-import org.eclipse.net4j.channel.IChannelMultiplexer;
-import org.eclipse.net4j.connector.IConnector;
-import org.eclipse.net4j.signal.Indication;
-import org.eclipse.net4j.signal.Request;
-import org.eclipse.net4j.signal.SignalProtocol;
-import org.eclipse.net4j.signal.SignalReactor;
-import org.eclipse.net4j.util.WrappedException;
-import org.eclipse.net4j.util.concurrent.Timeouter;
-import org.eclipse.net4j.util.concurrent.TimerLifecycle;
-import org.eclipse.net4j.util.container.IElementProcessor;
-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.net4j.util.lifecycle.LifecycleUtil;
-import org.eclipse.net4j.util.om.log.OMLogger;
-
-import org.eclipse.internal.net4j.bundle.OM;
-
-import org.eclipse.spi.net4j.ServerProtocolFactory;
-
-import java.io.IOException;
-import java.util.Timer;
-import java.util.TimerTask;
-
-/**
- * @author Eike Stepper
- * @since 2.0
- */
-public class HeartBeatProtocol extends SignalProtocol<Object>
-{
- public static final String TYPE = "heartbeat"; //$NON-NLS-1$
-
- private static final short SIGNAL_START = 1;
-
- private static final short SIGNAL_HEART_BEAT = 2;
-
- private static final boolean HEART_BEAT = true;
-
- private Timeouter timeouter;
-
- private Timer timer;
-
- /**
- * @since 4.0
- */
- protected HeartBeatProtocol(String type, IConnector connector, Timer timer)
- {
- super(type);
- checkArg(timer, "timer"); //$NON-NLS-1$
- checkArg(connector, "connector"); //$NON-NLS-1$
- this.timer = timer;
- open(connector);
- }
-
- public HeartBeatProtocol(IConnector connector, Timer timer)
- {
- this(TYPE, connector, timer);
- }
-
- /**
- * @since 4.0
- */
- public HeartBeatProtocol(IConnector connector, IManagedContainer container)
- {
- this(connector, getDefaultTimer(container));
- }
-
- public HeartBeatProtocol(IConnector connector)
- {
- this(connector, IPluginContainer.INSTANCE);
- }
-
- public Timer getTimer()
- {
- return timer;
- }
-
- /**
- * Same as <code>start(rate, 2 * rate)</code>.
- *
- * @see #start(long, long)
- */
- public void start(final long rate)
- {
- start(rate, 2L * rate);
- }
-
- public void start(final long rate, long timeout)
- {
- checkActive();
- checkArg(rate > 0, "rate"); //$NON-NLS-1$
- checkArg(timeout >= rate, "timeout"); //$NON-NLS-1$
-
- try
- {
- new Request(this, SIGNAL_START, "Start") //$NON-NLS-1$
- {
- @Override
- protected void requesting(ExtendedDataOutputStream out) throws Exception
- {
- requestingStart(out, rate);
- }
- }.sendAsync();
- }
- catch (Exception ex)
- {
- throw WrappedException.wrap(ex);
- }
-
- if (timeouter == null)
- {
- timeouter = new Timeouter(getTimer(), timeout)
- {
- @Override
- protected void handleTimeout(long untouched)
- {
- HeartBeatProtocol.this.handleTimeout(untouched);
- }
- };
- }
- else
- {
- timeouter.setTimeout(timeout);
- timeouter.touch();
- }
- }
-
- @Override
- protected SignalReactor createSignalReactor(short signalID)
- {
- if (signalID == SIGNAL_HEART_BEAT)
- {
- return new Indication(HeartBeatProtocol.this, SIGNAL_HEART_BEAT, "HeartBeat") //$NON-NLS-1$
- {
- @Override
- protected void indicating(ExtendedDataInputStream in) throws Exception
- {
- checkState(in.readBoolean() == HEART_BEAT, "Invalid heart beat"); //$NON-NLS-1$
- timeouter.touch();
- }
- };
- }
-
- return null;
- }
-
- protected void handleTimeout(long untouched)
- {
- IChannelMultiplexer multiplexer = getChannel().getMultiplexer();
- LifecycleUtil.deactivate(multiplexer, OMLogger.Level.DEBUG);
- }
-
- @Override
- protected void doDeactivate() throws Exception
- {
- if (timeouter != null)
- {
- timeouter.dispose();
- timeouter = null;
- }
-
- super.doDeactivate();
- }
-
- /**
- * @since 4.0
- */
- protected void requestingStart(ExtendedDataOutputStream out, long rate) throws IOException
- {
- out.writeLong(rate);
- }
-
- public static Timer getDefaultTimer(IManagedContainer container)
- {
- return TimerLifecycle.DaemonFactory.getTimer(container, null);
- }
-
- /**
- * @author Eike Stepper
- */
- public static class Server extends SignalProtocol<Object>
- {
- private long heartBeatRate;
-
- private Timer heartBeatTimer;
-
- private TimerTask heartBeatTimerTask;
-
- /**
- * @since 4.0
- */
- protected Server(String type)
- {
- super(type);
- }
-
- public Server()
- {
- this(TYPE);
- }
-
- public Timer getHeartBeatTimer()
- {
- return heartBeatTimer;
- }
-
- public void setHeartBeatTimer(Timer heartBeatTimer)
- {
- checkInactive();
- this.heartBeatTimer = heartBeatTimer;
- }
-
- @Override
- protected SignalReactor createSignalReactor(short signalID)
- {
- if (signalID == SIGNAL_START)
- {
- return new Indication(Server.this, SIGNAL_START, "Start") //$NON-NLS-1$
- {
- @Override
- protected void indicating(ExtendedDataInputStream in) throws Exception
- {
- indicatingStart(in);
- }
- };
- }
-
- return null;
- }
-
- @Override
- protected void doBeforeActivate() throws Exception
- {
- super.doBeforeActivate();
- checkState(heartBeatTimer, "heartBeatTimer"); //$NON-NLS-1$
- }
-
- @Override
- protected void doDeactivate() throws Exception
- {
- cancelHeartBeatTask();
- super.doDeactivate();
- }
-
- /**
- * @since 4.0
- */
- protected void indicatingStart(ExtendedDataInputStream in) throws IOException
- {
- heartBeatRate = in.readLong();
- cancelHeartBeatTask();
- scheduleHeartBeatTask();
- }
-
- private void scheduleHeartBeatTask()
- {
- heartBeatTimerTask = new TimerTask()
- {
- @Override
- public void run()
- {
- try
- {
- new Request(Server.this, SIGNAL_HEART_BEAT, "HeartBeat") //$NON-NLS-1$
- {
- @Override
- protected void requesting(ExtendedDataOutputStream out) throws Exception
- {
- out.writeBoolean(HEART_BEAT);
- }
- }.sendAsync();
- }
- catch (Exception ex)
- {
- OM.LOG.error("HeartBeatProtocolTask failed", ex);
- }
- }
- };
-
- heartBeatTimer.schedule(heartBeatTimerTask, 0L, heartBeatRate);
- }
-
- private void cancelHeartBeatTask()
- {
- if (heartBeatTimerTask != null)
- {
- heartBeatTimerTask.cancel();
- heartBeatTimerTask = null;
- }
- }
-
- /**
- * @author Eike Stepper
- */
- public static class Factory extends ServerProtocolFactory
- {
- public Factory()
- {
- super(TYPE);
- }
-
- public Object create(String description) throws ProductCreationException
- {
- return new HeartBeatProtocol.Server();
- }
- }
-
- /**
- * @author Eike Stepper
- */
- public static class TimerInjector implements IElementProcessor
- {
- public TimerInjector()
- {
- }
-
- public Object process(IManagedContainer container, String productGroup, String factoryType, String description,
- Object element)
- {
- if (element instanceof Server)
- {
- Server server = (Server)element;
- if (server.getHeartBeatTimer() == null)
- {
- server.setHeartBeatTimer(getTimer(container));
- }
- }
-
- return element;
- }
-
- protected Timer getTimer(IManagedContainer container)
- {
- return getDefaultTimer(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.net4j.signal.heartbeat; + +import org.eclipse.net4j.channel.IChannel; +import org.eclipse.net4j.channel.IChannelMultiplexer; +import org.eclipse.net4j.connector.IConnector; +import org.eclipse.net4j.signal.Indication; +import org.eclipse.net4j.signal.Request; +import org.eclipse.net4j.signal.SignalProtocol; +import org.eclipse.net4j.signal.SignalReactor; +import org.eclipse.net4j.util.WrappedException; +import org.eclipse.net4j.util.concurrent.Timeouter; +import org.eclipse.net4j.util.concurrent.TimerLifecycle; +import org.eclipse.net4j.util.container.IElementProcessor; +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.net4j.util.lifecycle.LifecycleUtil; +import org.eclipse.net4j.util.om.log.OMLogger; + +import org.eclipse.internal.net4j.bundle.OM; + +import org.eclipse.spi.net4j.ServerProtocolFactory; + +import java.io.IOException; +import java.util.Timer; +import java.util.TimerTask; + +/** + * A {@link SignalProtocol signal protocol} that keeps the {@link IConnector connector} of its {@link IChannel channel} open + * or provides early deactivation feedback by exchanging periodic heart beats. + * + * @author Eike Stepper + * @since 2.0 + */ +public class HeartBeatProtocol extends SignalProtocol<Object> +{ + public static final String TYPE = "heartbeat"; //$NON-NLS-1$ + + private static final short SIGNAL_START = 1; + + private static final short SIGNAL_HEART_BEAT = 2; + + private static final boolean HEART_BEAT = true; + + private Timeouter timeouter; + + private Timer timer; + + /** + * @since 4.0 + */ + protected HeartBeatProtocol(String type, IConnector connector, Timer timer) + { + super(type); + checkArg(timer, "timer"); //$NON-NLS-1$ + checkArg(connector, "connector"); //$NON-NLS-1$ + this.timer = timer; + open(connector); + } + + public HeartBeatProtocol(IConnector connector, Timer timer) + { + this(TYPE, connector, timer); + } + + /** + * @since 4.0 + */ + public HeartBeatProtocol(IConnector connector, IManagedContainer container) + { + this(connector, getDefaultTimer(container)); + } + + public HeartBeatProtocol(IConnector connector) + { + this(connector, IPluginContainer.INSTANCE); + } + + public Timer getTimer() + { + return timer; + } + + /** + * Same as <code>start(rate, 2 * rate)</code>. + * + * @see #start(long, long) + */ + public void start(final long rate) + { + start(rate, 2L * rate); + } + + public void start(final long rate, long timeout) + { + checkActive(); + checkArg(rate > 0, "rate"); //$NON-NLS-1$ + checkArg(timeout >= rate, "timeout"); //$NON-NLS-1$ + + try + { + new Request(this, SIGNAL_START, "Start") //$NON-NLS-1$ + { + @Override + protected void requesting(ExtendedDataOutputStream out) throws Exception + { + requestingStart(out, rate); + } + }.sendAsync(); + } + catch (Exception ex) + { + throw WrappedException.wrap(ex); + } + + if (timeouter == null) + { + timeouter = new Timeouter(getTimer(), timeout) + { + @Override + protected void handleTimeout(long untouched) + { + HeartBeatProtocol.this.handleTimeout(untouched); + } + }; + } + else + { + timeouter.setTimeout(timeout); + timeouter.touch(); + } + } + + @Override + protected SignalReactor createSignalReactor(short signalID) + { + if (signalID == SIGNAL_HEART_BEAT) + { + return new Indication(HeartBeatProtocol.this, SIGNAL_HEART_BEAT, "HeartBeat") //$NON-NLS-1$ + { + @Override + protected void indicating(ExtendedDataInputStream in) throws Exception + { + checkState(in.readBoolean() == HEART_BEAT, "Invalid heart beat"); //$NON-NLS-1$ + timeouter.touch(); + } + }; + } + + return null; + } + + protected void handleTimeout(long untouched) + { + IChannelMultiplexer multiplexer = getChannel().getMultiplexer(); + LifecycleUtil.deactivate(multiplexer, OMLogger.Level.DEBUG); + } + + @Override + protected void doDeactivate() throws Exception + { + if (timeouter != null) + { + timeouter.dispose(); + timeouter = null; + } + + super.doDeactivate(); + } + + /** + * @since 4.0 + */ + protected void requestingStart(ExtendedDataOutputStream out, long rate) throws IOException + { + out.writeLong(rate); + } + + public static Timer getDefaultTimer(IManagedContainer container) + { + return TimerLifecycle.DaemonFactory.getTimer(container, null); + } + + /** + * The server-side implementation of a {@link HeartBeatProtocol heart beat protocol}. + * + * @author Eike Stepper + */ + public static class Server extends SignalProtocol<Object> + { + private long heartBeatRate; + + private Timer heartBeatTimer; + + private TimerTask heartBeatTimerTask; + + /** + * @since 4.0 + */ + protected Server(String type) + { + super(type); + } + + public Server() + { + this(TYPE); + } + + public Timer getHeartBeatTimer() + { + return heartBeatTimer; + } + + public void setHeartBeatTimer(Timer heartBeatTimer) + { + checkInactive(); + this.heartBeatTimer = heartBeatTimer; + } + + @Override + protected SignalReactor createSignalReactor(short signalID) + { + if (signalID == SIGNAL_START) + { + return new Indication(Server.this, SIGNAL_START, "Start") //$NON-NLS-1$ + { + @Override + protected void indicating(ExtendedDataInputStream in) throws Exception + { + indicatingStart(in); + } + }; + } + + return null; + } + + @Override + protected void doBeforeActivate() throws Exception + { + super.doBeforeActivate(); + checkState(heartBeatTimer, "heartBeatTimer"); //$NON-NLS-1$ + } + + @Override + protected void doDeactivate() throws Exception + { + cancelHeartBeatTask(); + super.doDeactivate(); + } + + /** + * @since 4.0 + */ + protected void indicatingStart(ExtendedDataInputStream in) throws IOException + { + heartBeatRate = in.readLong(); + cancelHeartBeatTask(); + scheduleHeartBeatTask(); + } + + private void scheduleHeartBeatTask() + { + heartBeatTimerTask = new TimerTask() + { + @Override + public void run() + { + try + { + new Request(Server.this, SIGNAL_HEART_BEAT, "HeartBeat") //$NON-NLS-1$ + { + @Override + protected void requesting(ExtendedDataOutputStream out) throws Exception + { + out.writeBoolean(HEART_BEAT); + } + }.sendAsync(); + } + catch (Exception ex) + { + OM.LOG.error("HeartBeatProtocolTask failed", ex); + } + } + }; + + heartBeatTimer.schedule(heartBeatTimerTask, 0L, heartBeatRate); + } + + private void cancelHeartBeatTask() + { + if (heartBeatTimerTask != null) + { + heartBeatTimerTask.cancel(); + heartBeatTimerTask = null; + } + } + + /** + * Creates server-side {@link Server heart beat protocol} instances. + * + * @author Eike Stepper + */ + public static class Factory extends ServerProtocolFactory + { + public Factory() + { + super(TYPE); + } + + public Object create(String description) throws ProductCreationException + { + return new HeartBeatProtocol.Server(); + } + } + + /** + * An {@link IElementProcessor element post processor} that injects a {@link #getTimer(IManagedContainer) timer} + * into server-side {@link Server heart beat protocol} instances. + * + * @author Eike Stepper + */ + public static class TimerInjector implements IElementProcessor + { + public TimerInjector() + { + } + + public Object process(IManagedContainer container, String productGroup, String factoryType, String description, + Object element) + { + if (element instanceof Server) + { + Server server = (Server)element; + if (server.getHeartBeatTimer() == null) + { + server.setHeartBeatTimer(getTimer(container)); + } + } + + return element; + } + + protected Timer getTimer(IManagedContainer container) + { + return getDefaultTimer(container); + } + } + } +} diff --git a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/package-info.java b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/package-info.java index 3aebcbe561..a8bd3c9e6e 100644 --- a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/package-info.java +++ b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/package-info.java @@ -1,16 +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
- */
-
-/**
- * A framework for request/response based communication on top of
- * the Net4j transport layer.
- */
-package org.eclipse.net4j.signal;
+/* + * 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 + */ + +/** + * 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"/> + */ +package org.eclipse.net4j.signal; + diff --git a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/wrapping/GZIPStreamWrapperInjector.java b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/wrapping/GZIPStreamWrapperInjector.java index cd9757602f..d0e058cb1e 100644 --- a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/wrapping/GZIPStreamWrapperInjector.java +++ b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/wrapping/GZIPStreamWrapperInjector.java @@ -1,26 +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.net4j.signal.wrapping;
-
-import org.eclipse.net4j.util.io.GZIPStreamWrapper;
-
-/**
- * @author Eike Stepper
- */
-public class GZIPStreamWrapperInjector extends StreamWrapperInjector
-{
- public static final GZIPStreamWrapper STREAM_WRAPPER = new GZIPStreamWrapper();
-
- public GZIPStreamWrapperInjector(String protocolID)
- {
- super(protocolID, STREAM_WRAPPER);
- }
-}
+/* + * 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.wrapping; + +import org.eclipse.net4j.util.io.GZIPStreamWrapper; + +/** + * An {@link StreamWrapperInjector injector} that injects {@link GZIPStreamWrapper} instances. + * + * @author Eike Stepper + */ +public class GZIPStreamWrapperInjector extends StreamWrapperInjector +{ + public static final GZIPStreamWrapper STREAM_WRAPPER = new GZIPStreamWrapper(); + + public GZIPStreamWrapperInjector(String protocolID) + { + super(protocolID, STREAM_WRAPPER); + } +} diff --git a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/wrapping/StreamWrapperInjector.java b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/wrapping/StreamWrapperInjector.java index 2b08f18829..b9488dd807 100644 --- a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/wrapping/StreamWrapperInjector.java +++ b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/wrapping/StreamWrapperInjector.java @@ -1,76 +1,79 @@ -/*
- * 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.wrapping;
-
-import org.eclipse.net4j.signal.SignalProtocol;
-import org.eclipse.net4j.util.ObjectUtil;
-import org.eclipse.net4j.util.container.IElementProcessor;
-import org.eclipse.net4j.util.container.IManagedContainer;
-import org.eclipse.net4j.util.io.IStreamWrapper;
-
-/**
- * @author Eike Stepper
- */
-public class StreamWrapperInjector implements IElementProcessor
-{
- private String protocolID;
-
- private IStreamWrapper streamWrapper;
-
- public StreamWrapperInjector(String protocolID, IStreamWrapper streamWrapper)
- {
- this.protocolID = protocolID;
- this.streamWrapper = streamWrapper;
- }
-
- public String getProtocolID()
- {
- return protocolID;
- }
-
- public IStreamWrapper getStreamWrapper()
- {
- return streamWrapper;
- }
-
- public Object process(IManagedContainer container, String productGroup, String factoryType, String description,
- Object element)
- {
- if (element instanceof SignalProtocol<?>)
- {
- SignalProtocol<?> signalProtocol = (SignalProtocol<?>)element;
- if (shouldInject(container, productGroup, factoryType, description, signalProtocol))
- {
- element = inject(container, productGroup, factoryType, description, signalProtocol);
- }
- }
-
- return element;
- }
-
- protected boolean shouldInject(IManagedContainer container, String productGroup, String factoryType,
- String description, SignalProtocol<?> signalProtocol)
- {
- if (signalProtocol.getStreamWrapper() == streamWrapper)
- {
- return false;
- }
-
- return ObjectUtil.equals(signalProtocol.getType(), protocolID);
- }
-
- protected Object inject(IManagedContainer container, String productGroup, String factoryType, String description,
- SignalProtocol<?> signalProtocol)
- {
- signalProtocol.addStreamWrapper(streamWrapper);
- return signalProtocol;
- }
-}
+/* + * 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.wrapping; + +import org.eclipse.net4j.signal.SignalProtocol; +import org.eclipse.net4j.util.ObjectUtil; +import org.eclipse.net4j.util.container.IElementProcessor; +import org.eclipse.net4j.util.container.IManagedContainer; +import org.eclipse.net4j.util.io.IStreamWrapper; + +/** + * An {@link IElementProcessor element post processor} that injects a {@link #getStreamWrapper() stream wrapper} + * into {@link SignalProtocol signal protocol} instances. + * + * @author Eike Stepper + */ +public class StreamWrapperInjector implements IElementProcessor +{ + private String protocolID; + + private IStreamWrapper streamWrapper; + + public StreamWrapperInjector(String protocolID, IStreamWrapper streamWrapper) + { + this.protocolID = protocolID; + this.streamWrapper = streamWrapper; + } + + public String getProtocolID() + { + return protocolID; + } + + public IStreamWrapper getStreamWrapper() + { + return streamWrapper; + } + + public Object process(IManagedContainer container, String productGroup, String factoryType, String description, + Object element) + { + if (element instanceof SignalProtocol<?>) + { + SignalProtocol<?> signalProtocol = (SignalProtocol<?>)element; + if (shouldInject(container, productGroup, factoryType, description, signalProtocol)) + { + element = inject(container, productGroup, factoryType, description, signalProtocol); + } + } + + return element; + } + + protected boolean shouldInject(IManagedContainer container, String productGroup, String factoryType, + String description, SignalProtocol<?> signalProtocol) + { + if (signalProtocol.getStreamWrapper() == streamWrapper) + { + return false; + } + + return ObjectUtil.equals(signalProtocol.getType(), protocolID); + } + + protected Object inject(IManagedContainer container, String productGroup, String factoryType, String description, + SignalProtocol<?> signalProtocol) + { + signalProtocol.addStreamWrapper(streamWrapper); + return signalProtocol; + } +} diff --git a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/wrapping/XORStreamWrapperInjector.java b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/wrapping/XORStreamWrapperInjector.java index e35b671d74..10fd8c131e 100644 --- a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/wrapping/XORStreamWrapperInjector.java +++ b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/wrapping/XORStreamWrapperInjector.java @@ -1,24 +1,26 @@ -/*
- * 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.wrapping;
-
-import org.eclipse.net4j.util.io.XORStreamWrapper;
-
-/**
- * @author Eike Stepper
- */
-public class XORStreamWrapperInjector extends StreamWrapperInjector
-{
- public XORStreamWrapperInjector(String protocolID, int[] key)
- {
- super(protocolID, new XORStreamWrapper(key));
- }
-}
+/* + * 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.wrapping; + +import org.eclipse.net4j.util.io.XORStreamWrapper; + +/** + * An {@link StreamWrapperInjector injector} that injects {@link XORStreamWrapper} instances. + * + * @author Eike Stepper + */ +public class XORStreamWrapperInjector extends StreamWrapperInjector +{ + public XORStreamWrapperInjector(String protocolID, int[] key) + { + super(protocolID, new XORStreamWrapper(key)); + } +} |