diff options
Diffstat (limited to 'plugins/org.eclipse.net4j.util/src/org')
74 files changed, 321 insertions, 9 deletions
diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/AdapterUtil.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/AdapterUtil.java index b93f2ae72a..80d20e3c81 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/AdapterUtil.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/AdapterUtil.java @@ -11,6 +11,9 @@ package org.eclipse.net4j.util; /** + * Provides a single static {@link #adapt(Object, Class) adapt()} method that conveniently and safely wraps the + * Platform's adaptation framework. + * * @author Eike Stepper */ public final class AdapterUtil diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/CheckUtil.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/CheckUtil.java index 0155465574..791e0c87af 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/CheckUtil.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/CheckUtil.java @@ -11,7 +11,10 @@ package org.eclipse.net4j.util; /** + * Provides static methods that check object states and invocation arguments. + * * @author Eike Stepper + * @apiviz.exclude */ public final class CheckUtil { diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/HexUtil.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/HexUtil.java index 75bff1fc59..d630a94093 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/HexUtil.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/HexUtil.java @@ -15,6 +15,8 @@ import org.eclipse.net4j.util.io.IORuntimeException; import java.io.IOException; /** + * Provides static methods that convert to and from hexadecimal string formats. + * * @author Eike Stepper */ public final class HexUtil diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/IErrorHandler.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/IErrorHandler.java index 5649f7cb05..396433a21e 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/IErrorHandler.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/IErrorHandler.java @@ -11,6 +11,8 @@ package org.eclipse.net4j.util; /** + * A callback interface with a {@link #handleError(Throwable) handleError()} method. + * * @author Eike Stepper * @since 2.0 */ diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/ImplementationError.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/ImplementationError.java index e491b9b4f5..5fe4ca0a17 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/ImplementationError.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/ImplementationError.java @@ -11,8 +11,11 @@ package org.eclipse.net4j.util; /** + * Should not be used anymore in favour of {@link AssertionError}. Likely to be deprecated soon. + * * @author Eike Stepper * @noextend This class is not intended to be subclassed by clients. + * @apiviz.exclude */ public class ImplementationError extends Error { diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/ObjectUtil.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/ObjectUtil.java index 2b8a6218f0..1bedeb9395 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/ObjectUtil.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/ObjectUtil.java @@ -15,6 +15,8 @@ import java.util.Collection; import java.util.Map; /** + * Various static helper methods. + * * @author Eike Stepper */ public final class ObjectUtil diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/ReflectUtil.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/ReflectUtil.java index 88b130cac4..0f662a6c24 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/ReflectUtil.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/ReflectUtil.java @@ -33,6 +33,8 @@ import java.util.Map.Entry; import java.util.WeakHashMap; /** + * Various static helper methods for dealing with Java reflection. + * * @author Eike Stepper */ public final class ReflectUtil @@ -587,7 +589,11 @@ public final class ReflectUtil } /** + * Annotates fields that are to be skipped in {@link ReflectUtil#collectFields(Class, List) + * ReflectUtil.collectFields()} and {@link ReflectUtil#toString(Object) ReflectUtil.toString()}. + * * @author Eike Stepper + * @apiviz.exclude */ @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.FIELD) diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/StringUtil.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/StringUtil.java index 8f2c50e4ee..94577cb2b3 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/StringUtil.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/StringUtil.java @@ -16,6 +16,8 @@ import java.io.ByteArrayOutputStream; import java.io.PrintStream; /** + * Various static helper methods for dealing with strings. + * * @author Eike Stepper */ public final class StringUtil diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/WrappedException.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/WrappedException.java index 8a9cff640f..3a749f1edf 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/WrappedException.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/WrappedException.java @@ -11,6 +11,9 @@ package org.eclipse.net4j.util; /** + * An unchecked exception that wraps a checked exception. Wrapping occurs conditionally in the static + * {@link #wrap(Exception, String) wrap()} methods. + * * @author Eike Stepper * @noextend This class is not intended to be subclassed by clients. */ diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/collection/package-info.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/collection/package-info.java index 2b2b196375..fe1d9ecea0 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/collection/package-info.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/collection/package-info.java @@ -11,5 +11,7 @@ /**
* Additional collection-like interfaces and classes.
+ * @apiviz.exclude .*
*/
package org.eclipse.net4j.util.collection;
+
diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/concurrent/package-info.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/concurrent/package-info.java index d7581d87b6..9aa535b8e1 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/concurrent/package-info.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/concurrent/package-info.java @@ -11,5 +11,7 @@ /**
* Utility interfaces and classes commonly useful in concurrent programming.
+ * @apiviz.exclude .*
*/
package org.eclipse.net4j.util.concurrent;
+
diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/Container.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/Container.java index 8764a85faf..a33ec758b6 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/Container.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/Container.java @@ -12,11 +12,14 @@ package org.eclipse.net4j.util.container; import org.eclipse.net4j.util.container.IContainerDelta.Kind; import org.eclipse.net4j.util.event.IEvent; +import org.eclipse.net4j.util.lifecycle.ILifecycle; import org.eclipse.net4j.util.lifecycle.Lifecycle; import java.util.List; /** + * A default {@link IContainer container} implementation with a {@link ILifecycle lifecycle}. + * * @author Eike Stepper */ public abstract class Container<E> extends Lifecycle implements IContainer<E> diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/ContainerDelta.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/ContainerDelta.java index 9ea854d922..af9e7b037d 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/ContainerDelta.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/ContainerDelta.java @@ -11,7 +11,10 @@ package org.eclipse.net4j.util.container; /** + * A default {@link IContainerDelta container delta} implementation. + * * @author Eike Stepper + * @apiviz.exclude */ public class ContainerDelta<E> implements IContainerDelta<E> { diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/ContainerEvent.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/ContainerEvent.java index 9794889c00..cf59c7291b 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/ContainerEvent.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/ContainerEvent.java @@ -18,8 +18,11 @@ import java.util.ArrayList; import java.util.List; /** + * A default {@link IContainerEvent container event} implementation. + * * @author Eike Stepper * @noextend This class is not intended to be subclassed by clients. + * @apiviz.exclude */ public class ContainerEvent<E> extends Event implements IContainerEvent<E> { diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/ContainerEventAdapter.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/ContainerEventAdapter.java index 7a646f5436..0e6c257426 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/ContainerEventAdapter.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/ContainerEventAdapter.java @@ -14,7 +14,11 @@ import org.eclipse.net4j.util.event.IEvent; import org.eclipse.net4j.util.event.IListener; /** + * A {@link IListener listener} that dispatches container {@link IContainerEvent events} to methods that can be + * overridden by extenders. + * * @author Eike Stepper + * @apiviz.exclude */ public class ContainerEventAdapter<E> implements IListener { diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/ContainerUtil.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/ContainerUtil.java index 224293ca54..d5f200a4f5 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/ContainerUtil.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/ContainerUtil.java @@ -18,6 +18,8 @@ import org.eclipse.net4j.util.security.FileUserManagerFactory; import org.eclipse.net4j.util.security.RandomizerFactory; /** + * Various static helper methods for dealing with {@link IContainer containers}. + * * @author Eike Stepper */ public final class ContainerUtil diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/FactoryNotFoundException.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/FactoryNotFoundException.java index ffbbbd6477..39dc2bcd82 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/FactoryNotFoundException.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/FactoryNotFoundException.java @@ -10,9 +10,16 @@ */ package org.eclipse.net4j.util.container; +import org.eclipse.net4j.util.factory.IFactory; +import org.eclipse.net4j.util.factory.IFactoryKey; + /** + * An unchecked exception that indicates the absence of a {@link IFactory factory} identified by + * {@link IFactoryKey#getProductGroup() product group} and {@link IFactoryKey#getType() type}. + * * @author Eike Stepper * @noextend This class is not intended to be subclassed by clients. + * @apiviz.exclude */ public class FactoryNotFoundException extends RuntimeException { diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/IContainer.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/IContainer.java index fa4957b239..352cd0e244 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/IContainer.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/IContainer.java @@ -16,7 +16,17 @@ import org.eclipse.net4j.util.event.INotifier; import java.util.Collection; /** + * Contains a number of elements and notifies about element addition and removal. + * <p> + * Fires the following events: + * <ul> + * <li> {@link IContainerEvent} after the addition and/or removal of elements. + * </ul> + * * @author Eike Stepper + * @apiviz.landmark + * @apiviz.composedOf java.lang.Object - - elements + * @apiviz.uses IContainerEvent - - fires */ public interface IContainer<E> extends INotifier { diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/IContainerDelta.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/IContainerDelta.java index fe7a1dd7a8..64d21a68d8 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/IContainerDelta.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/IContainerDelta.java @@ -11,6 +11,8 @@ package org.eclipse.net4j.util.container; /** + * Describes the addition or removal of a single element from a {@link IContainer container}. + * * @author Eike Stepper */ public interface IContainerDelta<E> @@ -20,7 +22,10 @@ public interface IContainerDelta<E> public Kind getKind(); /** + * Enumerates the possible {@link IContainerDelta container delta} kinds {@link #ADDED} or {@link #REMOVED}. + * * @author Eike Stepper + * @apiviz.exclude */ public enum Kind { diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/IContainerEvent.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/IContainerEvent.java index b325609bc1..d44dde77bf 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/IContainerEvent.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/IContainerEvent.java @@ -14,11 +14,12 @@ import org.eclipse.net4j.util.container.IContainerDelta.Kind; import org.eclipse.net4j.util.event.IEvent; /** - * An {@link IEvent event} fired from a {@link IContainer container} when its contents have changed. + * An {@link IEvent event} fired from a {@link IContainer container} when its elements have changed. * * @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. + * @apiviz.composedOf IContainerDelta - - deltas */ public interface IContainerEvent<E> extends IEvent { diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/IContainerEventVisitor.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/IContainerEventVisitor.java index 6077f02f2e..561be1c6d2 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/IContainerEventVisitor.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/IContainerEventVisitor.java @@ -11,7 +11,11 @@ package org.eclipse.net4j.util.container; /** + * A callback interface for visiting {@link IContainerDelta container deltas}. + * + * @see IContainerEvent#accept(IContainerEventVisitor) * @author Eike Stepper + * @apiviz.exclude */ public interface IContainerEventVisitor<E> { @@ -20,7 +24,12 @@ public interface IContainerEventVisitor<E> public void removed(E element); /** + * An extension interface for {@link IContainerEventVisitor container event visitors} that can {@link #filter(Object) + * filter} deltas from being visited. + * + * @see IContainerEvent#accept(IContainerEventVisitor) * @author Eike Stepper + * @apiviz.exclude */ public interface Filtered<E> extends IContainerEventVisitor<E> { diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/IElementProcessor.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/IElementProcessor.java index c4645ca4fc..927a12a45c 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/IElementProcessor.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/IElementProcessor.java @@ -11,6 +11,8 @@ package org.eclipse.net4j.util.container; /** + * Processes elements of a {@link IManagedContainer managed container} when they're added to the container. + * * @author Eike Stepper */ public interface IElementProcessor diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/IManagedContainer.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/IManagedContainer.java index 042e256aa4..84feb75f13 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/IManagedContainer.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/IManagedContainer.java @@ -22,9 +22,15 @@ import java.util.List; import java.util.Set; /** + * A {@link IContainer container} that populates itself by means of element {@link #getFactoryRegistry() factories} and + * {@link #getPostProcessors() post processors} . + * * @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. + * @apiviz.landmark + * @apiviz.composedOf org.eclipse.net4j.util.factory.IFactory - - factoryRegistry + * @apiviz.composedOf org.eclipse.net4j.util.container.IElementProcessor - - postProcessors */ public interface IManagedContainer extends IContainer<Object>, ILifecycle { diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/IPluginContainer.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/IPluginContainer.java index dbcefc794d..4afc887217 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/IPluginContainer.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/IPluginContainer.java @@ -12,7 +12,12 @@ package org.eclipse.net4j.util.container; import org.eclipse.net4j.internal.util.container.PluginContainer; +import org.eclipse.core.runtime.IExtensionRegistry; + /** + * A {@link IManagedContainer managed container} that is configured by the {@link IExtensionRegistry extension registry} + * . + * * @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. diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/ISlow.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/ISlow.java index 36ef5c70f4..ad322daa5f 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/ISlow.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/ISlow.java @@ -15,6 +15,7 @@ package org.eclipse.net4j.util.container; * * @author Eike Stepper * @since 3.1 + * @apiviz.exclude */ public interface ISlow { diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/LifecycleEventConverter.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/LifecycleEventConverter.java index 0e9448530c..af4040b470 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/LifecycleEventConverter.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/LifecycleEventConverter.java @@ -17,7 +17,11 @@ import org.eclipse.net4j.util.event.Notifier; import org.eclipse.net4j.util.lifecycle.ILifecycleEvent; /** + * A delegating {@link IListener listener} that converts {@link ILifecycleEvent lifecycle events} into + * {@link IContainerEvent container events}. + * * @author Eike Stepper + * @apiviz.exclude */ public class LifecycleEventConverter<E> implements IListener { diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/ManagedContainer.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/ManagedContainer.java index fa13fa4882..ca0d624b1e 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/ManagedContainer.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/ManagedContainer.java @@ -42,7 +42,10 @@ import java.util.Map.Entry; import java.util.Set; /** + * A default implementation of a {@link IManagedContainer managed container}. + * * @author Eike Stepper + * @apiviz.exclude */ public class ManagedContainer extends Lifecycle implements IManagedContainer { diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/SingleDeltaContainerEvent.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/SingleDeltaContainerEvent.java index 1d392ffe9c..797f7e5692 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/SingleDeltaContainerEvent.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/SingleDeltaContainerEvent.java @@ -16,8 +16,11 @@ import org.eclipse.net4j.util.event.Event; import java.text.MessageFormat; /** + * A {@link IContainerEvent container event} with a single element {@link IContainerDelta delta}. + * * @author Eike Stepper * @noextend This class is not intended to be subclassed by clients. + * @apiviz.exclude */ public class SingleDeltaContainerEvent<E> extends Event implements IContainerEvent<E> { diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/delegate/AbstractDelegator.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/delegate/AbstractDelegator.java index 98d3d688c4..9433bce1cb 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/delegate/AbstractDelegator.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/delegate/AbstractDelegator.java @@ -22,7 +22,10 @@ import java.util.Collection; import java.util.Iterator; /** + * A delegating base class for {@link IContainer containers}. + * * @author Eike Stepper + * @apiviz.exclude */ public abstract class AbstractDelegator<E> extends Notifier implements IContainer<E> { @@ -78,7 +81,10 @@ public abstract class AbstractDelegator<E> extends Notifier implements IContaine } /** + * A delegating {@link Iterator iterator}. + * * @author Eike Stepper + * @apiviz.exclude */ public class DelegatingIterator implements Iterator<E> { diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/delegate/ContainerBlockingQueue.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/delegate/ContainerBlockingQueue.java index aa5600d22c..467dfa2651 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/delegate/ContainerBlockingQueue.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/delegate/ContainerBlockingQueue.java @@ -19,7 +19,10 @@ import java.util.concurrent.BlockingQueue; import java.util.concurrent.TimeUnit; /** + * A default implementation of a {@link IContainerBlockingQueue container blocking queue}. + * * @author Eike Stepper + * @apiviz.exclude */ public class ContainerBlockingQueue<E> extends ContainerQueue<E> implements IContainerBlockingQueue<E> { diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/delegate/ContainerCollection.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/delegate/ContainerCollection.java index b9345a73eb..54545a3e59 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/delegate/ContainerCollection.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/delegate/ContainerCollection.java @@ -18,7 +18,10 @@ import java.util.Collection; import java.util.Iterator; /** + * A default implementation of a {@link IContainerCollection container collection}. + * * @author Eike Stepper + * @apiviz.exclude */ public class ContainerCollection<E> extends AbstractDelegator<E> implements IContainerCollection<E> { diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/delegate/ContainerList.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/delegate/ContainerList.java index afa8bada21..abde8af657 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/delegate/ContainerList.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/delegate/ContainerList.java @@ -19,7 +19,10 @@ import java.util.List; import java.util.ListIterator; /** + * A default implementation of a {@link IContainerList container list}. + * * @author Eike Stepper + * @apiviz.exclude */ public class ContainerList<E> extends ContainerCollection<E> implements IContainerList<E> { @@ -134,7 +137,10 @@ public class ContainerList<E> extends ContainerCollection<E> implements IContain } /** + * A delegating {@link ListIterator list iterator}. + * * @author Eike Stepper + * @apiviz.exclude */ public class DelegatingListIterator extends DelegatingIterator implements ListIterator<E> { diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/delegate/ContainerMap.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/delegate/ContainerMap.java index a7c2d195ae..b8c270405a 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/delegate/ContainerMap.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/delegate/ContainerMap.java @@ -21,7 +21,10 @@ import java.util.Map; import java.util.Set; /** + * A default implementation of a {@link IContainerMap container map}. + * * @author Eike Stepper + * @apiviz.exclude */ public class ContainerMap<K, V> extends AbstractDelegator<Map.Entry<K, V>> implements IContainerMap<K, V> { diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/delegate/ContainerQueue.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/delegate/ContainerQueue.java index 4c92b63396..c543e4d5ab 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/delegate/ContainerQueue.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/delegate/ContainerQueue.java @@ -13,7 +13,10 @@ package org.eclipse.net4j.util.container.delegate; import java.util.Queue; /** + * A default implementation of a {@link IContainerQueue container queue}. + * * @author Eike Stepper + * @apiviz.exclude */ public class ContainerQueue<E> extends ContainerCollection<E> implements IContainerQueue<E> { diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/delegate/ContainerSet.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/delegate/ContainerSet.java index 087ef21e67..171faf30bc 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/delegate/ContainerSet.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/delegate/ContainerSet.java @@ -13,7 +13,10 @@ package org.eclipse.net4j.util.container.delegate; import java.util.Set; /** + * A default implementation of a {@link IContainerSet container set}. + * * @author Eike Stepper + * @apiviz.exclude */ public class ContainerSet<E> extends ContainerCollection<E> implements IContainerSet<E> { diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/delegate/ContainerSortedSet.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/delegate/ContainerSortedSet.java index 2895abb1a9..cb7692c0e1 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/delegate/ContainerSortedSet.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/delegate/ContainerSortedSet.java @@ -14,7 +14,10 @@ import java.util.Comparator; import java.util.SortedSet; /** + * A default implementation of a {@link IContainerSortedSet container sorted set}. + * * @author Eike Stepper + * @apiviz.exclude */ public class ContainerSortedSet<E> extends ContainerSet<E> implements IContainerSortedSet<E> { diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/delegate/IContainerCollection.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/delegate/IContainerCollection.java index f9823de653..9cdbac96dc 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/delegate/IContainerCollection.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/delegate/IContainerCollection.java @@ -15,6 +15,8 @@ import org.eclipse.net4j.util.container.IContainer; import java.util.Collection; /** + * A {@link IContainer container} that is a {@link Collection}. + * * @author Eike Stepper */ public interface IContainerCollection<E> extends IContainer<E>, Collection<E> diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/delegate/IContainerList.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/delegate/IContainerList.java index 76a6619920..11da9a862d 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/delegate/IContainerList.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/delegate/IContainerList.java @@ -10,9 +10,13 @@ */ package org.eclipse.net4j.util.container.delegate; +import org.eclipse.net4j.util.container.IContainer; + import java.util.List; /** + * A {@link IContainer container} that is a {@link List}. + * * @author Eike Stepper */ public interface IContainerList<E> extends IContainerCollection<E>, List<E> diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/delegate/IContainerMap.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/delegate/IContainerMap.java index d3811b23b7..ba00d0381a 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/delegate/IContainerMap.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/delegate/IContainerMap.java @@ -15,6 +15,8 @@ import org.eclipse.net4j.util.container.IContainer; import java.util.Map; /** + * A {@link IContainer container} (of {@link java.util.Map.Entry map entries}) that is a {@link Map}. + * * @author Eike Stepper */ public interface IContainerMap<K, V> extends IContainer<Map.Entry<K, V>>, Map<K, V> diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/delegate/IContainerQueue.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/delegate/IContainerQueue.java index 7176c20193..64f57d053d 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/delegate/IContainerQueue.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/delegate/IContainerQueue.java @@ -10,9 +10,13 @@ */ package org.eclipse.net4j.util.container.delegate; +import org.eclipse.net4j.util.container.IContainer; + import java.util.Queue; /** + * A {@link IContainer container} that is a {@link Queue}. + * * @author Eike Stepper */ public interface IContainerQueue<E> extends IContainerCollection<E>, Queue<E> diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/delegate/IContainerSet.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/delegate/IContainerSet.java index 7ceaa512fc..163e450194 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/delegate/IContainerSet.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/delegate/IContainerSet.java @@ -10,9 +10,13 @@ */ package org.eclipse.net4j.util.container.delegate; +import org.eclipse.net4j.util.container.IContainer; + import java.util.Set; /** + * A {@link IContainer container} that is a {@link Set}. + * * @author Eike Stepper */ public interface IContainerSet<E> extends IContainerCollection<E>, Set<E> diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/delegate/IContainerSortedSet.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/delegate/IContainerSortedSet.java index a05cca6541..1d817c5999 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/delegate/IContainerSortedSet.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/delegate/IContainerSortedSet.java @@ -10,9 +10,13 @@ */ package org.eclipse.net4j.util.container.delegate; +import org.eclipse.net4j.util.container.IContainer; + import java.util.SortedSet; /** + * A {@link IContainer container} that is a {@link SortedSet}. + * * @author Eike Stepper */ public interface IContainerSortedSet<E> extends IContainerSet<E>, SortedSet<E> diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/event/Event.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/event/Event.java index d8377e4443..9b1f3ca866 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/event/Event.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/event/Event.java @@ -14,6 +14,8 @@ import java.text.MessageFormat; import java.util.EventObject; /** + * A default implementation of an {@link IEvent event}. + * * @author Eike Stepper */ public class Event extends EventObject implements IEvent diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/event/EventUtil.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/event/EventUtil.java index 22822a8303..1b54028bfc 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/event/EventUtil.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/event/EventUtil.java @@ -11,6 +11,9 @@ package org.eclipse.net4j.util.event; /** + * Various static helper methods for dealing with {@link IEvent events}, {@link INotifier notifiers} and + * {@link IListener listeners}. + * * @author Eike Stepper */ public final class EventUtil diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/event/ExecutorServiceNotifier.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/event/ExecutorServiceNotifier.java index 5bba6d89cd..2caf151b9e 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/event/ExecutorServiceNotifier.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/event/ExecutorServiceNotifier.java @@ -13,9 +13,13 @@ package org.eclipse.net4j.util.event; import java.util.concurrent.ExecutorService; /** + * Deprecated. + * * @author Eike Stepper * @since 2.0 + * @apiviz.exclude */ +@Deprecated public class ExecutorServiceNotifier extends Notifier { private ExecutorService notificationExecutorService; @@ -36,8 +40,12 @@ public class ExecutorServiceNotifier extends Notifier } /** + * Deprecated. + * * @author Eike Stepper + * @apiviz.exclude */ + @Deprecated public static class ThreadPool extends ExecutorServiceNotifier { } diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/event/IEvent.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/event/IEvent.java index dafb9f94e2..ab68ff6d91 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/event/IEvent.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/event/IEvent.java @@ -11,7 +11,10 @@ package org.eclipse.net4j.util.event; /** + * An event that is fired from a {@link INotifier notifier} and can be handled by {@link IListener listeners}. + * * @author Eike Stepper + * @apiviz.landmark */ public interface IEvent { diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/event/IListener.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/event/IListener.java index 48fcc0af54..8576d89a30 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/event/IListener.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/event/IListener.java @@ -13,7 +13,10 @@ package org.eclipse.net4j.util.event; import java.util.EventListener; /** + * A callback interface that {@link INotifier notifiers} use to pass {@link IEvent events} to. + * * @author Eike Stepper + * @apiviz.landmark */ public interface IListener extends EventListener { diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/event/INotifier.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/event/INotifier.java index 7e2bf36907..61527d5820 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/event/INotifier.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/event/INotifier.java @@ -20,6 +20,9 @@ package org.eclipse.net4j.util.event; * Implementors may want to extend {@link Notifier} instead of implementing this interface directly. * * @author Eike Stepper + * @apiviz.landmark + * @apiviz.owns IListener - - listeners + * @apiviz.uses IEvent - - fires */ public interface INotifier { diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/event/Notifier.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/event/Notifier.java index 209489367c..96bf4d6079 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/event/Notifier.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/event/Notifier.java @@ -17,6 +17,8 @@ import org.eclipse.net4j.util.collection.FastList; import java.util.concurrent.ExecutorService; /** + * A default implementation of a {@link INotifier notifier}. + * * @author Eike Stepper * @since 3.0 */ diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/event/ValueEvent.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/event/ValueEvent.java index 65973c5c43..818e234b2d 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/event/ValueEvent.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/event/ValueEvent.java @@ -11,6 +11,8 @@ package org.eclipse.net4j.util.event;
/**
+ * An {@link IEvent} fired from {@link ValueNotifier value notifiers} after value changes.
+ *
* @author Eike Stepper
* @since 3.1
* @noextend This class is not intended to be subclassed by clients.
diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/event/ValueNotifier.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/event/ValueNotifier.java index 5dc48d591e..ebb4412edc 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/event/ValueNotifier.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/event/ValueNotifier.java @@ -13,8 +13,17 @@ package org.eclipse.net4j.util.event; import org.eclipse.net4j.util.ObjectUtil;
/**
+ * A {@link INotifier notifier} with an {@link #getID() ID} and a single {@link #getValue() value}.
+ * <p>
+ * Fires the following events:
+ * <ul>
+ * <li> {@link ValueEvent} after value changes.
+ * </ul>
+ *
* @author Eike Stepper
* @since 3.1
+ * @apiviz.owns java.lang.Object - - value
+ * @apiviz.uses ValueEvent - - fires
*/
public class ValueNotifier<VALUE> extends Notifier
{
diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/factory/Factory.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/factory/Factory.java index 2da3d5bed9..bf5ac1fffe 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/factory/Factory.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/factory/Factory.java @@ -13,6 +13,8 @@ package org.eclipse.net4j.util.factory; import java.text.MessageFormat; /** + * A default implementation of a {@link IFactory factory}. + * * @author Eike Stepper */ public abstract class Factory implements IFactory diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/factory/FactoryCreationException.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/factory/FactoryCreationException.java index 68862bc74c..485d48919b 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/factory/FactoryCreationException.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/factory/FactoryCreationException.java @@ -11,8 +11,11 @@ package org.eclipse.net4j.util.factory; /** + * Thrown from {@link FactoryDescriptor#createFactory()} if a {@link IFactory factory} could not be created. + * * @author Eike Stepper * @noextend This class is not intended to be subclassed by clients. + * @apiviz.exclude */ public class FactoryCreationException extends RuntimeException { diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/factory/FactoryDescriptor.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/factory/FactoryDescriptor.java index 3987f76948..5254583063 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/factory/FactoryDescriptor.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/factory/FactoryDescriptor.java @@ -12,10 +12,26 @@ package org.eclipse.net4j.util.factory; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IConfigurationElement; +import org.eclipse.core.runtime.IExtensionRegistry; /** + * A {@link IFactory factory} that delegates to an {@link IExtensionRegistry extension registry} contribution. + * <p> + * Example contribution: + * + * <pre> + * <extension + * point="org.eclipse.net4j.util.factories"> + * <factory + * class="org.eclipse.net4j.util.concurrent.TimerLifecycle$DaemonFactory" + * productGroup="org.eclipse.net4j.util.timers" + * type="daemon"/> + * </extension> + * </pre> + * * @author Eike Stepper * @noextend This class is not intended to be subclassed by clients. + * @apiviz.exclude */ public class FactoryDescriptor extends Factory { diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/factory/FactoryKey.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/factory/FactoryKey.java index 03e02ca846..052bc2c612 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/factory/FactoryKey.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/factory/FactoryKey.java @@ -17,7 +17,10 @@ import java.io.Serializable; import java.text.MessageFormat; /** + * A default implementation of a {@link IFactoryKey factory key}. + * * @author Eike Stepper + * @apiviz.exclude */ public final class FactoryKey implements IFactoryKey, Serializable, Comparable<FactoryKey> { diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/factory/IFactory.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/factory/IFactory.java index 6259c3c0e9..bc86ed0eda 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/factory/IFactory.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/factory/IFactory.java @@ -11,7 +11,11 @@ package org.eclipse.net4j.util.factory; /** + * {@link #create(String) Creates} objects from a string {@link #getDescriptionFor(Object) description}. + * * @author Eike Stepper + * @apiviz.landmark + * @apiviz.has IFactoryKey */ public interface IFactory { diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/factory/IFactoryKey.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/factory/IFactoryKey.java index 2af6e8f068..9d8705f4f6 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/factory/IFactoryKey.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/factory/IFactoryKey.java @@ -11,9 +11,12 @@ package org.eclipse.net4j.util.factory; /** + * Identifies a {@link IFactory factory} by {@link #getProductGroup() product group} and {@link #getType() type}. + * * @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. + * @apiviz.landmark */ public interface IFactoryKey { diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/factory/ProductCreationException.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/factory/ProductCreationException.java index 940ddafb0f..c2c3a80f7a 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/factory/ProductCreationException.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/factory/ProductCreationException.java @@ -11,8 +11,12 @@ package org.eclipse.net4j.util.factory; /** + * An unchecked exception that may be thrown from {@link IFactory factories} to indicate the inability to create a + * product. + * * @author Eike Stepper * @noextend This class is not intended to be subclassed by clients. + * @apiviz.exclude */ public class ProductCreationException extends RuntimeException { diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/factory/package-info.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/factory/package-info.java index e4ecc9b7fd..6793032ee2 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/factory/package-info.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/factory/package-info.java @@ -11,8 +11,6 @@ /**
* A framework for factory based instance creation.
- *
- * @apiviz.landmark
*/
package org.eclipse.net4j.util.factory;
diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/fsm/FiniteStateMachine.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/fsm/FiniteStateMachine.java index 22be9ae8ba..dd74d41b4e 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/fsm/FiniteStateMachine.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/fsm/FiniteStateMachine.java @@ -20,14 +20,25 @@ import org.eclipse.net4j.util.om.trace.ContextTracer; import java.text.MessageFormat; /** + * A <a href="http://en.wikipedia.org/wiki/Finite-state_machine">finite state machine</a> that is based on a matrix of + * {@link ITransition transitions}. + * <p> + * Fires the following events: + * <ul> + * <li> {@link StateChangedEvent} after state changes of a <i>subject</i>. + * </ul> + * * @author Eike Stepper + * @apiviz.landmark + * @apiviz.owns ITransition - - matrix + * @apiviz.uses FiniteStateMachine.StateChangedEvent - - fires */ public abstract class FiniteStateMachine<STATE extends Enum<?>, EVENT extends Enum<?>, SUBJECT> extends Lifecycle { - @SuppressWarnings("rawtypes") + @SuppressWarnings({ "rawtypes", "deprecation" }) public static final ITransition IGNORE = new IgnoreTransition(); - @SuppressWarnings("rawtypes") + @SuppressWarnings({ "rawtypes", "deprecation" }) public static final ITransition FAIL = new FailTransition(); private static final ContextTracer TRACER = new ContextTracer(OM.DEBUG, FiniteStateMachine.class); @@ -224,8 +235,13 @@ public abstract class FiniteStateMachine<STATE extends Enum<?>, EVENT extends En } /** + * A {@link ITransition transition} that does nothing. + * * @author Eike Stepper + * @deprecated Use {@link FiniteStateMachine#IGNORE} + * @apiviz.exclude */ + @Deprecated public static class IgnoreTransition implements ITransition<Enum<?>, Enum<?>, Object, Object> { public void execute(Object subject, Enum<?> state, Enum<?> event, Object data) @@ -241,8 +257,13 @@ public abstract class FiniteStateMachine<STATE extends Enum<?>, EVENT extends En } /** + * A {@link ITransition transition} that throws an {@link IllegalStateException}. + * * @author Eike Stepper + * @deprecated Use {@link FiniteStateMachine#FAIL} + * @apiviz.exclude */ + @Deprecated public static class FailTransition implements ITransition<Enum<?>, Enum<?>, Object, Object> { public void execute(Object subject, Enum<?> state, Enum<?> event, Object data) @@ -258,6 +279,8 @@ public abstract class FiniteStateMachine<STATE extends Enum<?>, EVENT extends En } /** + * A {@link ITransition transition} that changes the {@link #getTargetState() state} of a <i>subject</i>. + * * @author Eike Stepper */ public class ChangeStateTransition implements ITransition<STATE, EVENT, SUBJECT, Object> diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/fsm/ITransition.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/fsm/ITransition.java index 603dbea3f5..2b51ff3b64 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/fsm/ITransition.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/fsm/ITransition.java @@ -11,7 +11,10 @@ package org.eclipse.net4j.util.fsm; /** + * Encpsulates the logic to be executed when an <i>event</i> arrives for a <i>subject</i> in a particular <i>state</i>. + * * @author Eike Stepper + * @apiviz.landmark */ public interface ITransition<STATE extends Enum<?>, EVENT extends Enum<?>, SUBJECT, DATA> { diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/fsm/package-info.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/fsm/package-info.java index d9ce964553..3ca7a62c18 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/fsm/package-info.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/fsm/package-info.java @@ -10,6 +10,7 @@ */
/**
- * A framework for finite state machines.
+ * A framework for <a href="http://en.wikipedia.org/wiki/Finite-state_machine">finite state machines</a>.
*/
package org.eclipse.net4j.util.fsm;
+
diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/io/package-info.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/io/package-info.java index 97792cbcf4..e68d58cb66 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/io/package-info.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/io/package-info.java @@ -11,5 +11,7 @@ /**
* Interfaces and classes for I/O.
+ * @apiviz.exclude .*
*/
package org.eclipse.net4j.util.io;
+
diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/lifecycle/ILifecycle.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/lifecycle/ILifecycle.java index 26c69f89a2..6434a428ed 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/lifecycle/ILifecycle.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/lifecycle/ILifecycle.java @@ -13,7 +13,19 @@ package org.eclipse.net4j.util.lifecycle; import org.eclipse.net4j.util.event.INotifier; /** + * An entity that has a well-defined {@link #getLifecycleState() lifecycle} and can be {@link #activate() activated} or + * {@link #deactivate() deactivated}. + * <p> + * Fires the following events: + * <ul> + * <li> {@link ILifecycleEvent} before and after the {@link #getLifecycleState() state} of this lifecycle changes. + * </ul> + * * @author Eike Stepper + * @apiviz.landmark + * @apiviz.has LifecycleState + * @apiviz.uses ILifecycleEvent - - fires + * @apiviz.excludeSubtypes */ public interface ILifecycle extends INotifier { diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/lifecycle/ILifecycleEvent.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/lifecycle/ILifecycleEvent.java index 561e6fb02d..3b9ed7248e 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/lifecycle/ILifecycleEvent.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/lifecycle/ILifecycleEvent.java @@ -13,12 +13,14 @@ package org.eclipse.net4j.util.lifecycle; import org.eclipse.net4j.util.event.IEvent; /** - * An {@link IEvent event} fired from an object with a {@link ILifecycle lifecycle} when its lifecycle {@link Kind + * An {@link IEvent event} fired from an entity with a {@link ILifecycle lifecycle} when its lifecycle {@link Kind * state} has changed. * * @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. + * @noimplement Thi import org.eclipse.net4j.util.event.IEvent; import org.eclipse.net4j.util.event.IEvent; import + * org.eclipse.net4j.util.event.IEvent; s interface is not intended to be implemented by clients. + * @apiviz.has org.eclipse.net4j.util.lifecycle.ILifecycleEvent.Kind */ public interface ILifecycleEvent extends IEvent { @@ -30,7 +32,7 @@ public interface ILifecycleEvent extends IEvent public Kind getKind(); /** - * Enumerates the possible {@link ILifecycle#getLifecycleState() lifecycle state} changes of an object. + * Enumerates the possible {@link ILifecycle#getLifecycleState() lifecycle state} changes of an entity. * * @author Eike Stepper */ diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/lifecycle/Lifecycle.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/lifecycle/Lifecycle.java index 4cde6c2b2d..dd448d04be 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/lifecycle/Lifecycle.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/lifecycle/Lifecycle.java @@ -21,7 +21,10 @@ import org.eclipse.net4j.util.om.trace.ContextTracer; import java.util.concurrent.Semaphore; /** + * A default implementation of an entity with a {@link ILifecycle lifecycle}. + * * @author Eike Stepper + * @apiviz.exclude */ public class Lifecycle extends Notifier implements ILifecycle { diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/lifecycle/LifecycleEvent.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/lifecycle/LifecycleEvent.java index ac734494d6..95b4fcd8af 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/lifecycle/LifecycleEvent.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/lifecycle/LifecycleEvent.java @@ -13,8 +13,11 @@ package org.eclipse.net4j.util.lifecycle; import org.eclipse.net4j.util.event.Event; /** + * A default implementation of a lifecycle {@link ILifecycleEvent event}. + * * @author Eike Stepper * @noextend This class is not intended to be subclassed by clients. + * @apiviz.exclude */ public class LifecycleEvent extends Event implements ILifecycleEvent { diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/lifecycle/LifecycleEventAdapter.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/lifecycle/LifecycleEventAdapter.java index ce5ccf371a..2ddf398f94 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/lifecycle/LifecycleEventAdapter.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/lifecycle/LifecycleEventAdapter.java @@ -14,7 +14,11 @@ import org.eclipse.net4j.util.event.IEvent; import org.eclipse.net4j.util.event.IListener; /** + * A {@link IListener listener} that dispatches lifecycle {@link ILifecycleEvent events} to methods that can be + * overridden by extenders. + * * @author Eike Stepper + * @apiviz.exclude */ public class LifecycleEventAdapter implements IListener { diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/lifecycle/LifecycleException.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/lifecycle/LifecycleException.java index bbe4da822c..2a3f2d5934 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/lifecycle/LifecycleException.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/lifecycle/LifecycleException.java @@ -11,8 +11,11 @@ package org.eclipse.net4j.util.lifecycle; /** + * An unchecked wrapper exception for checked exceptions being thrown from {@link Lifecycle#doActivate()}. + * * @author Eike Stepper * @noextend This class is not intended to be subclassed by clients. + * @apiviz.exclude */ public class LifecycleException extends RuntimeException { diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/lifecycle/LifecycleState.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/lifecycle/LifecycleState.java index 3079b4ddbb..e420cef14f 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/lifecycle/LifecycleState.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/lifecycle/LifecycleState.java @@ -11,6 +11,8 @@ package org.eclipse.net4j.util.lifecycle; /** + * Enumerates the possible lifecycle states of an entity with a {@link ILifecycle lifecycle}. + * * @author Eike Stepper * @since 3.0 */ diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/lifecycle/LifecycleUtil.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/lifecycle/LifecycleUtil.java index f15d4b382c..79a3fb13c3 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/lifecycle/LifecycleUtil.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/lifecycle/LifecycleUtil.java @@ -29,6 +29,8 @@ import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; /** + * Various static helper methods for dealing with {@link ILifecycle lifecycles}. + * * @author Eike Stepper */ public final class LifecycleUtil @@ -321,7 +323,11 @@ public final class LifecycleUtil } /** + * Annotates a method of a POJO class that's supposed to be called to <em>activate</em> a POJO object during + * {@link LifecycleUtil#activate(Object)}. + * * @author Eike Stepper + * @apiviz.exclude */ @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) @@ -331,7 +337,11 @@ public final class LifecycleUtil } /** + * Annotates a method of a POJO class that's supposed to be called to <em>deactivate</em> a POJO object during + * {@link LifecycleUtil#deactivate(Object)}. + * * @author Eike Stepper + * @apiviz.exclude */ @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) @@ -341,8 +351,12 @@ public final class LifecycleUtil } /** + * The {@link InvocationHandler invocation handler} of the {@link Proxy dynamic proxy} created in + * {@link LifecycleUtil#delegateLifecycle(ClassLoader, Object, ILifecycle) LifecycleUtil.delegateLifecycle()}. + * * @author Eike Stepper * @since 2.0 + * @apiviz.exclude */ public static final class Delegator<T> implements InvocationHandler { diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/lifecycle/package-info.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/lifecycle/package-info.java index b2aa771c09..6ecf268ca9 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/lifecycle/package-info.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/lifecycle/package-info.java @@ -16,3 +16,4 @@ * used to implement such objects are provided as well.
*/
package org.eclipse.net4j.util.lifecycle;
+
diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/properties/package-info.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/properties/package-info.java new file mode 100644 index 0000000000..1cd5e9f46a --- /dev/null +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/properties/package-info.java @@ -0,0 +1,18 @@ +/*
+ * Copyright (c) 2004 - 2011 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 to describe and access properties of POJOs and to support Eclipse
+ * {@link org.eclipse.core.expressions.PropertyTester property testers} and
+ * <code>IPropertySources</code> in a uniform way.
+ */
+package org.eclipse.net4j.util.properties;
+
diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/security/package-info.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/security/package-info.java index 82b654ebb3..dd7e440c3f 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/security/package-info.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/security/package-info.java @@ -11,5 +11,7 @@ /**
* Interfaces and classes for security, negotiation, authentication, authorization and cryptography.
+ * @apiviz.exclude .*
*/
package org.eclipse.net4j.util.security;
+
|