ReportObjective.javaprojectforge-business/src/main/java/org/projectforge/business/fibu/kost/reporting/ReportObjective.java, содержащий Java-код для уровня финансового учёта.Пакет: org.projectforge.business.fibu.kost.reporting
Классы: ReportObjective, Pattern, Pattern, Pattern
Методы (22): getTitle, setTitle, getId, setId, isSuppressOther, setSuppressOther, isSuppressDuplicates, setSuppressDuplicates, getHasChildren, getHasChilds, addChildReportObjective, getChildReportObjectives, getKost1IncludeRegExpList, getKost1ExcludeRegExpList, getKost2IncludeRegExpList, getKost2ExcludeRegExpList, addKost1IncludeRegExp, addKost1ExcludeRegExp, addKost2IncludeRegExp, addKost2ExcludeRegExp, getParent, addRegExp
Поля (9): title, id, suppressOther, suppressDuplicates, kost1IncludeRegExpList, kost1ExcludeRegExpList, kost2IncludeRegExpList, kost2ExcludeRegExpList, childReportObjectives
Импорты: 6 пакетов
package org.projectforge.business.fibu.kost.reporting;
import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
import com.thoughtworks.xstream.annotations.XStreamImplicit;
import org.apache.commons.collections4.CollectionUtils;
import java.util.ArrayList;
import java.util.List;
/**
* Объект отчёта, свойства которого могут быть проанализированы из XML-файла. Описание формата можно найти в руководстве.
* ReportObjective привязан к отчёту. Отчёт использует ReportObjective для фильтрации проводок. <br/> ВНИМАНИЕ:
* Дочерний ReportObjective может только дополнительно отфильтровывать проводки родительского ReportObjective, т. е. проводки
* всегда образуют подмножество!
* @author Thomas Landgraf (tl@micromata.de)
* @author Kai Reinhard
*
*/
@XStreamAlias("ReportObjective")
public class ReportObjective
{
@XStreamAsAttribute
private String title;
@XStreamAsAttribute
private String id;
@XStreamAsAttribute
private boolean suppressOther;
@XStreamAsAttribute
private boolean suppressDuplicates;
@XStreamImplicit(itemFieldName = "kost1-include")
private List<String> kost1IncludeRegExpList;
@XStreamImplicit(itemFieldName = "kost1-exclude")
private List<String> kost1ExcludeRegExpList;
@XStreamImplicit(itemFieldName = "kost2-include")
private List<String> kost2IncludeRegExpList;
@XStreamImplicit(itemFieldName = "kost2-exclude")
private List<String> kost2ExcludeRegExpList;
@XStreamImplicit(itemFieldName = "ReportObjective")
private List<ReportObjective> childReportObjectives;
private transient ReportObjective parent;
public ReportObjective()
{
}
/**
* Текстовое название
*/
public String getTitle()
{
return title;
}
public void setTitle(String title)
{
this.title = title;
}
/**
* Почти текстовый идентификатор, например "projekt4711", для построения структуры гиперссылок или папок
*/
public String getId()
{
return id;
}
public void setId(String id)
{
this.id = id;
}
/**
* @return False (по умолчанию), если прочие проводки должны учитываться как отдельный дочерний ReportObjective. Будут
* проанализированы дочерние ReportObjective и собраны проводки этого ReportObjective, не используемые дочерними.
* Сумма всех проводок / BWA дочерних элементов должна соответствовать этому ReportObjective (если нет дубликатов).
* @see #isSupressDuplicates()
*/
public boolean isSuppressOther()
{
return suppressOther;
}
public void setSuppressOther(boolean suppressOther)
{
this.suppressOther = suppressOther;
}
/**
* @return False (по умолчанию), если дубликаты, т. е. проводки, многократно используемые дочерними ReportObjective, должны
* быть объединены в отдельный дочерний ReportObjective. С помощью этого флага и isOther можно проверить полноту и
* отсутствие дубликатов дочерних ReportObjective.
* @see #isSuppressOther()
*/
public boolean isSuppressDuplicates()
{
return suppressDuplicates;
}
public void setSuppressDuplicates(boolean suppressDuplicates)
{
this.suppressDuplicates = suppressDuplicates;
}
/**
* @return True, если существуют дочерние ReportObjective, иначе false.
*/
public boolean getHasChildren()
{
// ... (сокращено, всего 235 строк)
868d6abb7 2025 -> 2026 ee32b3e3a Устаревание кода. 63081666f Заголовки исходных файлов: 2024 -> 2025. b6092df09 Авторские права 2023 -> 2024 ab45d51fa Авторские права 2001-2022 -> 2001-2023.