Interface ReadLinkAction

    • Method Detail

      • setResult

        void setResult​(OutputPin value)
        Sets the value of the 'Result' containment reference.
        Parameters:
        value - the new value of the 'Result' containment reference.
        See Also:
        getResult()
      • createResult

        OutputPin createResult​(String name,
                               Type type)
        Creates a new OutputPin,with the specified 'Name', and 'Type', and sets the 'Result' containment reference.
        Parameters:
        name - The 'Name' for the new OutputPin, or null.
        type - The 'Type' for the new OutputPin, or null.
        Returns:
        The new OutputPin.
        See Also:
        getResult()
      • validateOneOpenEnd

        boolean validateOneOpenEnd​(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                                   Map context)
        Exactly one link-end data specification (the 'open' end) must not have an end object input pin. self.endData->select(ed | ed.value->size() = 0)->size() = 1
      • validateTypeAndOrdering

        boolean validateTypeAndOrdering​(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                                        Map context)
        The type and ordering of the result output pin are same as the type and ordering of the open association end. let openend : AssociationEnd = self.endData->select(ed | ed.value->size() = 0)->asSequence()->first().end in self.result.type = openend.type and self.result.ordering = openend.ordering
      • validateCompatibleMultiplicity

        boolean validateCompatibleMultiplicity​(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                                               Map context)
        The multiplicity of the open association end must be compatible with the multiplicity of the result output pin. let openend : AssociationEnd = self.endData->select(ed | ed.value->size() = 0)->asSequence()->first().end in openend.multiplicity.compatibleWith(self.result.multiplicity)
      • validateNavigableOpenEnd

        boolean validateNavigableOpenEnd​(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                                         Map context)
        The open end must be navigable. let openend : AssociationEnd = self.endData->select(ed | ed.value->size() = 0)->asSequence()->first().end in openend.isNavigable()
      • validateVisibility

        boolean validateVisibility​(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                                   Map context)
        Visibility of the open end must allow access to the object performing the action. let host : Classifier = self.context in let openend : AssociationEnd = self.endData->select(ed | ed.value->size() = 0)->asSequence()->first().end in openend.visibility = #public or self.endData->exists(oed | not oed.end = openend and (host = oed.end.participant or (openend.visibility = #protected and host.allSupertypes->includes(oed.end.participant))))