EN · DE · RU · FR · ES

#674: ConfigurationParam.java

projectforge-business/src/main/java/org/projectforge/framework/configuration/ConfigurationParam.java Тип: Java · Роль: Конфигурация · Исходник: projectforge-business/src/main/java/org/projectforge/framework/configuration/ConfigurationParam.java 253 строки · 88 кода · 142 комментария · 23 пустых
Класс конфигурации Spring/приложения, определяющий бины, настройки и связи для подсистемы ConfigurationParam.

Структура кода

Пакет: org.projectforge.framework.configuration

Перечисления: ConfigurationParam

Реализует: IConfigurationParam

Методы (7): getKey, getType, getI18nKey, getDefaultStringValue, getDefaultLongValue, getDefaultBooleanValue, getDescriptionI18nKey

Поля (5): key, type, defaultStringValue, defaultIntValue, defaultBooleanValue

Импорты: 1 пакет

Исходный код (сокращён)

package org.projectforge.framework.configuration;

import java.util.TimeZone;

/**
 * Класс параметров конфигурации.
 */
public enum ConfigurationParam implements IConfigurationParam
{
  /**
   * Email системного администратора.
   */
  SYSTEM_ADMIN_E_MAIL("systemAdministratorEMail", ConfigurationType.STRING), //
  /**
   * Параметр конфигурации "Сообщение дня".
   */
  MESSAGE_OF_THE_DAY("messageOfTheDay", ConfigurationType.TEXT), //

  /**
   * Домен календаря.
   */
  CALENDAR_DOMAIN("calendarDomain", ConfigurationType.STRING), //
  /**
   * Параметр конфигурации организации.
   */
  ORGANIZATION("organization", ConfigurationType.TEXT), //
  /**
   * Параметр конфигурации часового пояса по умолчанию.
   */
  DEFAULT_TIMEZONE("timezone", ConfigurationType.TIME_ZONE, TimeZone.getDefault().getID()), //
  /**
   * Параметр конфигурации форматов дат.
   */
  DATE_FORMATS("dateFormats", ConfigurationType.STRING, "MM/dd/yyyy;dd/MM/yyyy;dd.MM.yyyy;yyyy-MM-dd"), //
  /**
   * Параметр конфигурации форматов дат для Excel.
   */
  EXCEL_DATE_FORMATS("excelDateFormats", ConfigurationType.STRING, "MM/DD/YYYY;DD/MM/YYYY;DD.MM.YYYY"), //
  /**
   * Параметр конфигурации email для обратной связи.
   */
  FEEDBACK_E_MAIL("feedbackEMail", ConfigurationType.STRING), //
  /**
   * Параметр конфигурации НДС по умолчанию для Fibu.
   */
  FIBU_DEFAULT_VAT("fibu.defaultVAT", ConfigurationType.PERCENT), //
  /**
   * Параметр конфигурации настроенной стоимости.
   */
  COST_CONFIGURED("fibu.costConfigured", ConfigurationType.BOOLEAN), //
  /**
   * Параметр конфигурации настроенной стоимости.
   */
  TIMESHEET_NOTE_SAVINGS_BY_AI("timesheet.noteSavingsByAI", ConfigurationType.TEXT), //
  /**
   * Параметр конфигурации префикса телефонного кода страны по умолчанию.
   */
  DEFAULT_COUNTRY_PHONE_PREFIX("countryPhonePrefix", ConfigurationType.STRING, "+49"), //
  /**
   * Параметр конфигурации активированных плагинов.
   */
  PLUGIN_ACTIVATED("pluginsActivated", ConfigurationType.STRING), //
  /**
   * Параметр конфигурации email-адреса отдела кадров.
   */
  HR_MAILADDRESS("hr.emailaddress", ConfigurationType.STRING),//
  /**
   * Глобально определённые, необязательные теги, которые пользователи могут добавлять к своим табелям учёта времени.
   */
  TIMESHEET_TAGS("timesheetTags", ConfigurationType.STRING), //
  /**
   * Параметр конфигурации даты окончания отпуска за прошлый год.
   */
  END_DATE_VACATION_LAST_YEAR("vacation.lastyear.enddate", ConfigurationType.STRING, "31.03."),
  /**
   * Параметр конфигурации минимальной длины пароля.
   */
  MIN_PASSWORD_LENGTH("minPasswordLength", ConfigurationType.LONG, 8),
  /**
   * Проверка флага пароля — конфигурация, при которой пароли будут проверяться на необходимость смены при каждом вводе нового.
   */
  PASSWORD_FLAG_CHECK_CHANGE("password.flag.checkChange", ConfigurationType.BOOLEAN, true);

  /**
   * Ключ.
   */
  private final String key;

  /**
   * Тип конфигурации.
   */
  private final ConfigurationType type;

  /**
   * Строковое значение по умолчанию.
   */
  private final String defaultStringValue;

  /**
   * Целочисленное значение по умолчанию.
   */
  private final int defaultIntValue;

  /**
   * Логическое значение по умолчанию.
   */
  private final boolean defaultBooleanValue;

  /**
   * Ключ будет использоваться, например, для i18n.
   *
   * @return
   */
  @Override
  public String getKey()
  {
    return key;
  }

// ... (сокращено, всего 231 строка)

История Git

868d6abb7 2025 -> 2026
f894af3ac ConfigurationParam.timesheet.noteSavingsByAI STRING -> TEXT
1449f4859 WIP: экономия времени с помощью ИИ в табелях, добавлен параметр конфигурации для заметки.
63081666f Заголовки исходных файлов: 2024 -> 2025.
4c04cfd65 КРУПНОЕ ИЗМЕНЕНИЕ! Миграция целочисленных id на Long id (включая внешние ключи и т.д.)