Description
We deferred the creation of documentation for Restrictions, Expressions, and Constraints due to a large amount of churn in those classes. This issue is opened to track the work that is needed, as well as to try to logically split it up in to parts that have been more stable vs parts that might be more likely to continue to see changes. There is also a lot of similarity in many of the API classes (for example the constraint subtypes or core expression subtypes), and when we are ready to work on those, an efficient way to do so would be to work on just a single class first and gain agreement on that before replicating it to all of the similar classes. That will save a lot of work for both the reviewers and author of the PR.
From what seems most stable to most likely to see more changes:
-
- Restriction (basic and composite) - this piece has remained stable for a while now, and I'm going to look into starting on the Javadoc for it.
-
- Expression.
-
- The Expression subtypes from the expression package.
-
- Literal and 1 of the subtypes from the expression.literal package.
-
- The remaining subtypes from the expression.literal package.
-
- NumericOperatorExpression
-
- FunctionExpression, TextFunctionExpression, NumericFunctionExpression
-
- CurrentDate, CurrentDateTime, CurrentTime
-
- NumericCast (will need to be able to document which types of casting are valid)
-
- Path and 1 of the subtypes from the expression.path package
-
- The remaining subtypes from the expression.path package
-
- Constraint and 1 of the subtypes from the constraint package
-
- The remaining subtypes from the constraint package
-
- Double check for other API classes that have been added but not documented
In addition to the above, the specification document. I wasn't sure where to place that in the order.
We need to be careful when writing examples into documentation to avoid using capability that is still in question or is expected to be deferred post 1.1, such as constraints and expressions that compare against other expressions and attributes rather than values.