syside.ReferentAccessor

class ReferentAccessor

Bases: syside.MemberAccessor[syside.Membership, syside.Feature]

set_member_element(element: syside.ReferentAccessor.set_member_element.M, name: syside.NameID = ...) tuple[syside.Membership, syside.ReferentAccessor.set_member_element.M]

Set a new member_element. element will only be referenced if the membership is Membership, otherwise ownership constraints apply. Replaces the previous member_element, which may be reused by the model if it was owned.

Returns a pair of (membership, member_element) where member_element is element.

set_member_element(element: syside.ReferentAccessor.set_member_element.M | None, name: syside.NameID = ...) tuple[syside.Membership, syside.ReferentAccessor.set_member_element.M] | None

set_member_element overload that will remove the member element if element is None, otherwise the behaviour is the same.

set_owned_expression(arg: syside.ReferentAccessor.set_owned_expression.M, /) tuple[syside.FeatureMembership, syside.ReferentAccessor.set_owned_expression.M]

Set the referent to an owned Expression. Ownership constraints apply.

Returns a pair of (feature_membership, referent).

set_owned_expression(arg: type[syside.ReferentAccessor.set_owned_expression.M], /) tuple[syside.FeatureMembership, syside.ReferentAccessor.set_owned_expression.M]

Set the referent to an empty Expression with the corresponding tye.

Returns a pair of (feature_membership, referent). Note that empty Expressions may not be representable in textual syntax.

property membership: syside.R

The membership of this member if it is not empty.

property member_element: syside.M

The member_element of this member if it is not empty.

remove_member_element() None

Remove the member_element leaving this member empty. Note that not all empty members are valid textual syntax. This does not check that the model is left in a valid state.

__bool__() bool
classmethod __class_getitem__(item)