laser.alphabet.labelpattern
Interface LabelPatternFactoryInterface<L extends LabelInterface>

Type Parameters:
L - The type of Labels that this factory produces, and the type of Label with respect to which the LabelPatterns this factory produces have meaning.
All Superinterfaces:
AlphabetFactoryInterface<L>
All Known Implementing Classes:
AbstractLabelPatternFactory, IndexedLabelPatternFactory, StringLabelPatternFactory

public interface LabelPatternFactoryInterface<L extends LabelInterface>
extends AlphabetFactoryInterface<L>

An interface implemented by all types of LabelPatternFactories. LabelPatternFactories extend the functionality provided by AlphabetFactories, allowing the creation of Labels and Alphabets of a particular type as well as LabelPatterns associated with that type. LabelPatternFactories are factories as in the factory design pattern, (Design Patterns, Gamma, Helm, Johnson, and Vlissides, p87, 1995).

Author:
Nathan A. Jokel (laser-software@cs.umass.edu)
See Also:
LabelPatternInterface, AlphabetFactoryInterface, AlphabetInterface, LabelInterface

Method Summary
 LabelPatternInterface<L> createAllLabelPatternInterface()
          Creates a . or "all" LabelPattern.
 ClassSetLabelPatternInterface<L> createClassSetLabelPatternInterface()
          Creates a "class set" LabelPattern.
 LabelPatternInterface<L> createLabelPatternInterface(java.lang.String pattern)
          Creates a LabelPattern based on the specified String.
 NotClassSetLabelPatternInterface<L> createNotClassSetLabelPatternInterface()
          Creates a ~ or "not class set" LabelPattern.
 boolean isValidLabelPattern(java.lang.String s)
          Returns true if the specified String specifies a valid LabelPattern of the type this factory creates, false otherwise.
 
Methods inherited from interface laser.alphabet.AlphabetFactoryInterface
createAlphabetInterface, createLabelInterface, getCreateAlphabetArgs, isValidLabel, unmodifiableAlphabet
 

Method Detail

createAllLabelPatternInterface

LabelPatternInterface<L> createAllLabelPatternInterface()
Creates a . or "all" LabelPattern. With respect to an Alphabet of the correct type, this LabelPattern specifies the set of all Labels in the Alphabet.

Returns:
The "all" LabelPattern.
See Also:
LabelPatternInterface

createClassSetLabelPatternInterface

ClassSetLabelPatternInterface<L> createClassSetLabelPatternInterface()
Creates a "class set" LabelPattern. With respect to an Alphabet of the correct type, this LabelPattern specifies the subset of Labels in the Alphabet that have been explicitly specified as being included in the subset.

Returns:
The "class set" LabelPattern.
See Also:
LabelPatternInterface

createNotClassSetLabelPatternInterface

NotClassSetLabelPatternInterface<L> createNotClassSetLabelPatternInterface()
Creates a ~ or "not class set" LabelPattern. With respect to an Alphabet of the correct type, this LabelPattern specifies the subset of all Labels in the Alphabet except for certain Labels which are explicitly excluded from the subset.

Returns:
The "not class set" LabelPattern.
See Also:
LabelPatternInterface

createLabelPatternInterface

LabelPatternInterface<L> createLabelPatternInterface(java.lang.String pattern)
                                                                            throws LabelPatternInterfaceException
Creates a LabelPattern based on the specified String. The allowable Strings depends on the type of LabelPattern that this factory creates.

Parameters:
pattern - A String specifying the LabelPattern to be created.
Returns:
The LabelPattern.
Throws:
java.lang.NullPointerException - The specified String is null.
LabelPatternInterfaceException - The specified String does not correspond to a valid LabelPattern.
See Also:
LabelPatternInterface

isValidLabelPattern

boolean isValidLabelPattern(java.lang.String s)
Returns true if the specified String specifies a valid LabelPattern of the type this factory creates, false otherwise.

Parameters:
s - The String.
Returns:
true if the specified String specifies a valid LabelPattern of the type this factory creates, false otherwise.
Throws:
java.lang.NullPointerException - The specified String is null.