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.String
ADDED_STYLE_MANAGER
Deprecated.static java.lang.String
CHANGE_STYLE_PROPERTY
Name of property fired on some style change.static java.lang.String
CHANGE_STYLE_PROPERTY_VALUE
static java.lang.String
MERGED
static java.lang.String
MERGED_PRE1704
static java.lang.String
SHARED
-
Constructor Summary
Constructors Constructor Description Style()
Constructs new Style.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
accept(PropertyVisitor visitor)
Accepts the given visitor.void
addManager(PropertyManager manager)
Adds given property manager.void
addPropertyChangeListener(java.beans.PropertyChangeListener listener)
Registers the listener to the element.void
append(Style s)
Adds all managers from given style to this style.void
appendExtendedManagers(Style s)
java.util.Map<PropertyManager,PropertyManager>
apply(Style s)
Applies all managers from given style to the existing managers here.java.lang.Object
clone()
/** Creates and returns a copy of this style.protected void
cloneManagers(Style newS)
static PropertyManager
findPropertyManagerWithPath(Style findIn, java.util.Collection<PropertyManager> path)
static PropertyManager
findPropertyManagerWithSamePath(Style findIn, PropertyManager find)
Finds same property manager(with same path) in given style.static void
generateDefaultDescriptionID(Style style)
Generate default description id.void
generateID()
java.lang.String
getClassType()
Returns property class type.java.lang.String
getID()
PropertyManager
getManager(java.lang.String name)
Returns property manager with given name.int
getManagerCount()
Returns managers count.java.util.Collection<PropertyManager>
getManagers()
Returns a collection of all managers.java.util.List<PropertyManager>
getManagersFromParent(PropertyManager root)
java.lang.String
getName()
Returns the name of the style.java.util.List<PropertyManager>
getOrderedManagers()
Returns collection of managers sorted by name.boolean
hasStereotype(java.lang.String id)
Check if style has stereotype with given id.boolean
isDefault()
Is this style a default one?boolean
isDiagramStyle()
boolean
isEqual(Style style)
Checks if given style has same property managers with same values.boolean
isSnapshotStyleForDiagramSymbols()
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.void
propertyManagerNameChanged(PropertyManager manager)
Called when property manager name is changedvoid
removeManager(PropertyManager manager)
Removes given property manager.void
removePropertyChangeListener(java.beans.PropertyChangeListener listener)
Unregisters the given listener from the element.void
setAppliedPropertyManagerIDs(java.util.Map<PropertyManager,PropertyManager> propertyManagers)
Sets applied property manager id to managers which does not have it.void
setDefault(boolean def)
Sets default flag value.void
setID(java.lang.String id)
Set Idvoid
setManagers(java.util.Collection<PropertyManager> managers)
Sets the collection of all managers.void
setName(java.lang.String name)
Set the name of the style.java.lang.String
toString()
Returns a string representation of the style.void
updateDefinedIn(Style src)
Update allExtendablePropertyManager
in 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:
toString
in 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:
clone
in 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:
accept
in interfacePropertyVisitorAcceptor
- Parameters:
visitor
- the PropertyVisitor.- Throws:
java.lang.Exception
-
getClassType
public java.lang.String getClassType()
Returns property class type.- Specified by:
getClassType
in 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:
propertyChange
in 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
- thePropertyChangeListener
to 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 allExtendablePropertyManager
in 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
-
-