-
Notifications
You must be signed in to change notification settings - Fork 2
EditPolicy Rules
nullsub edited this page Jan 8, 2017
·
28 revisions
A summary of all rules used in FRaMED for EditPolicies
Unused Configuration options:
RML_FEATURE_MODEL,
ROLE_TYPES, ROLE_STRUCTURE, , , ,
, , DEPENDENT, ON_COMPARTMENTS, ON_RELATIONSHIPS,
ROLE_CONSTRAINTS, ROLE_IMPLICATION, ROLE_PROHIBITION, ROLE_EQUIVALENCE, GROUP_CONSTRAINTS,
OCCURRENCE_CONSTRAINTS, , RELATIONSHIP_CONSTRAINTS, RELATIONSHIP_CARDINALITY,
, PARTHOOD_CONSTRAINTS, INTER_RELATIONSHIP_CONSTRAINTS,
COMPARTMENT_TYPES, , COMPARTMENT_PROPERTIES, COMPARTMENT_BEHAVIOR,
COMPARTMENT_INHERITANCE, PARTICIPANTS, CONTAINS_COMPARTMENTS,
PLAYABLE_BY_DEFINING_COMPARTMENT, DATA_TYPES, ,COMPARTMENT_STRUCTURE
Trivial Pallete Entry Rules https://github.com/leondart/FRaMED/wiki/Palette-Entry-Visibility#step-in-table
| Configuration | Description | EditPolicy | Code |
| RML_FEATURE_MODEL | - | - | - |
| RELATIONSHIPS, INTRA_RELATIONSHIP_CONSTRAINTS | nur wenn aktiviert dürfen RELATIONSHIPS erzeugt werden | - | - |
| PLAYERS (NATURALS, ROLES, COMPARTMENTS, DATES) | (von wo aus darf fullfilment gezogen werden) -> (wenn roles aktiviert, dann Compartments dürfen compartments spielen) | - | - |
| ROLE_INHERITANCE | man darf vererbungspfeile ziehen (nur relevant für step in) | - | - |
| ROLE_PROPERTIES, ROLE_BEHAVIOR | attribute/methoden dürfen aus der Pallete dahin ziehen zum entsprechenden role-type | - | - |
| DATA_TYPE_INHERITANCE | Wenn Datatype-Inheritance aktiviert: vererbung zwischen -types | - | - |
| PLAYABLE | When FULFILLMENT is set, show FULFILLMENT in pallete entry | FULFILLMENT | - |
| - |
More Complex rules
| Description | EditPolicy | Code |
| When COMPARTMENT is not set, only RoleModel can be added | - | - |
| If Compartment c1 contains Compartment c2 then all roles in c1 can play other roles | - | - |
| when the parent of a model is a compartmenttype or a rolegroup only roletype and rolegroup instances can be added | - | - |
| when the parent of a model is a group or the model is the root model than only naturaltype, compartmenttype and group instances can be added to the model | - | - |
installEditPolicy(EditPolicy.CONNECTION_ENDPOINTS_ROLE, new ConnectionEndpointEditPolicy());
installEditPolicy(EditPolicy.CONNECTION_ROLE, new ORMRelationConnectionEditPolicy());
installEditPolicy(EditPolicy.CONNECTION_BENDPOINTS_ROLE, new ORMRelationBendpointEditPolicy());
installEditPolicy(EditPolicy.GRAPHICAL_NODE_ROLE, new ORMRelationGraphicalNodeEditPolicy());
installEditPolicy(EditPolicy.DIRECT_EDIT_ROLE, new ORMNamedElementDirectEditPolicy());
installEditPolicy(EditPolicy.LAYOUT_ROLE, new ORMSegmentXYLayoutPolicy());
installEditPolicy(EditPolicy.LAYOUT_ROLE, new ORMSegmentXYLayoutPolicy());
installEditPolicy(EditPolicy.DIRECT_EDIT_ROLE, new ORMNamedElementDirectEditPolicy());
installEditPolicy("Snap Feedback", new SnapFeedbackPolicy());
installEditPolicy(EditPolicy.COMPONENT_ROLE, new ORMShapeComponentEditPolicy(this));
installEditPolicy(EditPolicy.GRAPHICAL_NODE_ROLE, new ORMShapeGraphicalNodeEditPolicy());
installEditPolicy(EditPolicy.LAYOUT_ROLE, new ORMModelXYLayoutPolicy());
installEditPolicy(EditPolicy.CONTAINER_ROLE, new ORMContainerEditPolicy());
installEditPolicy("Snap Feedback", new SnapFeedbackPolicy());
installEditPolicy(EditPolicy.DIRECT_EDIT_ROLE, new ORMNamedElementDirectEditPolicy());
installEditPolicy(EditPolicy.COMPONENT_ROLE, new ORMAttributeOperationComponentEditPolicy());
Advanced rules
| Description | EditPolicy | Code |
| Check entity names with regular expression | - | - |