Package com.nomagic.uml2.ext.jmi.helpers
Class TagsHelper
- java.lang.Object
-
- com.nomagic.uml2.ext.jmi.helpers.DeprecatedTagsHelper
-
- com.nomagic.uml2.ext.jmi.helpers.DeprecatedStereotypesHelper
-
- com.nomagic.uml2.ext.jmi.helpers.TagsHelper
-
- Direct Known Subclasses:
StereotypesHelper
@OpenApiAll public class TagsHelper extends DeprecatedStereotypesHelper
Utility class to work with tagged values.
-
-
Field Summary
-
Fields inherited from class com.nomagic.uml2.ext.jmi.helpers.DeprecatedStereotypesHelper
INVISIBLE_STEREOTYPE_NAME, METAMODEL
-
-
Constructor Summary
Constructors Constructor Description TagsHelper()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static boolean
addTaggedValueValue(TaggedValue taggedValue, java.lang.Object value, boolean append)
Add value to the given TaggedValue.static boolean
addTaggedValueValue(TaggedValue taggedValue, java.lang.Object value, boolean append, boolean setAnotherEnd)
Add value to the given TaggedValue.static void
clearStereotypeProperty(Element element, Property tag)
Clears tagged values.static void
clearStereotypeProperty(Element element, Property tag, boolean disposeTaggedValue)
Clears tagged values and removes TaggedValue if needed.static void
clearStereotypeProperty(Element element, Stereotype stereotype, java.lang.String tagName)
Clears tagged values.static void
clearStereotypeProperty(Element element, Stereotype stereotype, java.lang.String tagName, boolean disposeTaggedValue)
Clears tagged values and removes TaggedValue if needed.static java.util.List<TaggedValue>
collectVisibleTaggedValues(Element element)
Returns visible tagged values applied to the element.static void
createDefaultValues(Element element, Stereotype stereotype, boolean createAll)
Creates tagged values with default values for given element from given Stereotype.static void
createDefaultValues(Element element, java.util.Collection<Stereotype> stereotypes, boolean createAll)
Creates tagged values with default values for given element from given Stereotypes.static java.util.Set<Property>
getPropertiesWithDerived(Stereotype stereotype)
Returns properties of stereotype including derived ones.static java.util.List<Property>
getPropertiesWithDerivedOrdered(Stereotype stereotype)
Returns properties of stereotype including derived ones, first will be own element properties then parent and so on.static Property
getPropertyByName(Stereotype stereotype, java.lang.String tagName)
Returns property of stereotype by namestatic java.lang.Object
getStereotypePropertyFirst(Element element, Property tag)
Returns first value of TaggedValue.static java.lang.Object
getStereotypePropertyFirst(Element element, Property tag, boolean calculateDerived)
Returns first value of TaggedValue.static java.lang.Object
getStereotypePropertyFirst(Element element, Stereotype stereotype, java.lang.String tagName)
Returns first value of TaggedValue.static java.lang.Object
getStereotypePropertyFirst(Element element, Stereotype stereotype, java.lang.String tagName, boolean calculateDerived)
Returns first value of TaggedValue.static java.lang.String
getStereotypePropertyStringValue(java.lang.Object o)
Converts given stereotype property value to a string.static java.util.List
getStereotypePropertyValue(Element element, Property tagDefinition)
Gets tagged values as list.static java.util.List
getStereotypePropertyValue(Element element, Property tagDefinition, boolean calculateDerived)
Gets tagged values as list.static java.util.List
getStereotypePropertyValue(Element element, Stereotype stereotype, java.lang.String tagName)
Gets tagged values as list.static java.util.List
getStereotypePropertyValue(Element element, Stereotype stereotype, java.lang.String tagName, boolean calculateDerived)
Gets tagged values as list.static java.util.List<java.lang.String>
getStereotypePropertyValueAsString(Element element, Stereotype stereotype, java.lang.String tagName)
Gets tagged values as list of strings.static java.util.List<java.lang.String>
getStereotypePropertyValueAsString(Element element, Stereotype stereotype, java.lang.String tagName, boolean calculateDerived)
Gets tagged values as list of stringsstatic Stereotype
getTagDefinitionOwner(TaggedValue taggedValue)
Returns stereotype owning tag definition of given tagged value.static TaggedValue
getTaggedValue(Element element, Property tagDefinition)
Returns tagged value for given tag definition.static TaggedValue
getTaggedValue(Element element, Stereotype stereotype, java.lang.String tagName)
Returns tagged value for stereotype tagstatic TaggedValue
getTaggedValue(Element element, java.lang.String tagName)
Looks for tagged value with given tag name in the given element.static TaggedValue
getTaggedValueOrCreate(Element element, Stereotype stereotype, Property tagDefinition, boolean createDefaultValue)
Returns tagged value for stereotype tag.static TaggedValue
getTaggedValueOrCreate(Element element, Stereotype stereotype, java.lang.String tagName, boolean createDefaultValue)
Returns tagged value for stereotype tagstatic boolean
hasStereotypePropertyValues(Element element)
Checks if given element has some tagged values.static boolean
isValidTagType(Type type)
Check if given type is valid for a tag of a Stereotype.static void
removeTaggedValueValue(Element element, Stereotype stereotype, java.lang.String tagName, java.lang.Object value)
Removes a value from the tagged value.static void
removeTaggedValueValue(TaggedValue taggedValue, java.lang.Object value)
Removes value from given TaggedValue.static void
setStereotypePropertyValue(Element element, Stereotype stereotype, Property tag, java.lang.Object value)
Sets tagged values.static void
setStereotypePropertyValue(Element element, Stereotype stereotype, Property tag, java.lang.Object value, boolean appendValues)
Sets tagged values.static void
setStereotypePropertyValue(Element element, Stereotype stereotype, Property tag, java.lang.Object value, boolean appendValues, boolean setAnotherEnd)
Sets tagged values.static void
setStereotypePropertyValue(Element element, Stereotype stereotype, java.lang.String tagName, java.lang.Object value)
Sets tagged values.static void
setStereotypePropertyValue(Element element, Stereotype stereotype, java.lang.String tagName, java.lang.Object value, boolean appendValues)
Sets tagged values.static void
setStereotypePropertyValue(Element element, Stereotype stereotype, java.lang.String tagName, java.lang.Object value, boolean appendValues, boolean setAnotherEnd)
Sets tagged values.static <T> void
setStereotypePropertyValueWithClearPredicate(Element element, Stereotype stereotype, java.lang.String tagName, T value, boolean appendValues, java.util.function.Predicate<T> clearValuesPredicate)
Sets tagged values.-
Methods inherited from class com.nomagic.uml2.ext.jmi.helpers.DeprecatedStereotypesHelper
addStereotypeByString, addStereotypeByString, addStereotypesWithNames, getExtendedElements, getExtendedElementsIncludingDerived, getStereotype, getStereotype, getStereotypePropertyValue, getStereotypePropertyValue, hasExtendedElements, hasStereotype, hasStereotype, hasStereotypeOrDerived, isElementStereotypedBy, removeStereotypeByString
-
Methods inherited from class com.nomagic.uml2.ext.jmi.helpers.DeprecatedTagsHelper
clearStereotypeProperty, clearStereotypeProperty, getStereotypePropertyFirst, getStereotypePropertyFirst, getStereotypePropertyValue, getStereotypePropertyValue, getStereotypePropertyValueAsString, getStereotypePropertyValueAsString
-
-
-
-
Method Detail
-
getStereotypePropertyStringValue
public static java.lang.String getStereotypePropertyStringValue(@CheckForNull java.lang.Object o)
Converts given stereotype property value to a string.- Parameters:
o
- value object- Returns:
- string representation of given value object
-
getTagDefinitionOwner
@CheckForNull public static Stereotype getTagDefinitionOwner(TaggedValue taggedValue)
Returns stereotype owning tag definition of given tagged value.- Parameters:
taggedValue
- the given TaggedValue- Returns:
- stereotype owning tag definition of given tagged value
-
removeTaggedValueValue
public static void removeTaggedValueValue(@CheckForNull TaggedValue taggedValue, @CheckForNull java.lang.Object value)
Removes value from given TaggedValue.- Parameters:
taggedValue
- the given TaggedValuevalue
- value to remove
-
addTaggedValueValue
public static boolean addTaggedValueValue(TaggedValue taggedValue, java.lang.Object value, boolean append)
Add value to the given TaggedValue.- Parameters:
taggedValue
- the given TaggedValuevalue
- value to addappend
- True - Don't remove the append value- Returns:
- true if succeeded
-
addTaggedValueValue
public static boolean addTaggedValueValue(TaggedValue taggedValue, java.lang.Object value, boolean append, boolean setAnotherEnd)
Add value to the given TaggedValue.- Parameters:
taggedValue
- the given TaggedValuevalue
- valueappend
- True - Don't remove the append valuesetAnotherEnd
- set another meta association end value- Returns:
- true if succeeded
-
removeTaggedValueValue
public static void removeTaggedValueValue(Element element, Stereotype stereotype, java.lang.String tagName, java.lang.Object value)
Removes a value from the tagged value.- Parameters:
element
- element which has the tagged valuestereotype
- stereotype which defines the tagtagName
- tag namevalue
- value to remove
-
getPropertyByName
@CheckForNull public static Property getPropertyByName(@CheckForNull Stereotype stereotype, @CheckForNull java.lang.String tagName)
Returns property of stereotype by name- Parameters:
stereotype
- stereotype to get property fromtagName
- name of tag definition- Returns:
- property
-
getTaggedValue
@CheckForNull public static TaggedValue getTaggedValue(Element element, Stereotype stereotype, java.lang.String tagName)
Returns tagged value for stereotype tag- Parameters:
element
- element with applied stereotypestereotype
- stereotypetagName
- name of tag definition- Returns:
- TaggedValue of the tag
-
getTaggedValueOrCreate
@CheckForNull public static TaggedValue getTaggedValueOrCreate(Element element, Stereotype stereotype, java.lang.String tagName, boolean createDefaultValue)
Returns tagged value for stereotype tag- Parameters:
element
- element with assigned stereotypestereotype
- stereotypetagName
- name of tag definitioncreateDefaultValue
- create default values for a tagged value- Returns:
- TaggedValue of the tag
-
getTaggedValueOrCreate
@CheckForNull public static TaggedValue getTaggedValueOrCreate(Element element, Stereotype stereotype, Property tagDefinition, boolean createDefaultValue)
Returns tagged value for stereotype tag.- Parameters:
element
- element with assigned stereotypestereotype
- stereotypetagDefinition
- tag definitioncreateDefaultValue
- create default values for a tagged value- Returns:
- TaggedValue of the tag
-
getTaggedValue
@CheckForNull public static TaggedValue getTaggedValue(Element element, @CheckForNull Property tagDefinition)
Returns tagged value for given tag definition.- Parameters:
element
- element with applied tagged valuestagDefinition
- tag definition- Returns:
- TaggedValue of the tag
-
createDefaultValues
public static void createDefaultValues(Element element, java.util.Collection<Stereotype> stereotypes, boolean createAll)
Creates tagged values with default values for given element from given Stereotypes.- Parameters:
element
- in this element tagged values will be createdstereotypes
- tags providerscreateAll
- creates tagged values for all tags (do not check multiplicity). If false, tagged values will be created for tags which have multiplicity lower >=1.
-
createDefaultValues
public static void createDefaultValues(Element element, Stereotype stereotype, boolean createAll)
Creates tagged values with default values for given element from given Stereotype.- Parameters:
element
- in this element tagged values will be createdstereotype
- tags providercreateAll
- creates tagged values for all tags (do not check multiplicity). If false, tagged values will be created for tags which have multiplicity lower >=1.- Throws:
java.lang.IllegalArgumentException
- if element is null or second argument is not Stereotype
-
getStereotypePropertyValueAsString
public static java.util.List<java.lang.String> getStereotypePropertyValueAsString(Element element, @CheckForNull Stereotype stereotype, java.lang.String tagName)
Gets tagged values as list of strings.- Parameters:
element
- element with assigned stereotypestereotype
- stereotypetagName
- name of tag definition- Returns:
- values
-
getStereotypePropertyValueAsString
public static java.util.List<java.lang.String> getStereotypePropertyValueAsString(Element element, @CheckForNull Stereotype stereotype, java.lang.String tagName, boolean calculateDerived)
Gets tagged values as list of strings- Parameters:
element
- element with applied stereotypestereotype
- stereotypetagName
- name of tag definitioncalculateDerived
- if to calculate derived property value- Returns:
- values
-
getStereotypePropertyValue
public static java.util.List getStereotypePropertyValue(Element element, @CheckForNull Stereotype stereotype, java.lang.String tagName)
Gets tagged values as list.- Parameters:
element
- element with applied stereotypestereotype
- stereotypetagName
- name of tag definition- Returns:
- values
-
getStereotypePropertyValue
public static java.util.List getStereotypePropertyValue(Element element, @CheckForNull Property tagDefinition)
Gets tagged values as list.- Parameters:
element
- element with applied stereotypetagDefinition
- tag definition- Returns:
- values
-
getStereotypePropertyValue
public static java.util.List getStereotypePropertyValue(Element element, @CheckForNull Property tagDefinition, boolean calculateDerived)
Gets tagged values as list.- Parameters:
element
- element with applied stereotypetagDefinition
- propertycalculateDerived
- if to calculate derived property value- Returns:
- values
-
getStereotypePropertyValue
public static java.util.List getStereotypePropertyValue(Element element, @CheckForNull Stereotype stereotype, java.lang.String tagName, boolean calculateDerived)
Gets tagged values as list.- Parameters:
element
- element with applied stereotypestereotype
- stereotypetagName
- name of tag definitioncalculateDerived
- if to calculate derived property value- Returns:
- values
-
setStereotypePropertyValue
public static void setStereotypePropertyValue(Element element, @CheckForNull Stereotype stereotype, java.lang.String tagName, @CheckForNull java.lang.Object value, boolean appendValues)
Sets tagged values.- Parameters:
element
- element with applied stereotypestereotype
- name of stereotypetagName
- name of tag definitionvalue
- valueappendValues
- append or replace existing values
-
setStereotypePropertyValueWithClearPredicate
public static <T> void setStereotypePropertyValueWithClearPredicate(Element element, @CheckForNull Stereotype stereotype, java.lang.String tagName, @CheckForNull T value, boolean appendValues, @CheckForNull java.util.function.Predicate<T> clearValuesPredicate)
Sets tagged values. If clear predicate is found and true, clears tagged values and removes TaggedValue, otherwise continues on setting tagged value.- Parameters:
element
- element with applied stereotypestereotype
- name of stereotypetagName
- name of tag definitionvalue
- valueappendValues
- append or replace existing valuesclearValuesPredicate
- clear values predicate to check if value needs to be removed
-
setStereotypePropertyValue
public static void setStereotypePropertyValue(Element element, @CheckForNull Stereotype stereotype, java.lang.String tagName, @CheckForNull java.lang.Object value)
Sets tagged values. Existing values will be replaced.- Parameters:
element
- element with applied stereotypestereotype
- name of stereotypetagName
- name of tag definitionvalue
- value
-
setStereotypePropertyValue
public static void setStereotypePropertyValue(Element element, @CheckForNull Stereotype stereotype, java.lang.String tagName, @CheckForNull java.lang.Object value, boolean appendValues, boolean setAnotherEnd)
Sets tagged values.- Parameters:
element
- element with applied stereotypestereotype
- stereotypetagName
- name of tag definitionvalue
- valueappendValues
- true to leave current value intact and add new one, false to replace current value with new one.setAnotherEnd
- calculate and change value of another meta association end
-
setStereotypePropertyValue
public static void setStereotypePropertyValue(Element element, @CheckForNull Stereotype stereotype, @CheckForNull Property tag, @CheckForNull java.lang.Object value, boolean appendValues)
Sets tagged values.- Parameters:
element
- element with applied stereotypestereotype
- name of stereotypetag
- tag definitionvalue
- valueappendValues
- append or replace existing values
-
setStereotypePropertyValue
public static void setStereotypePropertyValue(Element element, @CheckForNull Stereotype stereotype, @CheckForNull Property tag, @CheckForNull java.lang.Object value)
Sets tagged values. Existing values will be replaced.- Parameters:
element
- element with applied stereotypestereotype
- name of stereotypetag
- tag definitionvalue
- value
-
setStereotypePropertyValue
public static void setStereotypePropertyValue(Element element, @CheckForNull Stereotype stereotype, @CheckForNull Property tag, @CheckForNull java.lang.Object value, boolean appendValues, boolean setAnotherEnd)
Sets tagged values.- Parameters:
element
- element with applied stereotypestereotype
- stereotypetag
- tag definitionvalue
- valueappendValues
- true to leave current value intact and add new one, false to replace current value with new one.setAnotherEnd
- calculate and change value of another meta association end
-
getTaggedValue
@CheckForNull public static TaggedValue getTaggedValue(Element element, java.lang.String tagName)
Looks for tagged value with given tag name in the given element.- Parameters:
element
- elementtagName
- tag name- Returns:
- tagged value with given tag name in the given element or null
-
isValidTagType
public static boolean isValidTagType(Type type)
Check if given type is valid for a tag of a Stereotype. Tag can be typed just by Stereotype, Data Type or metaclass.- Parameters:
type
- type- Returns:
- true if valid
-
collectVisibleTaggedValues
public static java.util.List<TaggedValue> collectVisibleTaggedValues(@CheckForNull Element element)
Returns visible tagged values applied to the element.- Parameters:
element
- element- Returns:
- list of visible tagged values
-
hasStereotypePropertyValues
public static boolean hasStereotypePropertyValues(@CheckForNull Element element)
Checks if given element has some tagged values.- Parameters:
element
- given element- Returns:
- true if some tagged value is created for a given element
-
clearStereotypeProperty
public static void clearStereotypeProperty(Element element, @CheckForNull Stereotype stereotype, java.lang.String tagName)
Clears tagged values.- Parameters:
element
- elementstereotype
- stereotypetagName
- name of tag definition
-
clearStereotypeProperty
public static void clearStereotypeProperty(Element element, @CheckForNull Stereotype stereotype, java.lang.String tagName, boolean disposeTaggedValue)
Clears tagged values and removes TaggedValue if needed.- Parameters:
element
- elementstereotype
- stereotype of propertytagName
- name of tag definitiondisposeTaggedValue
- disposes TaggedValue
-
clearStereotypeProperty
public static void clearStereotypeProperty(Element element, @CheckForNull Property tag)
Clears tagged values.- Parameters:
element
- elementtag
- tag definition
-
clearStereotypeProperty
public static void clearStereotypeProperty(Element element, @CheckForNull Property tag, boolean disposeTaggedValue)
Clears tagged values and removes TaggedValue if needed.- Parameters:
element
- elementtag
- tag definitiondisposeTaggedValue
- disposes TaggedValue
-
getStereotypePropertyFirst
@CheckForNull public static java.lang.Object getStereotypePropertyFirst(Element element, @CheckForNull Stereotype stereotype, java.lang.String tagName)
Returns first value of TaggedValue.- Parameters:
element
- elementstereotype
- stereotypetagName
- name of tag definition- Returns:
- first value of TaggedValue
-
getStereotypePropertyFirst
@CheckForNull public static java.lang.Object getStereotypePropertyFirst(Element element, @CheckForNull Stereotype stereotype, java.lang.String tagName, boolean calculateDerived)
Returns first value of TaggedValue.- Parameters:
element
- elementstereotype
- stereotypetagName
- name of tag definitioncalculateDerived
- if to calculate derived value- Returns:
- first value of TaggedValue
-
getStereotypePropertyFirst
@CheckForNull public static java.lang.Object getStereotypePropertyFirst(Element element, @CheckForNull Property tag)
Returns first value of TaggedValue.- Parameters:
element
- elementtag
- tag definition- Returns:
- first value of TaggedValue
-
getStereotypePropertyFirst
@CheckForNull public static java.lang.Object getStereotypePropertyFirst(Element element, @CheckForNull Property tag, boolean calculateDerived)
Returns first value of TaggedValue.- Parameters:
element
- elementtag
- tag definitioncalculateDerived
- if to calculate derived value- Returns:
- first value of TaggedValue
-
getPropertiesWithDerived
public static java.util.Set<Property> getPropertiesWithDerived(Stereotype stereotype)
Returns properties of stereotype including derived ones. Use this only if you do not care about order of collected properties.- Parameters:
stereotype
- stereotype- Returns:
- set of properties
-
getPropertiesWithDerivedOrdered
public static java.util.List<Property> getPropertiesWithDerivedOrdered(Stereotype stereotype)
Returns properties of stereotype including derived ones, first will be own element properties then parent and so on.- Parameters:
stereotype
- stereotype- Returns:
- list of properties
-
-