org.eclipse.ocl.examples.codegen.cse
Class HashedAnalyses

java.lang.Object
  extended by org.eclipse.ocl.examples.codegen.cse.HashedAnalyses
All Implemented Interfaces:
java.lang.Iterable<AbstractAnalysis>

public class HashedAnalyses
extends java.lang.Object
implements java.lang.Iterable<AbstractAnalysis>

HashedAnalyses maintains a Map from Structural Hash Code to Collection of structurally distinct AbstractAnalysis instances; distinct from all others according to an isStructurallyEqualTo comparison.

The map is initially populated with SimpleAnalysis instances, which may evolve to SharedAnalysis instances as additional structurally idenmtical AbstractAnalysis instnaces are added.


Constructor Summary
HashedAnalyses()
           
 
Method Summary
 AbstractAnalysis add(AbstractAnalysis anAnalysis)
           
 AbstractAnalysis addSimpleAnalysis(SimpleAnalysis anAnalysis)
           
 AbstractAnalysis get(AbstractAnalysis childAnalysis)
           
static HashedAnalyses intersection(HashedAnalyses iHash2Analyses, HashedAnalyses jHash2Analyses)
           
 boolean isEmpty()
           
 java.util.Iterator<AbstractAnalysis> iterator()
           
static
<V> void
printIndented(java.lang.Appendable appendable, com.google.common.collect.Multimap<java.lang.Integer,V> map, java.lang.String indentation, java.lang.String title)
           
 AbstractAnalysis remove(AbstractAnalysis thatAnalysis)
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

HashedAnalyses

public HashedAnalyses()
Method Detail

intersection

@Nullable
public static HashedAnalyses intersection(@NonNull
                                                   HashedAnalyses iHash2Analyses,
                                                   @NonNull
                                                   HashedAnalyses jHash2Analyses)

printIndented

public static <V> void printIndented(@NonNull
                                     java.lang.Appendable appendable,
                                     @NonNull
                                     com.google.common.collect.Multimap<java.lang.Integer,V> map,
                                     @NonNull
                                     java.lang.String indentation,
                                     @NonNull
                                     java.lang.String title)

add

@NonNull
public AbstractAnalysis add(@NonNull
                                    AbstractAnalysis anAnalysis)

addSimpleAnalysis

@NonNull
public AbstractAnalysis addSimpleAnalysis(@NonNull
                                                  SimpleAnalysis anAnalysis)

get

@Nullable
public AbstractAnalysis get(@NonNull
                                     AbstractAnalysis childAnalysis)

isEmpty

public boolean isEmpty()

iterator

@NonNull
public java.util.Iterator<AbstractAnalysis> iterator()
Specified by:
iterator in interface java.lang.Iterable<AbstractAnalysis>

remove

@Nullable
public AbstractAnalysis remove(@NonNull
                                        AbstractAnalysis thatAnalysis)

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object