Why are classes repeated in the HyJavaCharts API?

Why are classes repeated in the HyJavaCharts API?

Our primary goal is for the Java API to exactly match the Highcharts Javascript API.
To achieve this we made the decision to map a Java class to each Highcharts parent option. (ie. parent to other options).

For example the DataLabels option appears under each plotOptions type and also each series type.
To map this exactly we created an DataLabels class for each DataLabels option.

When using the library this is straight forward as you would normally reference an object from its parent class.
For example:

chartOptions.plotOptions().area().dataLabels().allowOverlap(false);

You would not normally need to code:

import com.hyjavacharts.model.highcharts.plotoptions.area.DataLabels;

DataLabels d = new DataLabels();
d.allowOverlap(false);
chartOptions.plotOptions().area().dataLabels(d);

HyJavaCharts

The HyJavaCharts Java API is up to date with the latest version of Highcharts and fully supports all chart types and chart options in Highcharts v5.x and v6.x. Current versions supported are: