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:
-
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
cacheFields inherited from class org.drools.traits.core.util.AbstractBitwiseHierarchyImpl
fixedRoot, line -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidvoidclear()protected voidencode(T member, Collection<T> parents) protected intprotected intprotected booleanincomparable(HierNode<T> c1, HierNode<T> c2) protected voidinheritMerged(HierNode<T> x) protected voidprotected voidvoidreadExternal(ObjectInput objectInput) protected voidprotected voidupdateMask(HierNode<T> node, BitSet mask) voidwriteExternal(ObjectOutput objectOutput) Methods inherited from class org.drools.traits.core.util.CodedHierarchyImpl
getNode, toStringMethods inherited from class org.drools.traits.core.util.AbstractCodedHierarchyImpl
addMember, ancestorNodes, ancestors, ancestors, ancestorValues, children, children, childrenValues, descendantNodes, descendants, descendants, descendantValues, parentValues, removeMember, removeMemberMethods 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, upperBorderMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods 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
-
Constructor Details
-
HierarchyEncoderImpl
public HierarchyEncoderImpl()
-
-
Method Details
-
getBottom
- Specified by:
getBottomin interfaceHierarchyEncoder<T>
-
writeExternal
- Specified by:
writeExternalin interfaceExternalizable- Overrides:
writeExternalin classAbstractBitwiseHierarchyImpl<T,HierNode<T>> - Throws:
IOException
-
readExternal
- Specified by:
readExternalin interfaceExternalizable- Overrides:
readExternalin classAbstractBitwiseHierarchyImpl<T,HierNode<T>> - Throws:
IOExceptionClassNotFoundException
-
encode
- Specified by:
encodein interfaceHierarchyEncoder<T>
-
add
- Overrides:
addin classCodedHierarchyImpl<T>
-
clear
public void clear()- Specified by:
clearin interfaceHierarchyEncoder<T>- Overrides:
clearin classAbstractBitwiseHierarchyImpl<T,HierNode<T>>
-
encode
-
resolveConflicts
-
modify
-
updateMask
-
inheritMerged
-
gcs
-
ceil
-
floor
-
propagate
-
freeBit
-
freeBit
-
incomparable
-