diff --git a/CHANGELOG.md b/CHANGELOG.md index 67619a97..adeaaf4f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +# 2.9.0 +* Synced `LineOptions` from ChartJS source code #439 +* Updated dependencies + # 2.8.1 * Migrated deployment to _Sonatype Maven Central Portal_ [#155](https://github.com/xdev-software/standard-maven-template/issues/155) diff --git a/chartjs-java-model-demo/pom.xml b/chartjs-java-model-demo/pom.xml index e36f1b3a..9dbd49b2 100644 --- a/chartjs-java-model-demo/pom.xml +++ b/chartjs-java-model-demo/pom.xml @@ -7,11 +7,11 @@ software.xdev chartjs-java-model-root - 2.8.2-SNAPSHOT + 2.9.0-SNAPSHOT chartjs-java-model-demo - 2.8.2-SNAPSHOT + 2.9.0-SNAPSHOT jar diff --git a/chartjs-java-model/pom.xml b/chartjs-java-model/pom.xml index 66b6ed07..c1868504 100644 --- a/chartjs-java-model/pom.xml +++ b/chartjs-java-model/pom.xml @@ -6,7 +6,7 @@ software.xdev chartjs-java-model - 2.8.2-SNAPSHOT + 2.9.0-SNAPSHOT jar chartjs-java-model diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/dataset/PointDataset.java b/chartjs-java-model/src/main/java/software/xdev/chartjs/model/dataset/PointDataset.java index 361d0375..3b069d87 100644 --- a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/dataset/PointDataset.java +++ b/chartjs-java-model/src/main/java/software/xdev/chartjs/model/dataset/PointDataset.java @@ -21,12 +21,11 @@ import software.xdev.chartjs.model.enums.BorderCapStyle; import software.xdev.chartjs.model.enums.BorderJoinStyle; import software.xdev.chartjs.model.objects.OptionalArray; -import software.xdev.chartjs.model.options.elements.Fill; public abstract class PointDataset, O> extends Dataset { - private Fill fill; + private Object fill; private Float lineTension; @@ -64,18 +63,12 @@ public abstract class PointDataset, O> extends Dataset pointStyle = new OptionalArray<>(); - /** - * @see #setFill(Fill) - */ - public Fill getFill() + public Object getFill() { return this.fill; } - /** - * If true, fill the area under the line - */ - public T setFill(final Fill fill) + public T setFill(final Object fill) { this.fill = fill; return this.self(); diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/LineOptions.java b/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/LineOptions.java index 4f27911b..08f66b6b 100644 --- a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/LineOptions.java +++ b/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/LineOptions.java @@ -24,19 +24,85 @@ */ public class LineOptions extends Options { + protected Object borderCapStyle; + protected Number[] borderDash; + protected Number borderDashOffset; + protected Object borderJoinStyle; + protected Boolean capBezierPoints; + protected String cubicInterpolationMode; protected Number tension; protected Object stepped; - - /** - * @see #setShowLine(Boolean) - */ protected Boolean showLine; - /** - * @see #setSpanGaps(Boolean) - */ - protected Boolean spanGaps; + protected Object fill; + protected Object spanGaps; protected LineElements elements; + public Object getBorderCapStyle() + { + return this.borderCapStyle; + } + + public LineOptions setBorderCapStyle(final Object borderCapStyle) + { + this.borderCapStyle = borderCapStyle; + return this; + } + + public Number[] getBorderDash() + { + return this.borderDash; + } + + public LineOptions setBorderDash(final Number[] borderDash) + { + this.borderDash = borderDash; + return this; + } + + public Number getBorderDashOffset() + { + return this.borderDashOffset; + } + + public LineOptions setBorderDashOffset(final Number borderDashOffset) + { + this.borderDashOffset = borderDashOffset; + return this; + } + + public Object getBorderJoinStyle() + { + return this.borderJoinStyle; + } + + public LineOptions setBorderJoinStyle(final Object borderJoinStyle) + { + this.borderJoinStyle = borderJoinStyle; + return this; + } + + public Boolean getCapBezierPoints() + { + return this.capBezierPoints; + } + + public LineOptions setCapBezierPoints(final Boolean capBezierPoints) + { + this.capBezierPoints = capBezierPoints; + return this; + } + + public String getCubicInterpolationMode() + { + return this.cubicInterpolationMode; + } + + public LineOptions setCubicInterpolationMode(final String cubicInterpolationMode) + { + this.cubicInterpolationMode = cubicInterpolationMode; + return this; + } + public Number getTension() { return this.tension; @@ -59,64 +125,44 @@ public LineOptions setStepped(final Object stepped) return this; } - /** - * @see #setShowLine(Boolean) - */ public Boolean getShowLine() { return this.showLine; } - /** - *

- * If false, the lines between points are not drawn - *

- * - *

- * Default {@code true} - *

- */ public LineOptions setShowLine(final Boolean showLine) { this.showLine = showLine; return this; } - /** - * @see #setSpanGaps(Boolean) - */ - public Boolean getSpanGaps() + public Object getFill() + { + return this.fill; + } + + public LineOptions setFill(final Object fill) + { + this.fill = fill; + return this; + } + + public Object getSpanGaps() { return this.spanGaps; } - /** - *

- * If true, NaN data does not break the line - *

- * - *

- * Default {@code false} - *

- */ - public LineOptions setSpanGaps(final Boolean spanGaps) + public LineOptions setSpanGaps(final Object spanGaps) { this.spanGaps = spanGaps; return this; } - /** - * @return {@link LineElements} instance, or {@code null} if not set - */ public LineElements getElements() { return this.elements; } - /** - * @param elements an {@link LineElements} instance, or {@code null} - * @return this instance for method chaining - */ public LineOptions setElements(final LineElements elements) { this.elements = elements; diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/elements/Fill.java b/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/elements/Fill.java index 9092807a..c662fb31 100644 --- a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/elements/Fill.java +++ b/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/elements/Fill.java @@ -24,7 +24,10 @@ *

* Option on the dataset object which can be used to create area between two datasets or a dataset and a boundary. *

+ * @deprecated Use corresponding data type like Boolean or String directly. + * All internal usages have been replaced by Object. */ +@Deprecated public class Fill { @SuppressWarnings("java:S1700") // Used inside JSON model diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/elements/Line.java b/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/elements/Line.java index 969f226d..f7b2cb5b 100644 --- a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/elements/Line.java +++ b/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/elements/Line.java @@ -41,7 +41,7 @@ public class Line protected Float borderDashOffset; protected BorderJoinStyle borderJoinStyle; protected Boolean capBezierPoints; - protected Fill fill; + protected Object fill; protected Boolean stepped; /** @@ -277,10 +277,7 @@ public Line setCapBezierPoints(final Boolean capBezierPoints) return this; } - /** - * @see #setFill(Fill) - */ - public Fill getFill() + public Object getFill() { return this.fill; } @@ -294,7 +291,7 @@ public Fill getFill() * Default {@code true} *

*/ - public Line setFill(final Fill fill) + public Line setFill(final Object fill) { this.fill = fill; return this; diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/elements/LineElements.java b/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/elements/LineElements.java index 658993c0..96112e2a 100644 --- a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/elements/LineElements.java +++ b/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/elements/LineElements.java @@ -20,7 +20,6 @@ */ public class LineElements { - protected Line line; protected Point point; diff --git a/pom.xml b/pom.xml index 198c3aca..53dc2ad2 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ software.xdev chartjs-java-model-root - 2.8.2-SNAPSHOT + 2.9.0-SNAPSHOT pom