org.rubato.math.yoneda
Class EmptyMorphismMap

java.lang.Object
  extended by org.rubato.math.yoneda.EmptyMorphismMap
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, java.lang.Comparable<MorphismMap>, MorphismMap, XMLInputOutput<MorphismMap>

public final class EmptyMorphismMap
extends java.lang.Object
implements MorphismMap

Empty morphism map to avoid null references.

Author:
Gérard Milmeister, Stefan Müller, Stefan Göller
See Also:
Serialized Form

Field Summary
static EmptyMorphismMap emptyMorphismMap
           
 
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)
           
 EmptyMorphismMap copy()
          Returns a deep copy of this MorphismMap.
 boolean equals(java.lang.Object object)
           
 MorphismMap fromXML(XMLReader reader, org.w3c.dom.Element element)
          Reads XML representation from reader starting with element.
 boolean fullEquals(MorphismMap map, java.util.IdentityHashMap<java.lang.Object,java.lang.Object> s)
           
 java.util.LinkedList<Denotator> getDenotatorDependencies(java.util.LinkedList<Denotator> list)
           
 java.lang.String getElementTypeName()
          Returns the value of the type attribute for this class.
 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)
           
 void toXML(XMLWriter writer)
          Outputs XML representation to writer.
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

emptyMorphismMap

public static final EmptyMorphismMap emptyMorphismMap
Method Detail

compareTo

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

at

public MorphismMap at(ModuleElement element)
Description copied from interface: MorphismMap
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.

Specified by:
at in interface MorphismMap
Parameters:
element - evaluate at this element
Returns:
a new morphism map if there has been any change

changeAddress

public MorphismMap changeAddress(Module address)
Description copied from interface: MorphismMap
Makes an address change.

Specified by:
changeAddress in interface MorphismMap
Parameters:
address - the new address of the denotator
Returns:
a copy of this morphism with address newAddress or null if address changed fails

changeAddress

public MorphismMap changeAddress(ModuleMorphism morphism)
Description copied from interface: MorphismMap
Makes an address change using a module morphism.

Specified by:
changeAddress in interface MorphismMap
Parameters:
morphism - the address changing morphism
Returns:
a copy of this morphism with the new address or null if address change fails

toXML

public void toXML(XMLWriter writer)
Description copied from interface: XMLInputOutput
Outputs XML representation to writer.

Specified by:
toXML in interface XMLInputOutput<MorphismMap>

fromXML

public MorphismMap fromXML(XMLReader reader,
                           org.w3c.dom.Element element)
Description copied from interface: XMLInputOutput
Reads XML representation from reader starting with element.

Specified by:
fromXML in interface XMLInputOutput<MorphismMap>
Returns:
an object of type T or null if parsing failed

getElementTypeName

public java.lang.String getElementTypeName()
Description copied from interface: XMLInputOutput
Returns the value of the type attribute for this class.

Specified by:
getElementTypeName in interface XMLInputOutput<MorphismMap>

clone

public java.lang.Object clone()
Description copied from interface: MorphismMap
Returns a deep copy of this MorphismMap.

Specified by:
clone in interface MorphismMap
Overrides:
clone in class java.lang.Object

copy

public EmptyMorphismMap copy()
Description copied from interface: MorphismMap
Returns a deep copy of this MorphismMap.

Specified by:
copy in interface MorphismMap

equals

public boolean equals(java.lang.Object object)
Overrides:
equals in class java.lang.Object

getFormDependencies

public java.util.LinkedList<Form> getFormDependencies(java.util.LinkedList<Form> list)
Specified by:
getFormDependencies in interface MorphismMap

getDenotatorDependencies

public java.util.LinkedList<Denotator> getDenotatorDependencies(java.util.LinkedList<Denotator> list)
Specified by:
getDenotatorDependencies in interface MorphismMap

resolveReferences

public boolean resolveReferences(RubatoDictionary dict,
                                 java.util.IdentityHashMap<?,?> history)
Specified by:
resolveReferences in interface MorphismMap

fullEquals

public boolean fullEquals(MorphismMap map,
                          java.util.IdentityHashMap<java.lang.Object,java.lang.Object> s)
Specified by:
fullEquals in interface MorphismMap

hashCode

public int hashCode()
Description copied from interface: MorphismMap
Every morphism map must have a hash function.

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