Endomorphism

onera.pmlanalyzer.pml.model.relations.Endomorphism
abstract class Endomorphism[A](iniValues: Map[A, Set[A]])(using n: Name) extends Relation[A, A]

Refinement for endomorphisms (relation on the same type A)

Attributes

A

the elements type

iniValues

initial values of the relation

Graph
Supertypes
class Relation[A, A]
class Object
trait Matchable
class Any
Known subtypes

Members list

Concise view

Value members

Concrete methods

def closure(a: A): Set[A]

Provide the reflexive and transitive closure of a by the endomorphism

Provide the reflexive and transitive closure of a by the endomorphism

Attributes

a

the input element

Returns:

the set of all elements indirectly related to a

def inverseClosure(a: A): Set[A]

Provide the reflexive and transitive inverse closure of a by the endomorphism

Provide the reflexive and transitive inverse closure of a by the endomorphism

Attributes

a

the input element

Returns:

the set of all elements that indirectly relate to a

override def remove(a: A): Unit

Remove an element from both the input and output set

Remove an element from both the input and output set

Attributes

a

the element to remove

Definition Classes

Inherited methods

def add(a: A, b: Iterable[A]): Unit

Add a collection of b elements to a Warning if the b is empty then all the element linked to a are removed (STRANGE)

Add a collection of b elements to a Warning if the b is empty then all the element linked to a are removed (STRANGE)

Attributes

a

the input element

b

the collection of new elements

Inherited from:
Relation
def add(a: A, b: A): Unit

Add the element b to a

Add the element b to a

Attributes

a

the input element

b

the new element

Inherited from:
Relation
def apply(a: A): Set[R]

Provide the elements in relation with a WARNING the function returns an empty set either if a is not in the relation or if no elements are associated to a

Provide the elements in relation with a WARNING the function returns an empty set either if a is not in the relation or if no elements are associated to a

Attributes

a

the input element

Returns:

the set of related elements

Inherited from:
Relation
def domain: Set[L]

Provide the set of all input elements

Provide the set of all input elements

Attributes

Returns:

the set of input elements

Inherited from:
Relation
def edges: Map[L, Set[R]]

Provide the relation a map of edges

Provide the relation a map of edges

Attributes

Returns:

the map of edges

Inherited from:
Relation
def get(a: A): Option[Set[R]]

Provide the elements in relation with a id a is in the relation

Provide the elements in relation with a id a is in the relation

Attributes

a

the input element

Returns:

the optional set of related elements

Inherited from:
Relation
def inverse(b: A): Set[L]

Provide the elements a in relation with b

Provide the elements a in relation with b

Attributes

b

the output element

Returns:

the set of related inputs

Inherited from:
Relation
def remove(a: A, b: Iterable[A]): Unit

Remove the elements of the collection b from the relation with a

Remove the elements of the collection b from the relation with a

Attributes

a

the input element

b

the removed elements

Inherited from:
Relation
def remove(a: A, b: A): Unit

Remove the element b from the relation with a

Remove the element b from the relation with a

Attributes

a

the input element

b

the removed element

Inherited from:
Relation
def targetSet: Set[R]

Provide the set of all output elements

Provide the set of all output elements

Attributes

Returns:

the set of output elements

Inherited from:
Relation

Inherited fields

val _inverse: HashMap[A, Set[A]]

Attributes

Inherited from:
Relation
val _values: HashMap[A, Set[A]]

Attributes

Inherited from:
Relation
val name: String

Attributes

Inherited from:
Relation