Package com.nomagic.magicdraw.properties
Class Style
- java.lang.Object
-
- com.nomagic.magicdraw.properties.Style
-
- All Implemented Interfaces:
com.nomagic.magicdraw.core.project.options.PersistentStyle,PropertyVisitorAcceptor,java.beans.PropertyChangeListener,java.lang.Cloneable,java.util.EventListener
@OpenApiAll public class Style extends java.lang.Object implements java.lang.Cloneable, PropertyVisitorAcceptor, java.beans.PropertyChangeListener, com.nomagic.magicdraw.core.project.options.PersistentStyle
Style stores and manages a set ofPropertyManagers.
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringADDED_STYLE_MANAGERDeprecated.static java.lang.StringCHANGE_STYLE_PROPERTYName of property fired on some style change.static java.lang.StringCHANGE_STYLE_PROPERTY_VALUEstatic java.lang.StringMERGEDstatic java.lang.StringMERGED_PRE1704static java.lang.StringSHARED
-
Constructor Summary
Constructors Constructor Description Style()Constructs new Style.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaccept(PropertyVisitor visitor)Accepts the given visitor.voidaddManager(PropertyManager manager)Adds given property manager.voidaddPropertyChangeListener(java.beans.PropertyChangeListener listener)Registers the listener to the element.voidappend(Style s)Adds all managers from given style to this style.voidappendExtendedManagers(Style s)java.util.Map<PropertyManager,PropertyManager>apply(Style s)Applies all managers from given style to the existing managers here.java.lang.Objectclone()/** Creates and returns a copy of this style.protected voidcloneManagers(Style newS)static PropertyManagerfindPropertyManagerWithPath(Style findIn, java.util.Collection<PropertyManager> path)static PropertyManagerfindPropertyManagerWithSamePath(Style findIn, PropertyManager find)Finds same property manager(with same path) in given style.static voidgenerateDefaultDescriptionID(Style style)Generate default description id.voidgenerateID()java.lang.StringgetClassType()Returns property class type.java.lang.StringgetID()PropertyManagergetManager(java.lang.String name)Returns property manager with given name.intgetManagerCount()Returns managers count.java.util.Collection<PropertyManager>getManagers()Returns a collection of all managers.java.util.List<PropertyManager>getManagersFromParent(PropertyManager root)java.lang.StringgetName()Returns the name of the style.java.util.List<PropertyManager>getOrderedManagers()Returns collection of managers sorted by name.booleanhasStereotype(java.lang.String id)Check if style has stereotype with given id.booleanisDefault()Is this style a default one?booleanisDiagramStyle()booleanisEqual(Style style)Checks if given style has same property managers with same values.booleanisSnapshotStyleForDiagramSymbols()voidpropertyChange(java.beans.PropertyChangeEvent evt)On CHANGE_STYLE_PROPERTY property change takes the manager from property's new Value and replaces itself properties with properties from this manager.voidpropertyManagerNameChanged(PropertyManager manager)Called when property manager name is changedvoidremoveManager(PropertyManager manager)Removes given property manager.voidremovePropertyChangeListener(java.beans.PropertyChangeListener listener)Unregisters the given listener from the element.voidsetAppliedPropertyManagerIDs(java.util.Map<PropertyManager,PropertyManager> propertyManagers)Sets applied property manager id to managers which does not have it.voidsetDefault(boolean def)Sets default flag value.voidsetID(java.lang.String id)Set IdvoidsetManagers(java.util.Collection<PropertyManager> managers)Sets the collection of all managers.voidsetName(java.lang.String name)Set the name of the style.java.lang.StringtoString()Returns a string representation of the style.voidupdateDefinedIn(Style src)Update allExtendablePropertyManagerin this style defined in.
-
-
-
Field Detail
-
SHARED
public static final java.lang.String SHARED
- See Also:
- Constant Field Values
-
MERGED
public static final java.lang.String MERGED
- See Also:
- Constant Field Values
-
MERGED_PRE1704
public static final java.lang.String MERGED_PRE1704
- See Also:
- Constant Field Values
-
CHANGE_STYLE_PROPERTY
public static final java.lang.String CHANGE_STYLE_PROPERTY
Name of property fired on some style change.- See Also:
- Constant Field Values
-
CHANGE_STYLE_PROPERTY_VALUE
public static final java.lang.String CHANGE_STYLE_PROPERTY_VALUE
- See Also:
- Constant Field Values
-
ADDED_STYLE_MANAGER
@Deprecated public static final java.lang.String ADDED_STYLE_MANAGER
Deprecated.- See Also:
- Constant Field Values
-
-
Method Detail
-
addManager
public void addManager(@CheckForNull PropertyManager manager)Adds given property manager.- Parameters:
manager- the manager to add.
-
removeManager
public void removeManager(PropertyManager manager)
Removes given property manager.- Parameters:
manager- the manager to remove.
-
getManagerCount
public int getManagerCount()
Returns managers count.- Returns:
- count of managers.
-
setManagers
public void setManagers(java.util.Collection<PropertyManager> managers)
Sets the collection of all managers.- Parameters:
managers- a collection of new managers.
-
getName
public java.lang.String getName()
Returns the name of the style.- Returns:
- name of the style.
-
setName
public void setName(java.lang.String name)
Set the name of the style.- Parameters:
name- the new name of the style.
-
setAppliedPropertyManagerIDs
public void setAppliedPropertyManagerIDs(java.util.Map<PropertyManager,PropertyManager> propertyManagers)
Sets applied property manager id to managers which does not have it.- Parameters:
propertyManagers- property managers to analyze
-
toString
public java.lang.String toString()
Returns a string representation of the style. Used for debug.- Overrides:
toStringin classjava.lang.Object- Returns:
- the string representation.
-
setDefault
public void setDefault(boolean def)
Sets default flag value.- Parameters:
def- new flag value.
-
isDefault
public boolean isDefault()
Is this style a default one?- Returns:
- default flag value.
-
clone
public java.lang.Object clone()
/** Creates and returns a copy of this style. Does deep clone.- Overrides:
clonein classjava.lang.Object- Returns:
- the clone of this style.
-
cloneManagers
protected void cloneManagers(Style newS)
-
getManagers
public java.util.Collection<PropertyManager> getManagers()
Returns a collection of all managers.- Returns:
- all managers.
-
getOrderedManagers
public java.util.List<PropertyManager> getOrderedManagers()
Returns collection of managers sorted by name.- Returns:
- collection of managers sorted by name.
-
getManager
@CheckForNull public PropertyManager getManager(java.lang.String name)
Returns property manager with given name.- Parameters:
name- the name of manager.- Returns:
- manager with given name or null.
-
accept
public void accept(PropertyVisitor visitor) throws java.lang.Exception
Accepts the given visitor.- Specified by:
acceptin interfacePropertyVisitorAcceptor- Parameters:
visitor- the PropertyVisitor.- Throws:
java.lang.Exception
-
getClassType
public java.lang.String getClassType()
Returns property class type.- Specified by:
getClassTypein interfacePropertyVisitorAcceptor- Returns:
- PropertyID.SIMPLE_STYLE
- See Also:
PropertyID.SIMPLE_STYLE
-
append
public void append(Style s)
Adds all managers from given style to this style. If some manager exists in given style, but does not exist in this style - clone this manager and add. If some manager exists in given style and exists in this style - append properties from given manager to this manager.- Parameters:
s- the given style.
-
apply
public java.util.Map<PropertyManager,PropertyManager> apply(Style s)
Applies all managers from given style to the existing managers here. If some manager exists in given style, but does not exist in this style - do nothing.- Parameters:
s- the given style.
-
appendExtendedManagers
public void appendExtendedManagers(Style s)
-
isDiagramStyle
public boolean isDiagramStyle()
- Returns:
- if it is diagram style
-
propertyChange
public void propertyChange(java.beans.PropertyChangeEvent evt)
On CHANGE_STYLE_PROPERTY property change takes the manager from property's new Value and replaces itself properties with properties from this manager.- Specified by:
propertyChangein interfacejava.beans.PropertyChangeListener- Parameters:
evt- PropertyChangeEvent.
-
getManagersFromParent
public java.util.List<PropertyManager> getManagersFromParent(@CheckForNull PropertyManager root)
-
findPropertyManagerWithSamePath
@CheckForNull public static PropertyManager findPropertyManagerWithSamePath(Style findIn, PropertyManager find)
Finds same property manager(with same path) in given style.- Parameters:
findIn- style where find manager.find- manager to find.- Returns:
- found manager, or null if not found.
-
findPropertyManagerWithPath
@CheckForNull public static PropertyManager findPropertyManagerWithPath(Style findIn, java.util.Collection<PropertyManager> path)
-
generateID
public void generateID()
-
getID
public java.lang.String getID()
- Returns:
- Returns the iD. Can return null if ID was not generated. ID is generated only for styles used for not loaded diagrams.
-
setID
public void setID(java.lang.String id)
Set Id- Parameters:
id- given ID.
-
addPropertyChangeListener
public void addPropertyChangeListener(java.beans.PropertyChangeListener listener)
Registers the listener to the element. The given listener will get notifications about property changes in this element.- Parameters:
listener- thePropertyChangeListenerto be added.- See Also:
PropertyChangeSupport
-
removePropertyChangeListener
public void removePropertyChangeListener(java.beans.PropertyChangeListener listener)
Unregisters the given listener from the element. The given listener will not get any notifications about property changes in this element.- Parameters:
listener- the PropertyChangeListener to be removed.- See Also:
PropertyChangeSupport
-
generateDefaultDescriptionID
public static void generateDefaultDescriptionID(Style style)
Generate default description id.- Parameters:
style- style
-
isSnapshotStyleForDiagramSymbols
public boolean isSnapshotStyleForDiagramSymbols()
- Returns:
- true if style is clone used for diagram style preserving.
-
isEqual
public boolean isEqual(Style style)
Checks if given style has same property managers with same values.- Parameters:
style- given style.- Returns:
- true if given style has same values as this style.
-
updateDefinedIn
public void updateDefinedIn(Style src)
Update allExtendablePropertyManagerin this style defined in.- Parameters:
src- source to get defined in values
-
hasStereotype
public boolean hasStereotype(java.lang.String id)
Check if style has stereotype with given id. This method is faster than iterate through all property managers.- Parameters:
id- stereotype id- Returns:
- true if stereotype with given id has property manager in this style.
-
propertyManagerNameChanged
public void propertyManagerNameChanged(PropertyManager manager)
Called when property manager name is changed- Parameters:
manager- manager which name is changed
-
-