Interface DependencyEditor
@OpenApiAll
public interface DependencyEditor
Interface for mechanism, which is used to edit dependency matrix.
Value editors may be registered inside
MatrixFactory
Value editors define which matrix cells are editable, and may add new add/remove dependency actions
according to provided context
NOTE: if canCreate returns false, no menu items
will be created using createAddActions. The same applies to canEdit
and createEditActions methods-
Method Summary
Modifier and TypeMethodDescriptionbooleancanCreate(PersistenceManager settings, ElementNode row, ElementNode column, AbstractMatrixCell cell) Analyze specific cell and decides if there is any new dependencies which can be created for this pair of elementsbooleancanEdit(PersistenceManager persistenceManager, ElementNode row, ElementNode column, AbstractMatrixCell cell) Analyze current cell, and decide if this there are at least one dependency, which can be deleted/edited.voidclear()Purpose of this method to clean up all unnecessary cache and objectsvoidcreateAddActions(PersistenceManager settings, ElementNode row, ElementNode column, AbstractMatrixCell cell, ActionsCategory mainCategory, ActionsCategory rowToColumn, ActionsCategory columnToRow) Used to edit specific cell action categories when user initiates add relationships actions.voidcreateEditActions(PersistenceManager settings, ElementNode row, ElementNode column, AbstractMatrixCell cell, ActionsCategory main, ActionsCategory deleteActions) Analyze current cell, and create actions which can remove/edit specific dependencies from this cellvoidelementUpdated(Collection<Element> element) This method is triggered when elements are updated but Build is not initiated.voidinit(PersistenceManager settings, ProgressStatus status) Initializes value editor.
-
Method Details
-
init
Initializes value editor. This method is executed during matrix rebuild- Parameters:
settings- matrix settingsstatus- progress status
-
createAddActions
void createAddActions(PersistenceManager settings, ElementNode row, ElementNode column, AbstractMatrixCell cell, ActionsCategory mainCategory, ActionsCategory rowToColumn, ActionsCategory columnToRow) Used to edit specific cell action categories when user initiates add relationships actions. It may be either popup menu items or double click action- Parameters:
settings- matrix settingsrow- row elementcolumn- column elementcell- cell valuemainCategory- whole menu categoryrowToColumn- column to row dependency categorycolumnToRow- row to column dependency category
-
createEditActions
void createEditActions(PersistenceManager settings, ElementNode row, ElementNode column, AbstractMatrixCell cell, ActionsCategory main, ActionsCategory deleteActions) Analyze current cell, and create actions which can remove/edit specific dependencies from this cell- Parameters:
settings- matrix settingsrow- row elementcolumn- column elementcell- current cellmain- main action categorydeleteActions- add remove dependency actions to this category
-
canCreate
boolean canCreate(PersistenceManager settings, ElementNode row, ElementNode column, @CheckForNull AbstractMatrixCell cell) Analyze specific cell and decides if there is any new dependencies which can be created for this pair of elements IMPORTANT: Make this method as fast as possible. Performance of this method highly influences overall performance of the Dependency matrix component- Parameters:
settings- matrix settingsrow- row elementcolumn- column elementcell- matrix cell- Returns:
trueif at least one relation can be created
-
canEdit
boolean canEdit(PersistenceManager persistenceManager, ElementNode row, ElementNode column, AbstractMatrixCell cell) Analyze current cell, and decide if this there are at least one dependency, which can be deleted/edited. IMPORTANT: Make this method as fast as possible. Performance of this method highly influences overall performance of the Dependency matrix component- Parameters:
persistenceManager- matrix settingsrow- row elementcolumn- column elementcell- matrix cell- Returns:
trueif there is at least one dependency which can be deleted.
-
elementUpdated
This method is triggered when elements are updated but Build is not initiated. All caches should be cleared- Parameters:
element- updated element
-
clear
void clear()Purpose of this method to clean up all unnecessary cache and objects
-