Альтернатива для устаревших классов в docx4j 11+ - PullRequest
0 голосов
/ 02 февраля 2020

Я использовал классы ListSer и SerContent ранее, когда использовал docx4j 6+. Теперь в рамках проверки безопасности мы решили обновить docx4j до 11.1.3 и обнаружили, что эти классы отсутствуют.

Ниже приведен случай, когда мы его использовали:

SerContent ctChartSer = null;
ListSer ctChartSers = null;
List<SerContent> ctChartSersList = null; //= ctChartSers.getSer();
CTTextBody body = null;

String typeOfChart = "";
if (object instanceof CTBarChart) {
    typeOfChart = "bar";
    ctChartSers = (CTBarChart) object;
    ctChartSersList = ctChartSers.getSer();
} else if (object instanceof CTBar3DChart) {
    typeOfChart = "bar";
    ctChartSers = (CTBar3DChart) object;
    ctChartSersList = ctChartSers.getSer();
} else if (object instanceof CTLineChart) {
    typeOfChart = "line";
    ctChartSers = (CTLineChart) object;
    ctChartSersList = ctChartSers.getSer();
} else if (object instanceof CTAreaChart) {
    typeOfChart = "area";
    ctChartSers = (CTAreaChart) object;
    ctChartSersList = ctChartSers.getSer();
} else if (object instanceof CTPieChart) {
    typeOfChart = "pie";
    ctChartSers = (CTPieChart) object;
    ctChartSersList = ctChartSers.getSer();
} else if (object instanceof CTPie3DChart) {
    typeOfChart = "pie";
    ctChartSers = (CTPie3DChart) object;
    ctChartSersList = ctChartSers.getSer();
} else if (object instanceof CTDoughnutChart) {
    typeOfChart = "doughnut";
    ctChartSers = (CTDoughnutChart) object;
    ctChartSersList = ctChartSers.getSer();
}

В основном я хочу переменную для хранения содержимого ряда диаграммы. Может ли кто-нибудь помочь заменить или изменить подход?

1 Ответ

0 голосов
/ 02 февраля 2020

Глядя на org.docx4j.dml.chart.CTPieChart ( это пакет, о котором вы говорите? ), есть :

 public List<CTPieSer> getSer()

Я не проверял другие классы, на которые вы ссылаетесь, но я ожидаю, что в них также будет присутствовать метод getSer. Эти классы должны быть в вашем docx4j-open xml -объектах jar.

Кстати, похоже, было бы неплохо, чтобы эти классы реализовали общий интерфейс getSer.

...