org.rubato.math.yoneda
Class RepresentableIdentityMorphism

java.lang.Object
  extended by org.rubato.math.yoneda.Morphism
      extended by org.rubato.math.yoneda.IdentityMorphism
          extended by org.rubato.math.yoneda.RepresentableIdentityMorphism
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, java.lang.Comparable<Morphism>, Yoneda, XMLInputOutput<Morphism>

public final class RepresentableIdentityMorphism
extends IdentityMorphism

Identity morphism representing a module "object". Thus it is "representable".

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

Field Summary
 
Fields inherited from interface org.rubato.math.yoneda.Yoneda
COLIMIT, LIMIT, LIST, POWER, SIMPLE
 
Constructor Summary
RepresentableIdentityMorphism(Module module)
          Creates an identity morphism representing the given module.
RepresentableIdentityMorphism(Module module, ModuleElement lowValue, ModuleElement highValue)
          Creates an identity morphism representing the given module.
 
Method Summary
 Morphism at(ModuleElement element)
          Evaluates this morphism at address element.
 Morphism changeAddress(Module address)
          Makes an address change.
 Morphism changeAddress(ModuleMorphism morphism)
          Makes an address change using a module morphism.
 int compareTo(Morphism object)
           
 RepresentableIdentityMorphism copy()
          Returns a deep copy of this morphism.
 boolean equals(java.lang.Object object)
          Returns true iff this morphism is equal to the specified object.
 Morphism fromXML(XMLReader reader, org.w3c.dom.Element element)
          Reads XML representation from reader starting with element.
 boolean fullEquals(Morphism m, java.util.IdentityHashMap<java.lang.Object,java.lang.Object> s)
           
 java.util.LinkedList<Denotator> getDenotatorDependencies(java.util.LinkedList<Denotator> list)
          Adds the denotator dependencies of this morphism to list.
 Diagram getDiagram()
          Returns the diagram of this identity morphism.
 java.lang.String getElementTypeName()
          Returns the value of the type attribute for this class.
 java.util.LinkedList<Form> getFormDependencies(java.util.LinkedList<Form> list)
          Adds the form dependencies of this morphism to list.
 ModuleElement getHighValue()
           
 ModuleElement getLowValue()
           
 Module getModule()
          Returns the module of this identity morphism.
 int getMorphOrder()
          Returns an integer indicating the position in the morphism ordering.
 int getType()
          Returns the type of this identity morphism.
 boolean hasBounds()
           
 int hashCode()
          Returns a hash code for this morphism.
 boolean isRepresentable()
          Returns true iff this morphism is representable.
 java.lang.String toString()
           
 void toXML(XMLWriter writer)
          Outputs XML representation to writer.
 
Methods inherited from class org.rubato.math.yoneda.IdentityMorphism
getCodomain, getCodomainDiagram, getCodomainModule, getCodomainType, getDomain, getDomainDiagram, getDomainModule, getDomainType, getMap, isIdentity, setMap
 
Methods inherited from class org.rubato.math.yoneda.Morphism
clone
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

RepresentableIdentityMorphism

public RepresentableIdentityMorphism(Module module)
Creates an identity morphism representing the given module.


RepresentableIdentityMorphism

public RepresentableIdentityMorphism(Module module,
                                     ModuleElement lowValue,
                                     ModuleElement highValue)
Creates an identity morphism representing the given module. This variant specifies lower and upper bounds for the values contained in the module.

Method Detail

getDiagram

public Diagram getDiagram()
Description copied from class: IdentityMorphism
Returns the diagram of this identity morphism.

Specified by:
getDiagram in class IdentityMorphism

getModule

public Module getModule()
Description copied from class: IdentityMorphism
Returns the module of this identity morphism.

Specified by:
getModule in class IdentityMorphism

getLowValue

public ModuleElement getLowValue()

getHighValue

public ModuleElement getHighValue()

hasBounds

public boolean hasBounds()

getType

public int getType()
Description copied from class: IdentityMorphism
Returns the type of this identity morphism.

Specified by:
getType in class IdentityMorphism

isRepresentable

public boolean isRepresentable()
Description copied from class: Morphism
Returns true iff this morphism is representable.

Overrides:
isRepresentable in class IdentityMorphism

at

public Morphism at(ModuleElement element)
Description copied from class: Morphism
Evaluates this morphism at address element.

Specified by:
at in class Morphism

changeAddress

public Morphism changeAddress(Module address)
Description copied from class: Morphism
Makes an address change.

Specified by:
changeAddress in class Morphism
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 Morphism changeAddress(ModuleMorphism morphism)
Description copied from class: Morphism
Makes an address change using a module morphism.

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

copy

public RepresentableIdentityMorphism copy()
Description copied from class: Morphism
Returns a deep copy of this morphism.

Specified by:
copy in class Morphism

compareTo

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

equals

public boolean equals(java.lang.Object object)
Description copied from class: Morphism
Returns true iff this morphism is equal to the specified object.

Specified by:
equals in class Morphism

fullEquals

public boolean fullEquals(Morphism m,
                          java.util.IdentityHashMap<java.lang.Object,java.lang.Object> s)
Specified by:
fullEquals in class Morphism

getFormDependencies

public java.util.LinkedList<Form> getFormDependencies(java.util.LinkedList<Form> list)
Description copied from class: Morphism
Adds the form dependencies of this morphism to list.

Specified by:
getFormDependencies in class Morphism

getDenotatorDependencies

public java.util.LinkedList<Denotator> getDenotatorDependencies(java.util.LinkedList<Denotator> list)
Description copied from class: Morphism
Adds the denotator dependencies of this morphism to list.

Specified by:
getDenotatorDependencies in class Morphism

toString

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

toXML

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


fromXML

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

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.


hashCode

public int hashCode()
Description copied from class: Morphism
Returns a hash code for this morphism.

Specified by:
hashCode in class IdentityMorphism

getMorphOrder

public int getMorphOrder()
Description copied from class: Morphism
Returns an integer indicating the position in the morphism ordering.