java.lang.Object
javax.swing.tree.DefaultMutableTreeNode
cgsuite.ui.MoveTreeNode
- All Implemented Interfaces:
- java.lang.Cloneable, java.lang.Comparable, javax.swing.tree.MutableTreeNode, java.io.Serializable, javax.swing.tree.TreeNode
- class MoveTreeNode
- extends javax.swing.tree.DefaultMutableTreeNode
- implements java.lang.Comparable
A single move in an ongoing game. This includes a Game (the
position resulting from the move) and whether the move was taken by
left, by right, available to either, or was the result of a free
edit. Note that this information is not dependant on the Game
itself, and may not be correct.
Created: Fri Jun 6 16:47:21 2003
- Version:
- $Revision: 1.3 $ $Date: 2003/10/14 05:30:39 $
| Methods inherited from class javax.swing.tree.DefaultMutableTreeNode |
add, breadthFirstEnumeration, children, clone, depthFirstEnumeration, getAllowsChildren, getChildAfter, getChildAt, getChildBefore, getChildCount, getDepth, getFirstChild, getFirstLeaf, getIndex, getLastChild, getLastLeaf, getLeafCount, getLevel, getNextLeaf, getNextNode, getNextSibling, getParent, getPath, getPathToRoot, getPreviousLeaf, getPreviousNode, getPreviousSibling, getRoot, getSharedAncestor, getSiblingCount, getUserObject, getUserObjectPath, insert, isLeaf, isNodeAncestor, isNodeChild, isNodeDescendant, isNodeRelated, isNodeSibling, isRoot, pathFromAncestorEnumeration, postorderEnumeration, preorderEnumeration, remove, remove, removeAllChildren, removeFromParent, setAllowsChildren, setParent, setUserObject |
MOVE_TYPE_ROOT
static final int MOVE_TYPE_ROOT
- See Also:
- Constant Field Values
MOVE_TYPE_LEFT
static final int MOVE_TYPE_LEFT
- See Also:
- Constant Field Values
MOVE_TYPE_EITHER
static final int MOVE_TYPE_EITHER
- See Also:
- Constant Field Values
MOVE_TYPE_RIGHT
static final int MOVE_TYPE_RIGHT
- See Also:
- Constant Field Values
moveType
int moveType
game
cgsuite.Game game
canonicalForm
cgsuite.CanonicalGame canonicalForm
positionNumber
int positionNumber
MoveTreeNode
public MoveTreeNode(int moveType,
cgsuite.Game game,
int positionNumber)
toString
public java.lang.String toString()
- Description copied from class:
javax.swing.tree.DefaultMutableTreeNode
- Returns a string representation of the node. This implementation returns
getUserObject().toString(), or null if there
is no user object.
compareTo
public int compareTo(java.lang.Object o)
- Ordering first in terms of the move (left < impartial <
right), then in terms of the game value (using the general
comparator). Note that this will consider different nodes
that contain the same game, but are listed as different
move types. This is a tree convention, not
theory-based.
- Specified by:
compareTo in interface java.lang.Comparable
equals
public boolean equals(java.lang.Object o)
- Description copied from class:
java.lang.Object
- Determine whether this Object is semantically equal
to another Object.
There are some fairly strict requirements on this
method which subclasses must follow:
- It must be transitive. If
a.equals(b) and
b.equals(c), then a.equals(c)
must be true as well.
- It must be symmetric.
a.equals(b) and
b.equals(a) must have the same value.
- It must be reflexive.
a.equals(a) must
always be true.
- It must be consistent. Whichever value a.equals(b)
returns on the first invocation must be the value
returned on all later invocations.
a.equals(null) must be false.
- It must be consistent with hashCode(). That is,
a.equals(b) must imply
a.hashCode() == b.hashCode().
The reverse is not true; two objects that are not
equal may have the same hashcode, but that has
the potential to harm hashing performance.
This is typically overridden to throw a java.lang.ClassCastException
if the argument is not comparable to the class performing
the comparison, but that is not a requirement. It is legal
for a.equals(b) to be true even though
a.getClass() != b.getClass(). Also, it
is typical to never cause a java.lang.NullPointerException.
In general, the Collections API (java.util) use the
equals method rather than the ==
operator to compare objects. However, java.util.IdentityHashMap
is an exception to this rule, for its own good reasons.
The default implementation returns this == o.
getMoveType
public int getMoveType()
getPositionNumber
public int getPositionNumber()
getGame
public cgsuite.Game getGame()