Class ModelTextCreator


  • @OpenApiAll
    public class ModelTextCreator
    extends CoreTextCreator
    Contains methods to create representation text for various model elements
    • Constructor Detail

      • ModelTextCreator

        public ModelTextCreator()
    • Method Detail

      • createActivityEdgeText

        public static TextBuilder createActivityEdgeText​(ActivityEdge activityEdge,
                                                         boolean showWeight,
                                                         java.util.function.Supplier<TextBuilder> builderFactory)
        Creates string representation of the given ActivityEdge.
        Parameters:
        activityEdge - element to create representation text for
        showWeight - when true, weight information will be included to the text
        builderFactory - provides @{link com.nomagic.text.builders.TextBuilder} to append the created text to
        Returns:
        builder with the activity edge's text appended
      • createConstraintsText

        public static TextBuilder createConstraintsText​(java.util.Collection<Constraint> constraints,
                                                        ConstraintTextParams textParams,
                                                        java.lang.String separator,
                                                        java.util.function.Supplier<TextBuilder> builderFactory)
        Creates string representation for the given collection of Constraint elements.
        Parameters:
        constraints - collection of constraint elements to create representation text for
        textParams - configuration that defines what to include in the text of the constraint
        separator - symbol(s) to separate each constraint's text with
        builderFactory - provides @{link com.nomagic.text.builders.TextBuilder} to append the created text to
        Returns:
        builder with the constraints' text appended
        See Also:
        createConstraintText(Constraint, ConstraintTextParams, Supplier)
      • createConstraintText

        public static TextBuilder createConstraintText​(@CheckForNull
                                                       Constraint constraint,
                                                       ConstraintTextParams textParams,
                                                       java.util.function.Supplier<TextBuilder> builderFactory)
        Creates string representation of the given Constraint.
        Parameters:
        constraint - element to create representation text for
        textParams - configuration that defines what to include in the text of the constraint
        builderFactory - provides @{link com.nomagic.text.builders.TextBuilder} to append the created text to
        Returns:
        builder with the constraint's text appended
      • createPinText

        public static TextBuilder createPinText​(Pin pin,
                                                PinTextParams textParams,
                                                java.util.function.Supplier<TextBuilder> builderFactory)
        Creates string representation of the given Pin.
        Parameters:
        pin - element to create representation text for
        textParams - configuration that defines what to include in the text of the pin
        builderFactory - provides @{link com.nomagic.text.builders.TextBuilder} to append the created text to
        Returns:
        builder with the pin's text appended
      • createCombinedFragmentOperatorText

        public static TextBuilder createCombinedFragmentOperatorText​(CombinedFragment combinedFragment,
                                                                     java.util.function.Supplier<TextBuilder> builderFactory)
        Creates string representation of the given CombinedFragment.
        Parameters:
        combinedFragment - element to create representation text for
        builderFactory - provides @{link com.nomagic.text.builders.TextBuilder} to append the created text to
        Returns:
        builder with the combinedFragment's text appended
      • createOperandGuardText

        public static TextBuilder createOperandGuardText​(InteractionOperand interactionOperand,
                                                         java.util.function.Supplier<TextBuilder> builderFactory)
        Creates string representation for the guard of the given InteractionOperand.
        Parameters:
        interactionOperand - element to create representation text for
        builderFactory - provides @{link com.nomagic.text.builders.TextBuilder} to append the created text to
        Returns:
        builder with the guard's text appended
      • createTransitionText

        public static TextBuilder createTransitionText​(Transition transition,
                                                       TransitionTextParams textParams,
                                                       java.util.function.Supplier<TextBuilder> builderFactory)
        Creates string representation of the given Transition. Keep in mind that text is different for protocol transition.
        Syntax of Transition: trigger[guard]/effect.
        Syntax of ProtocolTransition: [precondition]trigger/[postcondition].
        Parameters:
        transition - element to create representation text for
        textParams - configuration that defines what to include in the text of the ?
        builderFactory - provides @{link com.nomagic.text.builders.TextBuilder} to append the created text to
        Returns:
        builder with the transition's text appended
      • createProtocolTransitionText

        public static TextBuilder createProtocolTransitionText​(ProtocolTransition transition,
                                                               TransitionTextParams textParams,
                                                               java.util.function.Supplier<TextBuilder> builderFactory)
        Creates string representation of the given ProtocolTransition. Syntax: [precondition]trigger/[postcondition].
        Parameters:
        transition - element to create representation text for
        textParams - configuration that defines what to include in the text of the ?
        builderFactory - provides @{link com.nomagic.text.builders.TextBuilder} to append the created text to
        Returns:
        builder with the transition's text appended
      • createTriggersText

        public static TextBuilder createTriggersText​(java.util.Collection<?> triggers,
                                                     TriggerTextParams textParams,
                                                     java.util.function.Supplier<TextBuilder> builderFactory)
        Creates string representation for the given collection of Trigger elements, separated by comma.
        Parameters:
        triggers - collection of trigger elements to create representation text for
        textParams - configuration that defines what to include in the text of the trigger
        builderFactory - provides @{link com.nomagic.text.builders.TextBuilder} to append the created text to
        Returns:
        builder with the trigger's text appended
        See Also:
        createTriggerText(Trigger, TriggerTextParams, Supplier)
      • createTriggerText

        public static TextBuilder createTriggerText​(Trigger trigger,
                                                    TriggerTextParams textParams,
                                                    java.util.function.Supplier<TextBuilder> builderFactory)
        Creates string representation of the given Trigger.
        Parameters:
        trigger - element to create representation text for
        textParams - configuration that defines what to include in the text of the trigger
        builderFactory - provides @{link com.nomagic.text.builders.TextBuilder} to append the created text to
        Returns:
        builder with the trigger's text appended
      • createEventText

        public static TextBuilder createEventText​(Event event,
                                                  EventTextParams textParams,
                                                  java.util.function.Supplier<TextBuilder> builderFactory)
        Creates string representation of the given Event.
        Parameters:
        event - element to create representation text for
        textParams - configuration that defines what to include in the text of the event
        builderFactory - provides @{link com.nomagic.text.builders.TextBuilder} to append the created text to
        Returns:
        builder with the event's text appended
      • createBehaviorText

        public static TextBuilder createBehaviorText​(Behavior behavior,
                                                     BehaviorTextParams textParams,
                                                     java.util.function.Supplier<TextBuilder> builderFactory)
        Creates string representation of the given Behavior.
        Parameters:
        behavior - element to create representation text for
        textParams - configuration that defines what to include in the text of the behavior
        builderFactory - provides @{link com.nomagic.text.builders.TextBuilder} to append the created text to
        Returns:
        builder with the behavior's text appended
      • createInteractionUseText

        public static TextBuilder createInteractionUseText​(InteractionUse interactionUse,
                                                           InteractionUseTextParams textParams,
                                                           java.util.function.Supplier<TextBuilder> builderFactory)
        Creates string representation of the given InteractionUse.
        Parameters:
        interactionUse - element to create representation text for
        textParams - configuration that defines what to include in the text of the interactionUse
        builderFactory - provides @{link com.nomagic.text.builders.TextBuilder} to append the created text to
        Returns:
        builder with the interactionUse's text appended
      • createInteractionUseText

        public static TextBuilder createInteractionUseText​(CallBehaviorAction callBehaviorAction,
                                                           java.util.function.Supplier<TextBuilder> builderFactory)
        Creates string representation of the given CallBehaviorAction that is displayed as InteractionUse.
        Parameters:
        callBehaviorAction - element to create representation text for
        builderFactory - provides @{link com.nomagic.text.builders.TextBuilder} to append the created text to
        Returns:
        builder with the action's text appended
      • createMessageText

        public static TextBuilder createMessageText​(Message message,
                                                    MessageTextParams textParams,
                                                    java.util.function.Supplier<TextBuilder> builderFactory)
        Creates string representation of the given Message.
        Parameters:
        message - element to create representation text for
        textParams - configuration that defines what to include in the text of the message
        builderFactory - provides @{link com.nomagic.text.builders.TextBuilder} to append the created text to
        Returns:
        builder with the message's text appended
      • getAttributesOrParametersNames

        private static java.util.List<java.lang.String> getAttributesOrParametersNames​(MessageTextParams params,
                                                                                       @CheckForNull
                                                                                       Signal signal,
                                                                                       @CheckForNull
                                                                                       Operation operation)
      • toNames

        private static java.util.List<java.lang.String> toNames​(java.util.Collection<? extends NamedElement> elements)
      • getArgumentsWithoutReturn

        private static java.util.List<ValueSpecification> getArgumentsWithoutReturn​(java.util.List<ValueSpecification> arguments)
        Given a list of arguments, returns a list of arguments without an argument referencing the return parameter.
        Parameters:
        arguments - arguments to analyze.
        Returns:
        a list of arguments without return argument.
      • getReturnArgument

        @CheckForNull
        private static ValueSpecification getReturnArgument​(java.lang.Iterable<ValueSpecification> arguments)
        Gets an argument which references a return parameter.
        Parameters:
        arguments - arguments from which to get.
        Returns:
        argument which references a return parameter.
      • createArgumentText

        private static TextBuilder createArgumentText​(ValueSpecification argument,
                                                      boolean trimEmpty,
                                                      java.util.function.Supplier<TextBuilder> builderFactory)
        Creates the argument text.
        Parameters:
        argument - the argument
        trimEmpty - the trim empty
        Returns:
        the string
      • createAssociationText

        public static TextBuilder createAssociationText​(Association association,
                                                        java.util.function.Supplier<TextBuilder> builderFactory)
        Creates string representation of the given Association.
        Parameters:
        association - element to create representation text for
        builderFactory - provides @{link com.nomagic.text.builders.TextBuilder} to append the created text to
        Returns:
        builder with the association's text appended
      • createStateText

        public static TextBuilder createStateText​(State state,
                                                  java.util.function.Supplier<TextBuilder> builderFactory)
        Creates string representation of the given State.
        Parameters:
        state - element to create representation text for
        builderFactory - provides @{link com.nomagic.text.builders.TextBuilder} to append the created text to
        Returns:
        builder with the state's text appended
      • createParametersText

        public static TextBuilder createParametersText​(java.util.Collection<Parameter> parameters,
                                                       ParameterTextParams textParams,
                                                       java.util.function.Supplier<TextBuilder> builderFactory)
        Creates string representation for the given collection of Parameter elements, separated by comma
        Parameters:
        parameters - collection of parameters to create representation text for
        textParams - configuration that defines what to include in the text of each parameter
        builderFactory - provides @{link com.nomagic.text.builders.TextBuilder} to append the created text to
        Returns:
        builder with the parameters' text appended
      • createParameterText

        public static TextBuilder createParameterText​(Parameter parameter,
                                                      ParameterTextParams textParams,
                                                      java.util.function.Supplier<TextBuilder> builderFactory)
        Creates string representation of the given Parameter.
        Parameters:
        parameter - element to create representation text for
        textParams - configuration that defines what to include in the text of the parameter
        builderFactory - provides @{link com.nomagic.text.builders.TextBuilder} to append the created text to
        Returns:
        builder with the parameter's text appended
      • createParameterDirectionText

        public static TextBuilder createParameterDirectionText​(@CheckForNull
                                                               ParameterDirectionKind parameterDirection,
                                                               Project project,
                                                               ParameterDirectionTextParams textParams,
                                                               java.util.function.Supplier<TextBuilder> builderFactory)
        Creates string representation of the given ParameterDirectionKind
        Parameters:
        parameterDirection - direction to create representation text for
        project - project to which parameter belongs
        textParams - configuration that defines what to include in the text of the parameter direction
        builderFactory - provides @{link com.nomagic.text.builders.TextBuilder} to append the created text to
        Returns:
        builder with the parameter direction text appended
      • isDefaultParameterDirection

        private static boolean isDefaultParameterDirection​(@CheckForNull
                                                           ParameterDirectionKind parameterDirection,
                                                           Project project,
                                                           java.lang.Class<? extends Parameter> parameterMetaType)
      • createOperationText

        public static TextBuilder createOperationText​(Operation operation,
                                                      OperationTextParams textParams,
                                                      java.util.function.Supplier<TextBuilder> builderFactory)
        Creates string representation of the given Operation.
        Parameters:
        operation - element to create representation text for
        textParams - configuration that defines what to include in the text of the operation
        builderFactory - provides @{link com.nomagic.text.builders.TextBuilder} to append the created text to
        Returns:
        builder with the operation's text appended
      • createReceptionText

        public static TextBuilder createReceptionText​(Reception reception,
                                                      ReceptionTextParams textParams,
                                                      java.util.function.Supplier<TextBuilder> builderFactory)
        Creates string representation of the given Reception.
        Parameters:
        reception - element to create representation text for
        textParams - configuration that defines what to include in the text of the reception
        builderFactory - provides @{link com.nomagic.text.builders.TextBuilder} to append the created text to
        Returns:
        builder with the reception's text appended
      • createPropertyText

        public static TextBuilder createPropertyText​(Property property,
                                                     PropertyTextParams textParams,
                                                     java.util.function.Supplier<TextBuilder> builderFactory)
        Creates string representation of the given Property.
        Parameters:
        property - element to create representation text for
        textParams - configuration that defines what to include in the text of the property
        builderFactory - provides @{link com.nomagic.text.builders.TextBuilder} to append the created text to
        Returns:
        builder with the property's text appended
      • createActivityParameterNodeText

        public static TextBuilder createActivityParameterNodeText​(ActivityParameterNode parameterNode,
                                                                  boolean showFullType,
                                                                  java.util.function.Supplier<TextBuilder> builderFactory)
        Creates string representation of the given ActivityParameterNode.
        Parameters:
        parameterNode - element to create representation text for
        showFullType - true if qualified name should be included in the text of node's type
        builderFactory - provides @{link com.nomagic.text.builders.TextBuilder} to append the created text to
        Returns:
        builder with the node's text appended
      • createGuardText

        public static TextBuilder createGuardText​(Message message,
                                                  java.util.function.Supplier<TextBuilder> builderFactory)
        Creates string representation of the provided message's guard.
        Parameters:
        message - element for which guard representation text has to be created
        builderFactory - provides @{link com.nomagic.text.builders.TextBuilder} to append the created text to
        Returns:
        builder with the guard's text appended
      • createEnumerationLiteralText

        public static TextBuilder createEnumerationLiteralText​(EnumerationLiteral enumerationLiteral,
                                                               MemberTextParams textParams,
                                                               java.util.function.Supplier<TextBuilder> builderFactory)
        Creates string representation of the given EnumerationLiteral.
        Parameters:
        enumerationLiteral - element to create representation text for
        textParams - configuration that defines what to include in the text of the enumeration literal
        builderFactory - provides @{link com.nomagic.text.builders.TextBuilder} to append the created text to
        Returns:
        builder with the enumeration literal's text appended
      • createTemplateParameterText

        public static TextBuilder createTemplateParameterText​(TemplateParameter templateParameter,
                                                              java.util.function.Supplier<TextBuilder> builderFactory)
        Creates string representation of the given TemplateParameter.
        Parameters:
        templateParameter - element to create representation text for
        builderFactory - provides @{link com.nomagic.text.builders.TextBuilder} to append the created text to
        Returns:
        builder with the template parameter's text appended
      • createTemplateParametersText

        public static TextBuilder createTemplateParametersText​(java.util.Collection<TemplateParameter> templateParameters,
                                                               java.lang.String separator,
                                                               java.util.function.Supplier<TextBuilder> builderFactory)
        Creates string representation for the given collection of TemplateParameter elements.
        Parameters:
        templateParameters - collection of template parameter elements to create representation text for
        separator - symbol(s) to separate each parameter's text with
        builderFactory - provides @{link com.nomagic.text.builders.TextBuilder} to append the created text to
        Returns:
        builder with the parameters' text appended
        See Also:
        createTemplateParameterText(TemplateParameter, Supplier)
      • createTemplateBindingText

        public static TextBuilder createTemplateBindingText​(TemplateBinding templateBinding,
                                                            boolean showTemplateParameterInfo,
                                                            java.util.function.Supplier<TextBuilder> builderFactory)
        Creates string representation of the given TemplateBinding.
        Parameters:
        templateBinding - element to create representation text for
        showTemplateParameterInfo - indicates if full template parameter notation should be used.
        builderFactory - provides @{link com.nomagic.text.builders.TextBuilder} to append the created text to
        Returns:
        builder with the template binding's text appended
      • createTemplateParameterSubstitutionText

        public static TextBuilder createTemplateParameterSubstitutionText​(TemplateParameterSubstitution parameterSubstitution,
                                                                          boolean showTemplateParameterInfo,
                                                                          java.util.function.Supplier<TextBuilder> builderFactory)
        Creates string representation of the given TemplateParameterSubstitution.
        Parameters:
        parameterSubstitution - element to create representation text for
        showTemplateParameterInfo - indicates if full template parameter notation should be used.
        builderFactory - provides @{link com.nomagic.text.builders.TextBuilder} to append the created text to
        Returns:
        builder with the parameter substitution's text appended
      • createInstanceSpecificationText

        public static TextBuilder createInstanceSpecificationText​(InstanceSpecification instance,
                                                                  InstanceSpecificationTextParams textParams,
                                                                  java.util.function.Supplier<TextBuilder> builderFactory)
        Creates string representation of the given InstanceSpecification.
        Parameters:
        instance - element to create representation text for
        textParams - configuration that defines what to include in the text of the instance
        builderFactory - provides @{link com.nomagic.text.builders.TextBuilder} to append the created text to
        Returns:
        builder with the instance's text appended
      • createInstanceSpecificationText

        public static TextBuilder createInstanceSpecificationText​(InstanceSpecification instance,
                                                                  InstanceSpecificationTextParams textParams,
                                                                  java.util.function.Supplier<TextBuilder> builderFactory,
                                                                  java.util.function.Predicate<Element> classifierFilter)
        Creates string representation of the given InstanceSpecification.
        Parameters:
        instance - element to create representation text for
        textParams - configuration that defines what to include in the text of the instance
        builderFactory - provides @{link com.nomagic.text.builders.TextBuilder} to append the created text to
        classifierFilter - provides ability to filter classifiers.
        Returns:
        builder with the instance's text appended
      • createRelationshipFromToText

        public static TextBuilder createRelationshipFromToText​(Element relationship,
                                                               @CheckForNull
                                                               Element clientModelElement,
                                                               java.lang.String clientName,
                                                               @CheckForNull
                                                               Element supplierModelElement,
                                                               java.lang.String supplierName,
                                                               boolean addFullQualifiedName,
                                                               java.util.function.Supplier<TextBuilder> builderFactory)
        Create relation representation text part to represent from what element to what element relation is connected. For example if we connect Connector to 2 properties a and b, that are Owned by class Class1. In Containment browser we would see "Connector[Class1::a - Class1::b]" so this method returns the part for the representation "[Class1::a - Class1::b]".
        Parameters:
        relationship - relationship for which we want the representation part
        clientModelElement - first (from) element
        clientName - name or custom text of first (from) element
        supplierModelElement - second (to) element
        supplierName - name or custom text of second (to) element
        addFullQualifiedName - if true, full qualified name will be added to client and supplier names
        builderFactory - provides @{link com.nomagic.text.builders.TextBuilder} to append the created text to
        Returns:
        builder with the relation text appended
      • createTypedElementText

        public static TextBuilder createTypedElementText​(TypedElement typedElement,
                                                         TypedElementTextParams textParams,
                                                         java.util.function.Supplier<TextBuilder> builderFactory)
        Creates string representation of the given TypedElement.
        Parameters:
        typedElement - element to create representation text for
        textParams - configuration that defines what to include in the text of the typed element
        builderFactory - provides @{link com.nomagic.text.builders.TextBuilder} to append the created text to
        Returns:
        builder with the typed element's text appended
      • createSlotsTextWithBraces

        public static TextBuilder createSlotsTextWithBraces​(java.util.Collection<Slot> slots,
                                                            SlotTextParams textParams,
                                                            java.lang.String separator,
                                                            java.util.function.Supplier<TextBuilder> builderFactory)
        Creates string representation of given slots collection, wrapped between '{' and '}'.
        Parameters:
        slots - collection of slots
        textParams - configuration that defines what to include in the text of a slot
        separator - symbol(s) to separate each slot's text with
        builderFactory - provides @{link com.nomagic.text.builders.TextBuilder} to append created text to
        Returns:
        builder with the slots text appended
      • createSlotsText

        public static TextBuilder createSlotsText​(java.util.Collection<Slot> slots,
                                                  SlotTextParams textParams,
                                                  java.lang.String separator,
                                                  java.util.function.Supplier<TextBuilder> builderFactory)
        Creates string representation of given slots collection (without braces).
        Parameters:
        slots - collection of slots
        textParams - configuration that defines what to include in the text of a slot
        separator - symbol(s) to separate each slot's text with
        builderFactory - provides @{link com.nomagic.text.builders.TextBuilder} to append created text to
        Returns:
        builder with the slots text appended
      • createSlotText

        public static TextBuilder createSlotText​(Slot slot,
                                                 SlotTextParams textParams,
                                                 java.util.function.Supplier<TextBuilder> builderFactory)
        Creates string representation of the given slot.
        Parameters:
        slot - element to create representation text for
        textParams - configuration that defines what to include in the text of a slot
        builderFactory - provides @{link com.nomagic.text.builders.TextBuilder} to append created text to
        Returns:
        builder with the slot's text appended
      • getSlotNameAndType

        @CheckForNull
        private static java.lang.String getSlotNameAndType​(Slot slot,
                                                           SlotTextParams textParams)
      • appendSlotFeatureTaggedValues

        private static void appendSlotFeatureTaggedValues​(Slot slot,
                                                          SlotTextParams textParams,
                                                          TextBuilder builder,
                                                          java.util.function.Supplier<TextBuilder> builderFactory)
      • getSlotValues

        private static java.util.List<java.lang.Object> getSlotValues​(Slot slot,
                                                                      SlotTextParams textParams)
      • areSlotValuesElements

        private static boolean areSlotValuesElements​(Slot slot)
      • elementAsString

        private static java.lang.String elementAsString​(@CheckForNull
                                                        Element el,
                                                        boolean qualifiedName)
      • createTaggedValuesText

        public static TextBuilder createTaggedValuesText​(java.util.Collection<TaggedValue> taggedValues,
                                                         TaggedValueTextParams textParams,
                                                         java.lang.String separator,
                                                         java.util.function.Supplier<TextBuilder> builderFactory)
        Creates string representation of given taggedValues collection (without braces).
        Parameters:
        taggedValues - collection of taggedValues
        textParams - configuration that defines what to include in the text of a slot
        separator - symbol(s) to separate each slot's text with
        builderFactory - provides @{link com.nomagic.text.builders.TextBuilder} to append created text to
        Returns:
        builder with the taggedValues text appended
      • createTaggedValueText

        public static TextBuilder createTaggedValueText​(TaggedValue taggedValue,
                                                        TaggedValueTextParams textParams,
                                                        java.util.function.Supplier<TextBuilder> builderFactory)
        Creates string representation of the given taggedValue.
        Parameters:
        taggedValue - element to create representation text for
        textParams - configuration that defines what to include in the text of a taggedValue
        builderFactory - provides @{link com.nomagic.text.builders.TextBuilder} to append created text to
        Returns:
        builder with the taggedValue's text appended
      • getTaggedValueDefinitionName

        @CheckForNull
        private static java.lang.String getTaggedValueDefinitionName​(TaggedValue taggedValue,
                                                                     TaggedValueTextParams textParams)
      • createTaggedValuesTextWithBraces

        public static TextBuilder createTaggedValuesTextWithBraces​(java.util.Collection<TaggedValue> taggedValues,
                                                                   TaggedValueTextParams textParams,
                                                                   java.lang.String separator,
                                                                   java.util.function.Supplier<TextBuilder> builderFactory)
        Creates string representation of given taggedValues collection, wrapped between '{' and '}'.
        Parameters:
        taggedValues - collection of taggedValues
        textParams - configuration that defines what to include in the text of a slot
        separator - symbol(s) to separate each slot's text with
        builderFactory - provides @{link com.nomagic.text.builders.TextBuilder} to append created text to
        Returns:
        builder with the taggedValues text appended