|
Evaluating Software Design Patterns — the "Gang of Four" patterns implemented in Java 6 |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object dk.rode.thesis.meta.model.AbstractSequence<E> dk.rode.thesis.meta.model.ArraySequence<String> dk.rode.thesis.singleton.SimpsonsFamilySequence dk.rode.thesis.singleton.SimpsonsAndBouvierFamilySequence
@Participant(value="Singleton") @Singleton(value="getFamily") public final class SimpsonsAndBouvierFamilySequence
A Simpsons and Bouvier family sequence is a singleton sequence representing the primary family members in the The Simpsons and Bouvier families.
Only a single instance of this class is created, on demand only, and
is available via the getFamily()
method.
It is not possible to sub-class this class!
Implementation notes:
Any singleton instance in Java is only a singleton per class loader
if created based on and utilising intrinsic class features.
DanishAlphabetSequence
,
NorwegianAlphabetSequence
,
SimpsonsFamilySequence
,
SmileySequence
Nested Class Summary | |
---|---|
private static class |
SimpsonsAndBouvierFamilySequence.Instance
An instance container class that when loaded will create the SimpsonsAndBouvierFamilySequence instance to use and return
from the getFamily() method. |
Nested classes/interfaces inherited from interface dk.rode.thesis.meta.model.Sequence |
---|
Sequence.State |
Field Summary | |
---|---|
private static String[] |
members
The primary members in The Simpsons and Bouvier families. |
static int |
SIZE
The number of primary members in The Simpsons and Bouvier families. |
Fields inherited from class dk.rode.thesis.meta.model.ArraySequence |
---|
elements, index |
Fields inherited from class dk.rode.thesis.meta.model.AbstractSequence |
---|
state |
Constructor Summary | |
---|---|
private |
SimpsonsAndBouvierFamilySequence()
Private no-arg constructor. |
Method Summary | |
---|---|
SimpsonsAndBouvierFamilySequence |
copy()
Returns this instance. |
static SimpsonsAndBouvierFamilySequence |
getFamily()
Returns the SimpsonsAndBouvierFamilySequence singleton
instance to use. |
Methods inherited from class dk.rode.thesis.singleton.SimpsonsFamilySequence |
---|
equals, hashCode |
Methods inherited from class dk.rode.thesis.meta.model.ArraySequence |
---|
bounded, consistent, current, next, reset, size, unique |
Methods inherited from class dk.rode.thesis.meta.model.AbstractSequence |
---|
getStringablePolicy, state, toString, toString |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Methods inherited from interface dk.rode.thesis.meta.model.Sequence |
---|
state |
Methods inherited from interface dk.rode.thesis.strategy.Stringable |
---|
getStringablePolicy, toString |
Field Detail |
---|
private static final String[] members
public static final int SIZE
Implementation notes:
Accessing this static field will before getFamily()
will not cause the singleton instance to be created!
DanishAlphabetSequence.SIZE
,
NorwegianAlphabetSequence.SIZE
,
SimpsonsFamilySequence.SIZE
,
SmileySequence.SIZE
Constructor Detail |
---|
private SimpsonsAndBouvierFamilySequence()
SingletonError
- If another class tries to invoke
this constructor (via reflection).Method Detail |
---|
public SimpsonsAndBouvierFamilySequence copy()
copy
in interface Sequence<String>
copy
in interface Copyable<Sequence<String>>
copy
in class SimpsonsFamilySequence
public static SimpsonsAndBouvierFamilySequence getFamily()
SimpsonsAndBouvierFamilySequence
singleton
instance to use. The singleton instance is not created before the first time this method is invoked!
Implementation notes:
This method hides the static SimpsonsFamilySequence.getFamily()
method.
Singleton
|
Gunni Rode / rode.dk | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |