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:
Externalizable,Serializable,CodedHierarchy<T>,HierarchyEncoder<T>
- Direct Known Subclasses:
TraitRegistryImpl.CachingHierarcyEncoderImpl
public class HierarchyEncoderImpl<T> extends CodedHierarchyImpl<T> implements HierarchyEncoder<T>, 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 Set<HierNode<T>>ceil(Set<HierNode<T>> s)voidclear()protected voidencode(HierNode<T> node)BitSetencode(T member, Collection<T> parents)protected Set<HierNode<T>>floor(Set<HierNode<T>> s)protected intfreeBit(HierNode<T> x)protected intfreeBit(HierNode<T> x, HierNode<T> z)protected Set<HierNode<T>>gcs(Set<HierNode<T>> set)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(ObjectInput objectInput)protected voidresolveConflicts(HierNode<T> x)protected voidupdateMask(HierNode<T> node, BitSet mask)voidwriteExternal(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 BitSet getBottom()
- Specified by:
getBottomin interfaceHierarchyEncoder<T>
-
writeExternal
public void writeExternal(ObjectOutput objectOutput) throws IOException
- Specified by:
writeExternalin interfaceExternalizable- Overrides:
writeExternalin classAbstractBitwiseHierarchyImpl<T,HierNode<T>>- Throws:
IOException
-
readExternal
public void readExternal(ObjectInput objectInput) throws IOException, ClassNotFoundException
- Specified by:
readExternalin interfaceExternalizable- Overrides:
readExternalin classAbstractBitwiseHierarchyImpl<T,HierNode<T>>- Throws:
IOExceptionClassNotFoundException
-
encode
public BitSet encode(T member, 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>>
-
-