|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.planx.msd.DiscriminatorFactory
public abstract class DiscriminatorFactory
This factory class provides shared discriminators for atomic types
and commonly used datatypes. The discriminators are not
synchronized and should be synchronized externally if used by
multiple threads. However, if multiple threads perform multiset
discrimination simultaneously, the preferred way is to create a
non-shared discriminator for each thread directly, and not use this
factory.
This is done by creating a Memory for each thread and passing
the Memory object for a given thread to the constructors
of the discriminators needed for that thread. This requires more
memory than synchronizing shared discriminators but avoids congestion.
For further information please see the Package Summary.
| Constructor Summary | |
|---|---|
protected |
DiscriminatorFactory()
|
| Method Summary | ||
|---|---|---|
abstract
|
getBagDiscriminator(Discriminator<T> d)
Returns a shared discriminator for Lists considered as bags. |
|
abstract Discriminator<Byte> |
getByteDiscriminator()
Returns a shared discriminator for Byte objects. |
|
abstract Discriminator<Character> |
getCharacterDiscriminator()
Returns a shared discriminator for Character objects. |
|
abstract
|
getCharSequenceDiscriminator()
Returns a shared discriminator for CharSequence objects. |
|
abstract ClassDiscriminator<Object> |
getClassDiscriminator()
Returns a shared ClassDiscriminator for Objects. |
|
abstract Discriminator<Double> |
getDoubleDiscriminator()
Returns a shared discriminator for Double objects. |
|
abstract Discriminator<Float> |
getFloatDiscriminator()
Returns a shared discriminator for Float objects. |
|
abstract Discriminator<Integer> |
getIntegerDiscriminator()
Returns a shared discriminator for Integer objects. |
|
abstract
|
getListDiscriminator(Discriminator<T> d)
Returns a shared discriminator for Lists of the type
implied by the specified Discriminator. |
|
abstract Discriminator<Long> |
getLongDiscriminator()
Returns a shared discriminator for Long objects. |
|
abstract Memory |
getMemory()
Returns a shared Memory instance for use by customized
discriminators. |
|
abstract
|
getPolymorphicDiscriminator(Class<E> cls)
Returns a PolymorphicDiscriminator for the specified class. |
|
abstract
|
getSetDiscriminator(Discriminator<T> d)
Returns a shared discriminator for Lists considered as sets. |
|
abstract Discriminator<Short> |
getShortDiscriminator()
Returns a shared discriminator for Short objects. |
|
static DiscriminatorFactory |
instance()
Returns an instance of DiscriminatorFactory. |
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
protected DiscriminatorFactory()
| Method Detail |
|---|
public static DiscriminatorFactory instance()
DiscriminatorFactory.
public abstract <E> PolymorphicDiscriminator<E> getPolymorphicDiscriminator(Class<E> cls)
PolymorphicDiscriminator for the specified class.
This is useful for maintaining the ability to discriminate subtypes
of various classes.
Each implementation should make sure to register its sub-classes
with the PolymorphicDiscriminator of the appropriate
super class before any other part of the system needs to
discriminate its sub-classes.
public abstract Memory getMemory()
Memory instance for use by customized
discriminators.
public abstract Discriminator<Character> getCharacterDiscriminator()
Character objects.
public abstract <T extends CharSequence> Discriminator<T> getCharSequenceDiscriminator()
CharSequence objects.
public abstract ClassDiscriminator<Object> getClassDiscriminator()
ClassDiscriminator for Objects.
public abstract Discriminator<Byte> getByteDiscriminator()
Byte objects.
public abstract Discriminator<Short> getShortDiscriminator()
Short objects.
public abstract Discriminator<Integer> getIntegerDiscriminator()
Integer objects.
public abstract Discriminator<Long> getLongDiscriminator()
Long objects.
public abstract Discriminator<Float> getFloatDiscriminator()
Float objects.
public abstract Discriminator<Double> getDoubleDiscriminator()
Double objects.
public abstract <T> Discriminator<List<T>> getListDiscriminator(Discriminator<T> d)
Lists of the type
implied by the specified Discriminator.
public abstract <T> Discriminator<List<T>> getBagDiscriminator(Discriminator<T> d)
Lists considered as bags.
public abstract <T> Discriminator<List<T>> getSetDiscriminator(Discriminator<T> d)
Lists considered as sets.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||