/*
 * SDK Pullenti Unitext, version 4.33, fabruary 2026. Copyright (c) 2013-2026, Pullenti. All rights reserved. 
 * Non-Commercial Freeware and Commercial Software. 
 * This class is generated using the converter Unisharping (www.unisharping.ru) from Pullenti C# project. 
 * The latest version of the code is available on the site www.pullenti.ru
 */

package com.pullenti.unitext;

/**
 * Параметры генерации плоского текста функциями GetPlaintext и GetPlaintextString
 * Параметры генерации плоского текста
 */
public class GetPlaintextParam {

    /**
     * Устанавливать значения BeginChar и EndChar у элементов, по умолчанию false 
     * (раньше было true, что приводило к коллизиям)
     */
    public boolean setPositions = false;

    /**
     * Переход на новую строку, по умолчанию "\r\n".
     */
    public String newLine = "\r\n";

    /**
     * Табуляция, по умолчанию "\t".
     */
    public String tab = "\t";

    /**
     * Разрыв страниц, по умолчанию "\f".
     */
    public String pageBreak = "\f";

    /**
     * Начало таблицы, по умолчанию "\x001e".
     */
    public String tableStart = ((String.valueOf((char)0x1E)));

    /**
     * Окончание таблицы, по умолчанию "\x001f".
     */
    public String tableEnd = ((String.valueOf((char)0x1F)));

    /**
     * Окончание ячейки таблицы, по умолчанию "\x0007".
     */
    public String tableCellEnd = ((String.valueOf((char)7)));

    /**
     * Окончание строки таблицы, по умолчанию "\x0007".
     */
    public String tableRowEnd = ((String.valueOf((char)7)));

    /**
     * Шаблон вывода сносок (текст сноски в шаблоне - это %1), по умолчанию " (%1)". 
     * Если null, то не выводится.
     */
    public String footnotesTemplate = " (%1)";

    /**
     * Шаблон вывода значений гиперссылок (Uri в шаблоне - это %1), 
     * если null, то не выводится - по умолчанию. Гиперссылка также не выводится, если она совпадает 
     * с фрагментом текста (то есть в тексте в явном виде).
     */
    public String hyperlinksTemplate = null;

    /**
     * Шаблон вывода участков текста, которые представлены в верхнем индексе (тип UnitextPlaintext.Typ = UnitextPlaintextType.Sup). 
     * По умолчанию, "&lt;%1&gt;", если null, то просто текст.
     */
    public String supTemplate = "<%1>";

    /**
     * Шаблон вывода участков текста, которые представлены в нижнем индексе (тип UnitextPlaintext.Typ = UnitextPlaintextType.Sub). 
     * По умолчанию, "&lt;%1&gt;", если null, то просто текст.
     */
    public String subTemplate = "<%1>";

    /**
     * Шаблон вывода картинок, вместо %1 подставляется размер картинки.
     */
    public String imageTemplate = "[Картинка%1]";

    /**
     * Игнорировать текст в формах
     */
    public boolean ignoreShapes = false;

    /**
     * Ограничение на размер результирующего текста (0 - нет ограничения)
     */
    public int maxTextLength = 0;

    /**
     * Генерировать ли текст для внутренних документов UnitextDocument.InnerDocuments, если они есть, по умолчанию true.
     */
    public boolean useInnerDocuments = true;

    /**
     * Выводить ли игнорируемые элементы (по умолчанию, тексты игнорируемых элементов 
     * заменяются на пробелы)
     */
    public boolean keepIgnored = false;

    // Используется внутренним образом
    public int ignoreLevel = 0;

    public static GetPlaintextParam _new2(String _arg1, String _arg2, String _arg3) {
        GetPlaintextParam res = new GetPlaintextParam();
        res.newLine = _arg1;
        res.tab = _arg2;
        res.pageBreak = _arg3;
        return res;
    }

    public static GetPlaintextParam _new357(boolean _arg1) {
        GetPlaintextParam res = new GetPlaintextParam();
        res.setPositions = _arg1;
        return res;
    }

    public static GetPlaintextParam _new607(boolean _arg1, String _arg2, String _arg3, String _arg4, String _arg5, String _arg6) {
        GetPlaintextParam res = new GetPlaintextParam();
        res.setPositions = _arg1;
        res.newLine = _arg2;
        res.pageBreak = _arg3;
        res.tableStart = _arg4;
        res.tableCellEnd = _arg5;
        res.tableEnd = _arg6;
        return res;
    }
    public GetPlaintextParam() {
    }
}
