Package org.drools.traits.core.util
Class HierarchyEncoderImpl<T>
- java.lang.Object
-
- org.drools.traits.core.util.AbstractBitwiseHierarchyImpl<T,HierNode<T>>
-
- org.drools.traits.core.util.AbstractCodedHierarchyImpl<T>
-
- org.drools.traits.core.util.CodedHierarchyImpl<T>
-
- org.drools.traits.core.util.HierarchyEncoderImpl<T>
-
- Type Parameters:
T-
- All Implemented Interfaces:
java.io.Externalizable,java.io.Serializable,CodedHierarchy<T>,HierarchyEncoder<T>
- Direct Known Subclasses:
TraitRegistryImpl.CachingHierarcyEncoderImpl
public class HierarchyEncoderImpl<T> extends CodedHierarchyImpl<T> implements HierarchyEncoder<T>, java.io.Externalizable
Encodes a hierachy using bit masks, according to the algorithm described in M.F. van Bommel, P. Wang, Encoding Multiple Inheritance Hierarchies for Lattice Operations Data & Knowledge Engineering 50 (2004) 175-194- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.drools.traits.core.util.AbstractBitwiseHierarchyImpl
AbstractBitwiseHierarchyImpl.HierCodeComparator
-
-
Field Summary
-
Fields inherited from class org.drools.traits.core.util.CodedHierarchyImpl
cache
-
Fields inherited from class org.drools.traits.core.util.AbstractBitwiseHierarchyImpl
fixedRoot, line
-
-
Constructor Summary
Constructors Constructor Description HierarchyEncoderImpl()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidadd(HierNode<T> node)protected java.util.Set<HierNode<T>>ceil(java.util.Set<HierNode<T>> s)voidclear()protected voidencode(HierNode<T> node)java.util.BitSetencode(T member, java.util.Collection<T> parents)protected java.util.Set<HierNode<T>>floor(java.util.Set<HierNode<T>> s)protected intfreeBit(HierNode<T> x)protected intfreeBit(HierNode<T> x, HierNode<T> z)protected java.util.Set<HierNode<T>>gcs(java.util.Set<HierNode<T>> set)java.util.BitSetgetBottom()protected booleanincomparable(HierNode<T> c1, HierNode<T> c2)protected voidinheritMerged(HierNode<T> x)protected voidmodify(HierNode<T> x, HierNode<T> y)protected voidpropagate(HierNode<T> y, int bit)voidreadExternal(java.io.ObjectInput objectInput)protected voidresolveConflicts(HierNode<T> x)protected voidupdateMask(HierNode<T> node, java.util.BitSet mask)voidwriteExternal(java.io.ObjectOutput objectOutput)-
Methods inherited from class org.drools.traits.core.util.CodedHierarchyImpl
getNode, toString
-
Methods inherited from class org.drools.traits.core.util.AbstractCodedHierarchyImpl
addMember, ancestorNodes, ancestors, ancestors, ancestorValues, children, children, childrenValues, descendantNodes, descendants, descendants, descendantValues, parentValues, removeMember, removeMember
-
Methods inherited from class org.drools.traits.core.util.AbstractBitwiseHierarchyImpl
contains, getCode, getMember, getNodeByKey, getNodes, getSortedMap, getSortedMembers, hasKey, immediateChildren, immediateParents, isEmpty, joinCode, jointMembersCode, lowerBorder, lowerDescendants, meetCode, metMembersCode, numBit, parents, parents, remove, size, stringToBitSet, superset, toBinaryString, toBinaryString, upperAncestors, upperBorder
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.drools.traits.core.factmodel.CodedHierarchy
addMember, ancestors, ancestors, children, children, descendants, descendants, getCode, getMember, getSortedMap, getSortedMembers, hasKey, immediateChildren, immediateParents, joinCode, jointMembersCode, lowerBorder, lowerDescendants, meetCode, metMembersCode, parents, parents, removeMember, removeMember, size, upperAncestors, upperBorder
-
-
-
-
Method Detail
-
getBottom
public java.util.BitSet getBottom()
- Specified by:
getBottomin interfaceHierarchyEncoder<T>
-
writeExternal
public void writeExternal(java.io.ObjectOutput objectOutput) throws java.io.IOException- Specified by:
writeExternalin interfacejava.io.Externalizable- Overrides:
writeExternalin classAbstractBitwiseHierarchyImpl<T,HierNode<T>>- 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- Overrides:
readExternalin classAbstractBitwiseHierarchyImpl<T,HierNode<T>>- Throws:
java.io.IOExceptionjava.lang.ClassNotFoundException
-
encode
public java.util.BitSet encode(T member, java.util.Collection<T> parents)
- Specified by:
encodein interfaceHierarchyEncoder<T>
-
add
protected void add(HierNode<T> node)
- Overrides:
addin classCodedHierarchyImpl<T>
-
clear
public void clear()
- Specified by:
clearin interfaceHierarchyEncoder<T>- Overrides:
clearin classAbstractBitwiseHierarchyImpl<T,HierNode<T>>
-
-