Package org.refcodes.checkerboard
Class CheckerboardImpl<P extends Player<P,S>,S>
- java.lang.Object
-
- org.refcodes.observer.AbstractObservable<CheckerboardObserver<P,S>,org.refcodes.observer.GenericEvent<?>>
-
- org.refcodes.checkerboard.CheckerboardImpl<P,S>
-
- Type Parameters:
P
- the generic typeS
- the generic type
- All Implemented Interfaces:
Checkerboard<P,S>
,Players<P>
,org.refcodes.component.Component
,org.refcodes.component.Destroyable
,org.refcodes.graphical.GridDimension
,org.refcodes.graphical.GridDimension.GridDimensionBuilder<Checkerboard<P,S>>
,org.refcodes.graphical.GridDimension.GridDimensionMutator
,org.refcodes.graphical.GridDimension.GridDimensionProperty
,org.refcodes.graphical.GridHeightAccessor
,org.refcodes.graphical.GridHeightAccessor.GridHeightBuilder<Checkerboard<P,S>>
,org.refcodes.graphical.GridHeightAccessor.GridHeightMutator
,org.refcodes.graphical.GridHeightAccessor.GridHeightProperty
,org.refcodes.graphical.GridModeAccessor
,org.refcodes.graphical.GridModeAccessor.GridModeBuilder<Checkerboard<P,S>>
,org.refcodes.graphical.GridModeAccessor.GridModeMutator
,org.refcodes.graphical.GridModeAccessor.GridModeProperty
,org.refcodes.graphical.GridWidthAccessor
,org.refcodes.graphical.GridWidthAccessor.GridWidthBuilder<Checkerboard<P,S>>
,org.refcodes.graphical.GridWidthAccessor.GridWidthMutator
,org.refcodes.graphical.GridWidthAccessor.GridWidthProperty
,org.refcodes.mixin.Disposable
,org.refcodes.mixin.Loggable
,org.refcodes.observer.Observable<CheckerboardObserver<P,S>>
public class CheckerboardImpl<P extends Player<P,S>,S> extends org.refcodes.observer.AbstractObservable<CheckerboardObserver<P,S>,org.refcodes.observer.GenericEvent<?>> implements Checkerboard<P,S>
The Class CheckerboardImpl.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.refcodes.component.Destroyable
org.refcodes.component.Destroyable.DestroyAutomaton
-
Nested classes/interfaces inherited from interface org.refcodes.mixin.Disposable
org.refcodes.mixin.Disposable.Disposedable
-
Nested classes/interfaces inherited from interface org.refcodes.graphical.GridDimension
org.refcodes.graphical.GridDimension.GridDimensionBuilder<B extends org.refcodes.graphical.GridDimension.GridDimensionBuilder<B>>, org.refcodes.graphical.GridDimension.GridDimensionMutator, org.refcodes.graphical.GridDimension.GridDimensionProperty, org.refcodes.graphical.GridDimension.GridDimensionPropertyBuilder
-
Nested classes/interfaces inherited from interface org.refcodes.graphical.GridHeightAccessor
org.refcodes.graphical.GridHeightAccessor.GridHeightBuilder<B extends org.refcodes.graphical.GridHeightAccessor.GridHeightBuilder<B>>, org.refcodes.graphical.GridHeightAccessor.GridHeightMutator, org.refcodes.graphical.GridHeightAccessor.GridHeightProperty
-
Nested classes/interfaces inherited from interface org.refcodes.graphical.GridModeAccessor
org.refcodes.graphical.GridModeAccessor.GridModeBuilder<B extends org.refcodes.graphical.GridModeAccessor.GridModeBuilder<B>>, org.refcodes.graphical.GridModeAccessor.GridModeMutator, org.refcodes.graphical.GridModeAccessor.GridModeProperty
-
Nested classes/interfaces inherited from interface org.refcodes.graphical.GridWidthAccessor
org.refcodes.graphical.GridWidthAccessor.GridWidthBuilder<B extends org.refcodes.graphical.GridWidthAccessor.GridWidthBuilder<B>>, org.refcodes.graphical.GridWidthAccessor.GridWidthMutator, org.refcodes.graphical.GridWidthAccessor.GridWidthProperty
-
-
Constructor Summary
Constructors Constructor Description CheckerboardImpl()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description P
atBottomLeftOf(org.refcodes.graphical.Position aPos)
At bottom left of.P
atBottomOf(org.refcodes.graphical.Position aPos)
At bottom of.P
atBottomRightOf(org.refcodes.graphical.Position aPos)
At bottom right of.P
atLeftOf(org.refcodes.graphical.Position aPos)
At left of.P
atPosition(int aPosX, int aPosY)
At position.P
atPosition(org.refcodes.graphical.Position aPos)
At position.P
atRightOf(org.refcodes.graphical.Position aPos)
At right of.P
atTopLeftOf(org.refcodes.graphical.Position aPos)
At top left of.P
atTopOf(org.refcodes.graphical.Position aPos)
At top of.P
atTopRightOf(org.refcodes.graphical.Position aPos)
At top right of.void
clearPlayers()
Clear players.void
destroy()
protected boolean
fireEvent(org.refcodes.observer.GenericEvent<?> aEvent, CheckerboardObserver<P,S> aObserver, org.refcodes.controlflow.ExecutionStrategy aExecutionStrategy)
Fire event.void
forEach(java.util.function.Consumer<P> aConsumer)
Performs the given action for eachPlayer
on theCheckerboard
until all players have been processed or the action throws an exception.java.util.Map<java.lang.Integer,P>
getColumn(int aColumn)
Gets the column.int
getGridHeight()
org.refcodes.graphical.GridMode
getGridMode()
int
getGridWidth()
java.util.List<P>
getPlayers()
Gets the players.java.util.Map<java.lang.Integer,P>
getRow(int aRow)
Gets the row.boolean
hasAtBottomLeftOf(org.refcodes.graphical.Position aPos)
Checks for at bottom left of.boolean
hasAtBottomOf(org.refcodes.graphical.Position aPos)
Checks for at bottom of.boolean
hasAtBottomRightOf(org.refcodes.graphical.Position aPos)
Checks for at bottom right of.boolean
hasAtLeftOf(org.refcodes.graphical.Position aPos)
Checks for at left of.boolean
hasAtPosition(int aPosX, int aPosY)
Checks for at position.boolean
hasAtPosition(org.refcodes.graphical.Position aPos)
Checks for at position.boolean
hasAtRightOf(org.refcodes.graphical.Position aPos)
Checks for at right of.boolean
hasAtTopLeftOf(org.refcodes.graphical.Position aPos)
Checks for at top left of.boolean
hasAtTopOf(org.refcodes.graphical.Position aPos)
Checks for at top of.boolean
hasAtTopRightOf(org.refcodes.graphical.Position aPos)
Checks for at top right of.boolean
hasPlayer(P aPlayer)
Checks for player.boolean
hasPlayers()
Checks for players.int
playerCount()
Player count.java.util.Iterator<P>
players()
Players.P
putPlayer(P aPlayer)
Put player.boolean
removePlayer(P aPlayer)
Removes the player.void
setGridDimension(int aWidth, int aHeight)
void
setGridDimension(org.refcodes.graphical.Dimension aDimension)
void
setGridDimension(org.refcodes.graphical.GridDimension aDimension)
void
setGridHeight(int aHeight)
void
setGridMode(org.refcodes.graphical.GridMode aGridMode)
void
setGridWidth(int aWidth)
boolean
subscribeObserver(CheckerboardObserver<P,S> aObserver)
boolean
unsubscribeObserver(CheckerboardObserver<P,S> aObserver)
Checkerboard<P,S>
withGridDimension(int aGridWidth, int aGridHeight)
Checkerboard<P,S>
withGridDimension(org.refcodes.graphical.Dimension aDimension)
Checkerboard<P,S>
withGridDimension(org.refcodes.graphical.GridDimension aDimension)
Checkerboard<P,S>
withGridHeight(int aHeight)
Checkerboard<P,S>
withGridMode(org.refcodes.graphical.GridMode aGridMode)
Checkerboard<P,S>
withGridWidth(int aWidth)
-
Methods inherited from class org.refcodes.observer.AbstractObservable
clear, dispose, doHandleEventListenerException, fireEvent, getThreadPriority, hasObserverSubscription, isEmpty, isObserversActive, observers, setObserversActive, setThreadPriority, size
-
Methods inherited from interface org.refcodes.graphical.GridDimension
isInBounds, isInBounds, isInHeight, isInWidth
-
Methods inherited from interface org.refcodes.mixin.Loggable
alert, alert, critical, critical, debug, error, info, notice, panic, trace, warn, warn
-
-
-
-
Method Detail
-
withGridMode
public Checkerboard<P,S> withGridMode(org.refcodes.graphical.GridMode aGridMode)
-
withGridDimension
public Checkerboard<P,S> withGridDimension(int aGridWidth, int aGridHeight)
-
withGridDimension
public Checkerboard<P,S> withGridDimension(org.refcodes.graphical.GridDimension aDimension)
-
withGridDimension
public Checkerboard<P,S> withGridDimension(org.refcodes.graphical.Dimension aDimension)
-
withGridWidth
public Checkerboard<P,S> withGridWidth(int aWidth)
-
withGridHeight
public Checkerboard<P,S> withGridHeight(int aHeight)
-
forEach
public void forEach(java.util.function.Consumer<P> aConsumer)
Performs the given action for eachPlayer
on theCheckerboard
until all players have been processed or the action throws an exception.
-
hasAtPosition
public boolean hasAtPosition(org.refcodes.graphical.Position aPos) throws java.lang.IndexOutOfBoundsException
Checks for at position.- Specified by:
hasAtPosition
in interfaceCheckerboard<P extends Player<P,S>,S>
- Parameters:
aPos
- the pos- Returns:
- true, if successful
- Throws:
java.lang.IndexOutOfBoundsException
- the index out of bounds exception
-
hasAtPosition
public boolean hasAtPosition(int aPosX, int aPosY) throws java.lang.IndexOutOfBoundsException
Checks for at position.- Specified by:
hasAtPosition
in interfaceCheckerboard<P extends Player<P,S>,S>
- Parameters:
aPosX
- the pos XaPosY
- the pos Y- Returns:
- true, if successful
- Throws:
java.lang.IndexOutOfBoundsException
- the index out of bounds exception
-
atPosition
public P atPosition(org.refcodes.graphical.Position aPos) throws java.lang.IndexOutOfBoundsException
At position.- Specified by:
atPosition
in interfaceCheckerboard<P extends Player<P,S>,S>
- Parameters:
aPos
- the pos- Returns:
- the p
- Throws:
java.lang.IndexOutOfBoundsException
- the index out of bounds exception
-
atPosition
public P atPosition(int aPosX, int aPosY) throws java.lang.IndexOutOfBoundsException
At position.- Specified by:
atPosition
in interfaceCheckerboard<P extends Player<P,S>,S>
- Parameters:
aPosX
- the pos XaPosY
- the pos Y- Returns:
- the p
- Throws:
java.lang.IndexOutOfBoundsException
- the index out of bounds exception
-
hasAtTopOf
public boolean hasAtTopOf(org.refcodes.graphical.Position aPos) throws java.lang.IndexOutOfBoundsException
Checks for at top of.- Specified by:
hasAtTopOf
in interfaceCheckerboard<P extends Player<P,S>,S>
- Parameters:
aPos
- the pos- Returns:
- true, if successful
- Throws:
java.lang.IndexOutOfBoundsException
- the index out of bounds exception
-
atTopOf
public P atTopOf(org.refcodes.graphical.Position aPos) throws java.lang.IndexOutOfBoundsException
At top of.
-
hasAtTopRightOf
public boolean hasAtTopRightOf(org.refcodes.graphical.Position aPos) throws java.lang.IndexOutOfBoundsException
Checks for at top right of.- Specified by:
hasAtTopRightOf
in interfaceCheckerboard<P extends Player<P,S>,S>
- Parameters:
aPos
- the pos- Returns:
- true, if successful
- Throws:
java.lang.IndexOutOfBoundsException
- the index out of bounds exception
-
atTopRightOf
public P atTopRightOf(org.refcodes.graphical.Position aPos) throws java.lang.IndexOutOfBoundsException
At top right of.- Specified by:
atTopRightOf
in interfaceCheckerboard<P extends Player<P,S>,S>
- Parameters:
aPos
- the pos- Returns:
- the p
- Throws:
java.lang.IndexOutOfBoundsException
- the index out of bounds exception
-
hasAtRightOf
public boolean hasAtRightOf(org.refcodes.graphical.Position aPos) throws java.lang.IndexOutOfBoundsException
Checks for at right of.- Specified by:
hasAtRightOf
in interfaceCheckerboard<P extends Player<P,S>,S>
- Parameters:
aPos
- the pos- Returns:
- true, if successful
- Throws:
java.lang.IndexOutOfBoundsException
- the index out of bounds exception
-
atRightOf
public P atRightOf(org.refcodes.graphical.Position aPos) throws java.lang.IndexOutOfBoundsException
At right of.
-
hasAtBottomRightOf
public boolean hasAtBottomRightOf(org.refcodes.graphical.Position aPos) throws java.lang.IndexOutOfBoundsException
Checks for at bottom right of.- Specified by:
hasAtBottomRightOf
in interfaceCheckerboard<P extends Player<P,S>,S>
- Parameters:
aPos
- the pos- Returns:
- true, if successful
- Throws:
java.lang.IndexOutOfBoundsException
- the index out of bounds exception
-
atBottomRightOf
public P atBottomRightOf(org.refcodes.graphical.Position aPos) throws java.lang.IndexOutOfBoundsException
At bottom right of.- Specified by:
atBottomRightOf
in interfaceCheckerboard<P extends Player<P,S>,S>
- Parameters:
aPos
- the pos- Returns:
- the p
- Throws:
java.lang.IndexOutOfBoundsException
- the index out of bounds exception
-
hasAtBottomOf
public boolean hasAtBottomOf(org.refcodes.graphical.Position aPos) throws java.lang.IndexOutOfBoundsException
Checks for at bottom of.- Specified by:
hasAtBottomOf
in interfaceCheckerboard<P extends Player<P,S>,S>
- Parameters:
aPos
- the pos- Returns:
- true, if successful
- Throws:
java.lang.IndexOutOfBoundsException
- the index out of bounds exception
-
atBottomOf
public P atBottomOf(org.refcodes.graphical.Position aPos) throws java.lang.IndexOutOfBoundsException
At bottom of.- Specified by:
atBottomOf
in interfaceCheckerboard<P extends Player<P,S>,S>
- Parameters:
aPos
- the pos- Returns:
- the p
- Throws:
java.lang.IndexOutOfBoundsException
- the index out of bounds exception
-
hasAtBottomLeftOf
public boolean hasAtBottomLeftOf(org.refcodes.graphical.Position aPos) throws java.lang.IndexOutOfBoundsException
Checks for at bottom left of.- Specified by:
hasAtBottomLeftOf
in interfaceCheckerboard<P extends Player<P,S>,S>
- Parameters:
aPos
- the pos- Returns:
- true, if successful
- Throws:
java.lang.IndexOutOfBoundsException
- the index out of bounds exception
-
atBottomLeftOf
public P atBottomLeftOf(org.refcodes.graphical.Position aPos) throws java.lang.IndexOutOfBoundsException
At bottom left of.- Specified by:
atBottomLeftOf
in interfaceCheckerboard<P extends Player<P,S>,S>
- Parameters:
aPos
- the pos- Returns:
- the p
- Throws:
java.lang.IndexOutOfBoundsException
- the index out of bounds exception
-
hasAtLeftOf
public boolean hasAtLeftOf(org.refcodes.graphical.Position aPos) throws java.lang.IndexOutOfBoundsException
Checks for at left of.- Specified by:
hasAtLeftOf
in interfaceCheckerboard<P extends Player<P,S>,S>
- Parameters:
aPos
- the pos- Returns:
- true, if successful
- Throws:
java.lang.IndexOutOfBoundsException
- the index out of bounds exception
-
atLeftOf
public P atLeftOf(org.refcodes.graphical.Position aPos) throws java.lang.IndexOutOfBoundsException
At left of.
-
hasAtTopLeftOf
public boolean hasAtTopLeftOf(org.refcodes.graphical.Position aPos) throws java.lang.IndexOutOfBoundsException
Checks for at top left of.- Specified by:
hasAtTopLeftOf
in interfaceCheckerboard<P extends Player<P,S>,S>
- Parameters:
aPos
- the pos- Returns:
- true, if successful
- Throws:
java.lang.IndexOutOfBoundsException
- the index out of bounds exception
-
atTopLeftOf
public P atTopLeftOf(org.refcodes.graphical.Position aPos) throws java.lang.IndexOutOfBoundsException
At top left of.- Specified by:
atTopLeftOf
in interfaceCheckerboard<P extends Player<P,S>,S>
- Parameters:
aPos
- the pos- Returns:
- the p
- Throws:
java.lang.IndexOutOfBoundsException
- the index out of bounds exception
-
getRow
public java.util.Map<java.lang.Integer,P> getRow(int aRow) throws java.lang.IndexOutOfBoundsException
Gets the row.
-
getColumn
public java.util.Map<java.lang.Integer,P> getColumn(int aColumn) throws java.lang.IndexOutOfBoundsException
Gets the column.
-
getGridMode
public org.refcodes.graphical.GridMode getGridMode()
- Specified by:
getGridMode
in interfaceorg.refcodes.graphical.GridModeAccessor
-
setGridMode
public void setGridMode(org.refcodes.graphical.GridMode aGridMode)
- Specified by:
setGridMode
in interfaceorg.refcodes.graphical.GridModeAccessor.GridModeMutator
-
getPlayers
public java.util.List<P> getPlayers()
Gets the players.
-
removePlayer
public boolean removePlayer(P aPlayer)
Removes the player.
-
clearPlayers
public void clearPlayers()
Clear players.
-
playerCount
public int playerCount()
Player count.
-
hasPlayers
public boolean hasPlayers()
Checks for players.
-
players
public java.util.Iterator<P> players()
Players.
-
hasPlayer
public boolean hasPlayer(P aPlayer)
Checks for player.
-
getGridWidth
public int getGridWidth()
- Specified by:
getGridWidth
in interfaceorg.refcodes.graphical.GridWidthAccessor
-
setGridDimension
public void setGridDimension(int aWidth, int aHeight)
- Specified by:
setGridDimension
in interfaceorg.refcodes.graphical.GridDimension.GridDimensionMutator
-
setGridDimension
public void setGridDimension(org.refcodes.graphical.GridDimension aDimension)
- Specified by:
setGridDimension
in interfaceorg.refcodes.graphical.GridDimension.GridDimensionMutator
-
setGridDimension
public void setGridDimension(org.refcodes.graphical.Dimension aDimension)
- Specified by:
setGridDimension
in interfaceorg.refcodes.graphical.GridDimension.GridDimensionMutator
-
setGridWidth
public void setGridWidth(int aWidth)
- Specified by:
setGridWidth
in interfaceorg.refcodes.graphical.GridWidthAccessor.GridWidthMutator
-
setGridHeight
public void setGridHeight(int aHeight)
- Specified by:
setGridHeight
in interfaceorg.refcodes.graphical.GridHeightAccessor.GridHeightMutator
-
getGridHeight
public int getGridHeight()
- Specified by:
getGridHeight
in interfaceorg.refcodes.graphical.GridHeightAccessor
-
subscribeObserver
public boolean subscribeObserver(CheckerboardObserver<P,S> aObserver)
-
unsubscribeObserver
public boolean unsubscribeObserver(CheckerboardObserver<P,S> aObserver)
-
destroy
public void destroy()
- Specified by:
destroy
in interfaceorg.refcodes.component.Destroyable
-
fireEvent
protected boolean fireEvent(org.refcodes.observer.GenericEvent<?> aEvent, CheckerboardObserver<P,S> aObserver, org.refcodes.controlflow.ExecutionStrategy aExecutionStrategy) throws org.refcodes.exception.VetoException
Fire event.- Specified by:
fireEvent
in classorg.refcodes.observer.AbstractObservable<CheckerboardObserver<P extends Player<P,S>,S>,org.refcodes.observer.GenericEvent<?>>
- Parameters:
aEvent
- the eventaObserver
- the observeraExecutionStrategy
- the execution strategy- Returns:
- true, if successful
- Throws:
org.refcodes.exception.VetoException
- the veto exception
-
-