| Summary: | [library] Adding a parsing option to exclude non-standard operations from OCL Standard Library | ||
|---|---|---|---|
| Product: | [Modeling] OCL | Reporter: | Adolfo Sanchez-Barbudo Herrera <adolfosbh> |
| Component: | Core | Assignee: | OCL Inbox <mdt-ocl-inbox> |
| Status: | CLOSED WONTFIX | QA Contact: | |
| Severity: | enhancement | ||
| Priority: | P2 | CC: | alexander.igdalov, dvorak.radek, ed |
| Version: | 1.2.0 | Keywords: | plan |
| Target Milestone: | 2.0.0 | ||
| Hardware: | PC | ||
| OS: | Linux | ||
| Whiteboard: | Extensibility | ||
|
Description
Adolfo Sanchez-Barbudo Herrera
I think the root Environment wants to publish a Map of String to IOCLBehavior so that at any point code can invoke something like
oclAny.inheritance is ANY_SCALAR or ANY
IOclBehavior behavior = rootEnvironment.getBehavior("oclAny.inheritance");
if ("ANY_SCALAR".equals(behavior.getString())
...
or
((IAnyTypeBehavior)behavior).getOclAnyTypeClass();
to determine how to handle OclAny.
[not using final constants for clarity.]
So when choosing to use OCL 2.0 the behaviorMap gets one set of values and for OCL 2.1 another, and for strixct/non-strat yet another.
All unknown behavior keys return a DefaultBehavior for upward compatibility,
so that we only have to introduce behaviors as and when behavioral variation
points are required.
The model driven library should allow users to supply variant libraries and so customised behaviours. Further variation should be focussed on additional library declarative capability. Closing WONTFIXes. Closing all bugs resolved in Indigo. |