public class MunitionTargetAdjudicatorFactory
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
protected static java.util.Map<java.lang.Class,java.util.Map<java.lang.Class,Adjudicator>> |
adjudicators
A HashMap containing the Adjudicators.
|
protected static Adjudicator |
defaultAdjudicator
The Adjudicator that is returned if none for a Munition-Target pair has
been added to the factory.
|
Modifier | Constructor and Description |
---|---|
private |
MunitionTargetAdjudicatorFactory()
This class should never be instantiated.
|
Modifier and Type | Method and Description |
---|---|
static void |
addAdjudicator(java.lang.Class<? extends Munition> munitionClass,
java.lang.Class<? extends Mover> targetClass,
java.lang.Class<? extends Adjudicator> adjudicatorClass)
Creates and adds to the container an Adjudicator of the specified Class.
|
static void |
addAdjudicator(java.lang.Class munitionClass,
java.lang.Class targetClass,
Adjudicator adjudicator)
Adds an Adjudicator to the container.
|
static Adjudicator |
getAdjudicator(java.lang.Class<?> munitionClass,
java.lang.Class<?> targetClass)
If an Adjudicator has not been specified for the Munition-Target pair,
then returns the default Adjudicator.
|
static Adjudicator |
getAdjudicator(Munition munition,
Target target)
If an Adjudicator has not been specified for the Munition-Target pair,
then returns the default Adjudicator.
|
static Adjudicator |
getDefaultAdjudicator() |
static void |
setDefaultAdjudicator(Adjudicator adjudicator)
Sets the Adjudicator that will be returned for Munition-Target pairs that
are not in the container.
|
protected static final java.util.Map<java.lang.Class,java.util.Map<java.lang.Class,Adjudicator>> adjudicators
protected static Adjudicator defaultAdjudicator
private MunitionTargetAdjudicatorFactory()
public static void addAdjudicator(java.lang.Class<? extends Munition> munitionClass, java.lang.Class<? extends Mover> targetClass, java.lang.Class<? extends Adjudicator> adjudicatorClass)
munitionClass
- The Class of the Munition that the Adjudicator is
associated with.targetClass
- The Class of the Target that the Adjudicator is
associated with.adjudicatorClass
- The Class of Adjudicator to create.java.lang.ClassCastException
- If adjudicatorClass is not an Adjudicator.public static void addAdjudicator(java.lang.Class munitionClass, java.lang.Class targetClass, Adjudicator adjudicator)
munitionClass
- The Class of the Munition that the Adjudicator is
associated with.targetClass
- The Class of the Target that the Adjudicator is
associated with.adjudicator
- An instance of an Adjudicator to add to the container.public static Adjudicator getAdjudicator(Munition munition, Target target)
munition
- Given Munition instancetarget
- Given Target instancepublic static Adjudicator getAdjudicator(java.lang.Class<?> munitionClass, java.lang.Class<?> targetClass)
munitionClass
- Given Munition classtargetClass
- Given Target classpublic static void setDefaultAdjudicator(Adjudicator adjudicator)
adjudicator
- Given Adjudicatorpublic static Adjudicator getDefaultAdjudicator()