Package org.drools.traits.core.util
Class AbstractBitwiseHierarchyImpl<H,J extends LatticeElement<H>>
- java.lang.Object
-
- org.drools.traits.core.util.AbstractBitwiseHierarchyImpl<H,J>
-
- All Implemented Interfaces:
java.io.Externalizable,java.io.Serializable,CodedHierarchy<H>
- Direct Known Subclasses:
AbstractCodedHierarchyImpl,TypeHierarchy
public abstract class AbstractBitwiseHierarchyImpl<H,J extends LatticeElement<H>> extends java.lang.Object implements java.io.Externalizable, CodedHierarchy<H>
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static classAbstractBitwiseHierarchyImpl.HierCodeComparator
-
Constructor Summary
Constructors Constructor Description AbstractBitwiseHierarchyImpl()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected voidadd(J node)voidclear()protected booleancontains(J node)java.util.BitSetgetCode(H val)HgetMember(java.util.BitSet key)protected abstract JgetNode(H name)protected JgetNodeByKey(java.util.BitSet key)protected java.util.Collection<J>getNodes()java.util.Map<H,java.util.BitSet>getSortedMap()java.util.List<H>getSortedMembers()booleanhasKey(java.util.BitSet key)java.util.Collection<H>immediateChildren(java.util.BitSet key)* Return the "ceiling" of the key's descendants, excluding the element whose code is key, if anyjava.util.Collection<H>immediateParents(java.util.BitSet key)Return the "floor" of the key's ancetsors, down to and excluding the element whose code is keybooleanisEmpty()java.util.BitSetjoinCode(java.util.Collection<java.util.BitSet> codes)java.util.BitSetjointMembersCode(java.util.Collection<H> vals)java.util.Collection<H>lowerBorder(java.util.BitSet key)Return the "ceiling" of the key's descendants, up to and including the element whose code is keyjava.util.Collection<H>lowerDescendants(java.util.BitSet key)Returns all elements whose code is a descendant of keyjava.util.BitSetmeetCode(java.util.Collection<java.util.BitSet> codes)java.util.BitSetmetMembersCode(java.util.Collection<H> vals)protected intnumBit(java.util.BitSet x)java.util.Collection<H>parents(H x)java.util.Collection<H>parents(java.util.BitSet x)protected abstract java.util.Collection<H>parentValues(J node)voidreadExternal(java.io.ObjectInput objectInput)protected voidremove(J node)voidremoveMember(H val)voidremoveMember(java.util.BitSet key)intsize()static java.util.BitSetstringToBitSet(java.lang.String s)intsuperset(java.util.BitSet n1, java.util.BitSet n2)protected java.lang.StringtoBinaryString(java.util.BitSet mask)protected java.lang.StringtoBinaryString(java.util.BitSet mask, int len)java.util.Collection<H>upperAncestors(java.util.BitSet key)Returns all elements whose code is an ancestor of keyjava.util.Collection<H>upperBorder(java.util.BitSet key)Return the "floor" of the key's ancestors, down to and including the element whose code is key, if anyvoidwriteExternal(java.io.ObjectOutput objectOutput)-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.drools.traits.core.factmodel.CodedHierarchy
addMember, ancestors, ancestors, children, children, descendants, descendants
-
-
-
-
Field Detail
-
line
protected java.util.SortedMap<java.util.BitSet,J extends LatticeElement<H>> line
-
fixedRoot
protected boolean fixedRoot
-
-
Method Detail
-
size
public int size()
- Specified by:
sizein interfaceCodedHierarchy<H>
-
getNodeByKey
protected J getNodeByKey(java.util.BitSet key)
-
remove
protected void remove(J node)
-
contains
protected boolean contains(J node)
-
getCode
public java.util.BitSet getCode(H val)
- Specified by:
getCodein interfaceCodedHierarchy<H>
-
metMembersCode
public java.util.BitSet metMembersCode(java.util.Collection<H> vals)
- Specified by:
metMembersCodein interfaceCodedHierarchy<H>
-
jointMembersCode
public java.util.BitSet jointMembersCode(java.util.Collection<H> vals)
- Specified by:
jointMembersCodein interfaceCodedHierarchy<H>
-
meetCode
public java.util.BitSet meetCode(java.util.Collection<java.util.BitSet> codes)
- Specified by:
meetCodein interfaceCodedHierarchy<H>
-
joinCode
public java.util.BitSet joinCode(java.util.Collection<java.util.BitSet> codes)
- Specified by:
joinCodein interfaceCodedHierarchy<H>
-
getSortedMembers
public java.util.List<H> getSortedMembers()
- Specified by:
getSortedMembersin interfaceCodedHierarchy<H>
-
upperAncestors
public java.util.Collection<H> upperAncestors(java.util.BitSet key)
Description copied from interface:CodedHierarchyReturns all elements whose code is an ancestor of key- Specified by:
upperAncestorsin interfaceCodedHierarchy<H>- Returns:
-
lowerBorder
public java.util.Collection<H> lowerBorder(java.util.BitSet key)
Description copied from interface:CodedHierarchyReturn the "ceiling" of the key's descendants, up to and including the element whose code is key- Specified by:
lowerBorderin interfaceCodedHierarchy<H>- Parameters:
key- a key, possibly the meet of a number of member keys- Returns:
-
immediateChildren
public java.util.Collection<H> immediateChildren(java.util.BitSet key)
Description copied from interface:CodedHierarchy* Return the "ceiling" of the key's descendants, excluding the element whose code is key, if any- Specified by:
immediateChildrenin interfaceCodedHierarchy<H>- Parameters:
key- a key, possibly the meet of a number of member keys- Returns:
-
toBinaryString
protected java.lang.String toBinaryString(java.util.BitSet mask)
-
toBinaryString
protected java.lang.String toBinaryString(java.util.BitSet mask, int len)
-
superset
public int superset(java.util.BitSet n1, java.util.BitSet n2)
-
numBit
protected int numBit(java.util.BitSet x)
-
writeExternal
public void writeExternal(java.io.ObjectOutput objectOutput) throws java.io.IOException- Specified by:
writeExternalin interfacejava.io.Externalizable- Throws:
java.io.IOException
-
readExternal
public void readExternal(java.io.ObjectInput objectInput) throws java.io.IOException, java.lang.ClassNotFoundException- Specified by:
readExternalin interfacejava.io.Externalizable- Throws:
java.io.IOExceptionjava.lang.ClassNotFoundException
-
stringToBitSet
public static java.util.BitSet stringToBitSet(java.lang.String s)
-
removeMember
public void removeMember(H val)
- Specified by:
removeMemberin interfaceCodedHierarchy<H>
-
removeMember
public void removeMember(java.util.BitSet key)
- Specified by:
removeMemberin interfaceCodedHierarchy<H>
-
getSortedMap
public java.util.Map<H,java.util.BitSet> getSortedMap()
- Specified by:
getSortedMapin interfaceCodedHierarchy<H>
-
hasKey
public boolean hasKey(java.util.BitSet key)
- Specified by:
hasKeyin interfaceCodedHierarchy<H>
-
lowerDescendants
public java.util.Collection<H> lowerDescendants(java.util.BitSet key)
Description copied from interface:CodedHierarchyReturns all elements whose code is a descendant of key- Specified by:
lowerDescendantsin interfaceCodedHierarchy<H>- Returns:
-
parents
public java.util.Collection<H> parents(H x)
- Specified by:
parentsin interfaceCodedHierarchy<H>
-
parents
public java.util.Collection<H> parents(java.util.BitSet x)
- Specified by:
parentsin interfaceCodedHierarchy<H>
-
upperBorder
public java.util.Collection<H> upperBorder(java.util.BitSet key)
Description copied from interface:CodedHierarchyReturn the "floor" of the key's ancestors, down to and including the element whose code is key, if any- Specified by:
upperBorderin interfaceCodedHierarchy<H>- Parameters:
key- a key, possibly the meet of a number of member keys- Returns:
-
immediateParents
public java.util.Collection<H> immediateParents(java.util.BitSet key)
Description copied from interface:CodedHierarchyReturn the "floor" of the key's ancetsors, down to and excluding the element whose code is key- Specified by:
immediateParentsin interfaceCodedHierarchy<H>- Parameters:
key- a key, possibly the meet of a number of member keys- Returns:
-
isEmpty
public boolean isEmpty()
-
clear
public void clear()
-
add
protected void add(J node)
-
getNodes
protected java.util.Collection<J> getNodes()
-
getMember
public H getMember(java.util.BitSet key)
- Specified by:
getMemberin interfaceCodedHierarchy<H>
-
-