org.rubato.math.yoneda
Interface MorphismMap

All Superinterfaces:
java.lang.Cloneable, java.lang.Comparable<MorphismMap>, java.io.Serializable, XMLInputOutput<MorphismMap>
All Known Implementing Classes:
AutoListMorphismMap, ConstantModuleMorphismMap, EmptyMorphismMap, IndexMorphismMap, ListMorphismMap, ModuleMorphismMap

public interface MorphismMap
extends java.lang.Cloneable, java.lang.Comparable<MorphismMap>, java.io.Serializable, XMLInputOutput<MorphismMap>

The implementation or "formula" of a morphism. Every morphism contains such a map.

Author:
Gérard Milmeister, Stefan Müller, Stefan Göller

Method Summary
 MorphismMap at(ModuleElement element)
          Evaluates the map at an element.
 MorphismMap changeAddress(Module address)
          Makes an address change.
 MorphismMap changeAddress(ModuleMorphism morphism)
          Makes an address change using a module morphism.
 java.lang.Object clone()
          Returns a deep copy of this MorphismMap.
 int compareTo(MorphismMap object)
           
 MorphismMap copy()
          Returns a deep copy of this MorphismMap.
 boolean fullEquals(MorphismMap m, java.util.IdentityHashMap<java.lang.Object,java.lang.Object> s)
           
 java.util.LinkedList<Denotator> getDenotatorDependencies(java.util.LinkedList<Denotator> list)
           
 java.util.LinkedList<Form> getFormDependencies(java.util.LinkedList<Form> list)
           
 int hashCode()
          Every morphism map must have a hash function.
 boolean resolveReferences(RubatoDictionary dict, java.util.IdentityHashMap<?,?> history)
           
 
Methods inherited from interface org.rubato.xml.XMLInputOutput
fromXML, getElementTypeName, toXML
 

Method Detail

at

MorphismMap at(ModuleElement element)
               throws MappingException
Evaluates the map at an element. This applies when the morphism map is not null addressed. If it is null addressed, it is returned unchanged.

Parameters:
element - evaluate at this element
Returns:
a new morphism map if there has been any change
Throws:
MappingException - if mapping fails

clone

java.lang.Object clone()
Returns a deep copy of this MorphismMap.


copy

MorphismMap copy()
Returns a deep copy of this MorphismMap.


compareTo

int compareTo(MorphismMap object)
Specified by:
compareTo in interface java.lang.Comparable<MorphismMap>

changeAddress

MorphismMap changeAddress(Module address)
Makes an address change.

Parameters:
address - the new address of the denotator
Returns:
a copy of this morphism with address newAddress or null if address changed fails

changeAddress

MorphismMap changeAddress(ModuleMorphism morphism)
Makes an address change using a module morphism.

Parameters:
morphism - the address changing morphism
Returns:
a copy of this morphism with the new address or null if address change fails

hashCode

int hashCode()
Every morphism map must have a hash function.

Overrides:
hashCode in class java.lang.Object
Returns:
the hashcode of this morphism map

fullEquals

boolean fullEquals(MorphismMap m,
                   java.util.IdentityHashMap<java.lang.Object,java.lang.Object> s)

getFormDependencies

java.util.LinkedList<Form> getFormDependencies(java.util.LinkedList<Form> list)

getDenotatorDependencies

java.util.LinkedList<Denotator> getDenotatorDependencies(java.util.LinkedList<Denotator> list)

resolveReferences

boolean resolveReferences(RubatoDictionary dict,
                          java.util.IdentityHashMap<?,?> history)