File tree Expand file tree Collapse file tree 1 file changed +25
-0
lines changed
Expand file tree Collapse file tree 1 file changed +25
-0
lines changed Original file line number Diff line number Diff line change 1+ ### Code Design
2+ * Model is based on Objects and not primitives that allows nullify requests and have null values for data
3+ that wasn't provided by docker daemon.
4+ * For null safeness findbugs annotations are used.
5+ ** Every method that may return `null` (and we are unsure in any fields as docker daemon may change something)
6+ should be annotated with `@CheckForNull` return qualifier from `javax.annotation` package.
7+ ** Methods that can't return `null` must be annotated with `@Nonnull` .
8+ ** The same for Arguments.
9+ ** `@Nullable` must be used only for changing inherited (other typed) qualifier.
10+ * Setters in builder style must be prefixed with `withXX` .
11+ * All classes should provide `toString()` `equals()` and `hashCode()` defined methods.
12+ * Javadocs
13+ ** Provide full information on field:
14+ *** For models define API version with `@since {@link RemoteApiVersion#VERSION_1_X}`.
15+ ** getters/setters should refernce to field `@see #$field`.
16+
17+ ### Coding style
18+ * TBD, some initial styling already enforced with checkstyle.
19+ IDEA/checkstyle file analogues will be provided soon.
20+
21+ ### Testing
22+ * Unit tests for serder (serialization-deserialization).
23+ * Integration tests for commands.
24+ * If model object has builders, then fill it with data and compare by `equals()` with expected response
25+ from docker daemon. If failed, then some fields mappings are wrong.
You can’t perform that action at this time.
0 commit comments