Package weka.classifiers.lazy.AM.lattice
Class LinkedLatticeNode<T extends Supracontext>
- java.lang.Object
-
- weka.classifiers.lazy.AM.lattice.LinkedLatticeNode<T>
-
- Type Parameters:
T- The implementation of Supracontext to be stored in this node.
- All Implemented Interfaces:
Supracontext
public class LinkedLatticeNode<T extends Supracontext> extends java.lang.Object implements Supracontext
This class is a decorator which wraps aSupracontextand adds the functionality of a linked node used in certain lattice-filling algorithms. An index is also provided for use in determining when the node was created.
-
-
Constructor Summary
Constructors Constructor Description LinkedLatticeNode(T supra)Create a new node containing the given supracontext.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadd(Subcontext sub)Add a subcontext to this supracontext.Supracontextcopy()Return an exact, deep copy of the supracontext.voiddecrementCount()Decreases the count by one; if this reaches 0, then this Supracontext should be discarded (by the caller).booleanequals(java.lang.Object other)Two Supracontexts are equal if they are of the same class and contain the same subcontexts.LabelgetContext()Retrieve the supracontextual context, represented with aLabelobject.java.math.BigIntegergetCount()java.util.Set<Subcontext>getData()intgetIndex()LinkedLatticeNode<T>getNext()TgetSupracontext()inthashCode()The hashcode depends solely on the set of subcontexts contained in a supracontext.voidincrementCount()Increases count by one.LinkedLatticeNode<T>insertAfter(Subcontext sub, int ind)Create a new node by copying this one, adding the given subcontext and setting the index to that provided.booleanisEmpty()voidsetCount(java.math.BigInteger count)Set the count of the supracontext.voidsetNext(LinkedLatticeNode<T> next)Set the next node linked to by this nodejava.lang.StringtoString()
-
-
-
Constructor Detail
-
LinkedLatticeNode
public LinkedLatticeNode(T supra)
Create a new node containing the given supracontext. The index is set to -1.- Parameters:
supra- Supracontext to store in this node.
-
-
Method Detail
-
insertAfter
public LinkedLatticeNode<T> insertAfter(Subcontext sub, int ind)
Create a new node by copying this one, adding the given subcontext and setting the index to that provided. Insert the new node between this node and its next node by setting the new node to be the next node and setting the previous next node to be the new node's next node.- Parameters:
sub- Subcontext to insert into the copied Supracontextind- index of new node
-
getNext
public LinkedLatticeNode<T> getNext()
- Returns:
- the next node linked to by this node
-
setNext
public void setNext(LinkedLatticeNode<T> next)
Set the next node linked to by this node- Parameters:
next- the node to link to
-
getIndex
public int getIndex()
- Returns:
- The index of this node.
-
incrementCount
public void incrementCount()
Increases count by one.
-
decrementCount
public void decrementCount()
Decreases the count by one; if this reaches 0, then this Supracontext should be discarded (by the caller).- Throws:
java.lang.IllegalStateException- if the count is already zero.
-
getSupracontext
public T getSupracontext()
- Returns:
- The supracontext contained in this node.
-
copy
public Supracontext copy()
Description copied from interface:SupracontextReturn an exact, deep copy of the supracontext. The new object should be an instance of the same class as the calling object.- Specified by:
copyin interfaceSupracontext- Returns:
- a deep copy of this supracontext.
-
add
public void add(Subcontext sub)
Description copied from interface:SupracontextAdd a subcontext to this supracontext.- Specified by:
addin interfaceSupracontext- Parameters:
sub- Subcontext to add to the supracontext.
-
getData
public java.util.Set<Subcontext> getData()
- Specified by:
getDatain interfaceSupracontext- Returns:
- an unmodifiable view of the set of subcontexts contained in this supracontext.
-
isEmpty
public boolean isEmpty()
- Specified by:
isEmptyin interfaceSupracontext- Returns:
- true if this supracontext contains no subcontexts; false otherwise.
-
getCount
public java.math.BigInteger getCount()
- Specified by:
getCountin interfaceSupracontext- Returns:
- the number of copies of this supracontext contained in the lattice
-
setCount
public void setCount(java.math.BigInteger count)
Description copied from interface:SupracontextSet the count of the supracontext.- Specified by:
setCountin interfaceSupracontext- Parameters:
count- the count
-
getContext
public Label getContext()
Description copied from interface:SupracontextRetrieve the supracontextual context, represented with aLabelobject. Label mismatches should be interpreted as "contained subcontexts may or may not match for this attribute, while matches should be regarded as "all contained subcontexts matched for this attribute". The running time for this default implementation is linear in the number of contained subcontexts.- Specified by:
getContextin interfaceSupracontext- Returns:
- The context for this supracontext, or
nullif the subcontexts are empty
-
equals
public boolean equals(java.lang.Object other)
Description copied from interface:SupracontextTwo Supracontexts are equal if they are of the same class and contain the same subcontexts.- Specified by:
equalsin interfaceSupracontext- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
Description copied from interface:SupracontextThe hashcode depends solely on the set of subcontexts contained in a supracontext.- Specified by:
hashCodein interfaceSupracontext- Overrides:
hashCodein classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-