// BlackWhiteEmptySet.java
package net.sf.gogui.go;
import static net.sf.gogui.go.GoColor.BLACK;
import static net.sf.gogui.go.GoColor.WHITE;
import static net.sf.gogui.go.GoColor.EMPTY;
/** A set containing one element for Black, one for White, and one for
Empty. */
public class BlackWhiteEmptySet<T>
{
public BlackWhiteEmptySet()
{
}
public BlackWhiteEmptySet(T elementBlack, T elementWhite, T elementEmpty)
{
m_elementBlack = elementBlack;
m_elementWhite = elementWhite;
m_elementEmpty = elementEmpty;
}
public T get(GoColor c)
{
if (c == BLACK)
return m_elementBlack;
else if (c == WHITE)
return m_elementWhite;
else
{
assert c == EMPTY;
return m_elementEmpty;
}
}
public void set(GoColor c, T element)
{
if (c == BLACK)
m_elementBlack = element;
else if (c == WHITE)
m_elementWhite = element;
else
{
assert c == EMPTY;
m_elementEmpty = element;
}
}
private T m_elementBlack;
private T m_elementWhite;
private T m_elementEmpty;
}