jakartaee / jakartaee/data

Keep track of documentation needed for Restrictions, Expressions, and Constraints

Open
#1,086 1 comment 1 reaction 0 assignees View on GitHub
documentation
Dominant language
Java
Stars
150
Forks
37
Avg merge
4d 4h
Merged PRs (30d)
34

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:

1. - [x] 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.
2. - [x] Expression.
3. - [x] ComparableExpression and its subtypes within the expression package.
4. - [x] Literal and 1 of the subtypes from the expression.literal package.
5. - [x] The remaining subtypes from the expression.literal package.
6. - [x] Constraint and 1 of the subtypes from the constraint package
7. - [x] The remaining subtypes from the constraint package
8. - [ ] NumericOperatorExpression
9. - [ ] FunctionExpression, TextFunctionExpression, NumericFunctionExpression
10. - [ ] CurrentDate, CurrentDateTime, CurrentTime
11. - [ ] NumericCast (will need to be able to document which types of casting are valid)
12. - [ ] NavigableExpression, Path and 1 of the subtypes from the expression.path package
13. - [ ] The remaining subtypes from the expression.path package
14. - [ ] Double check for other API classes that have been added but not documentedIn 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.

Contributor guide

Open the contributing guide

Research direction

Review the unchecked documentation groups, starting with NumericOperatorExpression and the function-expression classes, then continue through date/time, casting, and path expressions. Compare the existing Javadocs and the specification document, and treat the work as done when the remaining API classes and specification areas are documented with examples that avoid deferred or uncertain capabilities.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
documentation
Issue type
Documentation
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.