Drools :: Core 6.0.0.Beta5

org.drools.core.util
Class HierarchyEncoderImpl<T>

java.lang.Object
  extended by org.drools.core.util.CodedHierarchyImpl<T>
      extended by org.drools.core.util.HierarchyEncoderImpl<T>
Type Parameters:
T -
All Implemented Interfaces:
Externalizable, Serializable, CodedHierarchy<T>, HierarchyEncoder<T>

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 Enfineering 50 (2004) 175-194

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class org.drools.core.util.CodedHierarchyImpl
CodedHierarchyImpl.HierCodeComparator, CodedHierarchyImpl.HierNode<T>
 
Field Summary
 
Fields inherited from class org.drools.core.util.CodedHierarchyImpl
fixedRoot, line
 
Constructor Summary
HierarchyEncoderImpl()
           
 
Method Summary
protected  void add(CodedHierarchyImpl.HierNode<T> node)
           
protected  Set<CodedHierarchyImpl.HierNode<T>> ceil(Set<CodedHierarchyImpl.HierNode<T>> s)
           
 void clear()
           
protected  void encode(CodedHierarchyImpl.HierNode<T> node)
           
 BitSet encode(T member, Collection<T> parents)
           
protected  Set<CodedHierarchyImpl.HierNode<T>> floor(Set<CodedHierarchyImpl.HierNode<T>> s)
           
protected  int freeBit(CodedHierarchyImpl.HierNode<T> x)
           
protected  int freeBit(CodedHierarchyImpl.HierNode<T> x, CodedHierarchyImpl.HierNode<T> z)
           
protected  Set<CodedHierarchyImpl.HierNode<T>> gcs(Set<CodedHierarchyImpl.HierNode<T>> set)
           
 BitSet getBottom()
           
protected  boolean incomparable(CodedHierarchyImpl.HierNode<T> c1, CodedHierarchyImpl.HierNode<T> c2)
           
protected  void inheritMerged(CodedHierarchyImpl.HierNode<T> x)
           
protected  void modify(CodedHierarchyImpl.HierNode<T> x, CodedHierarchyImpl.HierNode<T> y)
           
protected  void propagate(CodedHierarchyImpl.HierNode<T> y, int bit)
           
 void readExternal(ObjectInput objectInput)
           
protected  void resolveConflicts(CodedHierarchyImpl.HierNode<T> x)
           
protected  void updateMask(CodedHierarchyImpl.HierNode<T> node, BitSet mask)
           
 void writeExternal(ObjectOutput objectOutput)
           
 
Methods inherited from class org.drools.core.util.CodedHierarchyImpl
addMember, ancestorNodes, ancestors, ancestors, ancestorValues, children, children, childrenValues, contains, descendantNodes, descendants, descendants, descendantValues, getCode, getMember, getNode, getNodeByKey, getNodes, getSortedMap, getSortedMembers, hasKey, immediateChildren, immediateParents, joinCode, jointMembersCode, lowerBorder, lowerDescendants, meetCode, metMembersCode, parents, parents, parentValues, remove, removeMember, removeMember, size, stringToBitSet, supersetOrEqualset, toBinaryString, toBinaryString, toString, 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.core.util.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 Detail

HierarchyEncoderImpl

public HierarchyEncoderImpl()
Method Detail

getBottom

public BitSet getBottom()
Specified by:
getBottom in interface HierarchyEncoder<T>

writeExternal

public void writeExternal(ObjectOutput objectOutput)
                   throws IOException
Specified by:
writeExternal in interface Externalizable
Overrides:
writeExternal in class CodedHierarchyImpl<T>
Throws:
IOException

readExternal

public void readExternal(ObjectInput objectInput)
                  throws IOException,
                         ClassNotFoundException
Specified by:
readExternal in interface Externalizable
Overrides:
readExternal in class CodedHierarchyImpl<T>
Throws:
IOException
ClassNotFoundException

encode

public BitSet encode(T member,
                     Collection<T> parents)
Specified by:
encode in interface HierarchyEncoder<T>

add

protected void add(CodedHierarchyImpl.HierNode<T> node)
Overrides:
add in class CodedHierarchyImpl<T>

clear

public void clear()
Specified by:
clear in interface HierarchyEncoder<T>
Overrides:
clear in class CodedHierarchyImpl<T>

encode

protected void encode(CodedHierarchyImpl.HierNode<T> node)

resolveConflicts

protected void resolveConflicts(CodedHierarchyImpl.HierNode<T> x)

modify

protected void modify(CodedHierarchyImpl.HierNode<T> x,
                      CodedHierarchyImpl.HierNode<T> y)

updateMask

protected void updateMask(CodedHierarchyImpl.HierNode<T> node,
                          BitSet mask)

inheritMerged

protected void inheritMerged(CodedHierarchyImpl.HierNode<T> x)

gcs

protected Set<CodedHierarchyImpl.HierNode<T>> gcs(Set<CodedHierarchyImpl.HierNode<T>> set)

ceil

protected Set<CodedHierarchyImpl.HierNode<T>> ceil(Set<CodedHierarchyImpl.HierNode<T>> s)

floor

protected Set<CodedHierarchyImpl.HierNode<T>> floor(Set<CodedHierarchyImpl.HierNode<T>> s)

propagate

protected void propagate(CodedHierarchyImpl.HierNode<T> y,
                         int bit)

freeBit

protected int freeBit(CodedHierarchyImpl.HierNode<T> x)

freeBit

protected int freeBit(CodedHierarchyImpl.HierNode<T> x,
                      CodedHierarchyImpl.HierNode<T> z)

incomparable

protected boolean incomparable(CodedHierarchyImpl.HierNode<T> c1,
                               CodedHierarchyImpl.HierNode<T> c2)

Drools :: Core 6.0.0.Beta5

Copyright © 2001-2013 JBoss by Red Hat. All Rights Reserved.