EN · DE · RU · FR · ES

#367: AddressbookFilter.java

projectforge-business/src/main/java/org/projectforge/business/address/AddressbookFilter.java Тип: Java · Роль: Компонент · Исходник: projectforge-business/src/main/java/org/projectforge/business/address/AddressbookFilter.java 149 строк · 72 кода · 58 комментариев · 19 пустых
Бин критериев фильтра/поиска для запросов к адресной книге. Расширяет BaseSearchFilter, предоставляя типизированные параметры запроса для представлений списков и экспорта в Excel.

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

Пакет: org.projectforge.business.address

Классы: AddressbookFilter

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

Расширяет: BaseSearchFilter

Реализует: Serializable

Методы (10): getOwnerType, setOwnerType, isAdmin, isAll, isOwn, isOthers, isReadonlyAccess, setReadonlyAccess, isFullAccess, setFullAccess

Поля (2): serialVersionUID, abOwner

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

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

package org.projectforge.business.address;

import org.projectforge.framework.persistence.api.BaseSearchFilter;

import java.io.Serializable;

/**
 * @author M. Lauterbach (m.lauterbach@micromata.de)
 */
public class AddressbookFilter extends BaseSearchFilter implements Serializable
{
  private static final long serialVersionUID = 7410573665085873058L;

  public enum OwnerType
  {
    ALL, OWN, OTHERS, ADMIN
  }

  private boolean fullAccess, readonlyAccess;

  protected OwnerType abOwner;

  public AddressbookFilter()
  {
    this(null);
  }

  public AddressbookFilter(final BaseSearchFilter filter)
  {
    super(filter);
    fullAccess = readonlyAccess = true;
    abOwner = OwnerType.ALL;
    if (filter instanceof AddressbookFilter) {
      final AddressbookFilter obj = (AddressbookFilter) filter;
      this.fullAccess = obj.isFullAccess();
      this.readonlyAccess = obj.isReadonlyAccess();
      this.abOwner = obj.getOwnerType();
    }
  }

  /**
   * @return тип фильтра
   */
  public OwnerType getOwnerType()
  {
    return abOwner;
  }

  /**
   * @param calOwner тип фильтра для установки
   * @return this для цепочки вызовов.
   */
  public AddressbookFilter setOwnerType(final OwnerType calOwner)
  {
    this.abOwner = calOwner;
    return this;
  }

  /**
   * @return true, если calOwner == {@link OwnerType#ADMIN}
   */
  public boolean isAdmin()
  {
    return abOwner == OwnerType.ADMIN;
  }

  /**
   * @return true, если calOwner == {@link OwnerType#OWN}
   */
  public boolean isAll()
  {
    return abOwner == OwnerType.ALL;
  }

  /**
   * @return true, если calOwner == {@link OwnerType#OWN}
   */
  public boolean isOwn()
  {
    return abOwner == OwnerType.OWN;
  }

  /**
   * @return true, если calOwner == {@link OwnerType#OTHERS}
   */
  public boolean isOthers()
  {
    return abOwner == OwnerType.OTHERS;
  }

  /**
   * @return readonlyAccess
   */
  public boolean isReadonlyAccess()
  {
    return readonlyAccess;
  }

  /**
   * @param readonlyAccess readOnlyAccess для установки
   * @return this для цепочки вызовов.
   */
  public AddressbookFilter setReadonlyAccess(final boolean readonlyAccess)
  {
    this.readonlyAccess = readonlyAccess;
    return this;
  }

  /**
   * @return fullAccess
   */
  public boolean isFullAccess()
  {
    return fullAccess;
  }

  /**
   * @param fullAccess fullAccess для установки
   * @return this для цепочки вызовов.
// ... (сокращено, всего 127 строк)

История Git

868d6abb7 2025 -> 2026
63081666f Заголовки исходных файлов: 2024-> 2025.
b6092df09 Авторские права 2023 -> 2024
ab45d51fa Авторские права 2001-2022 -> 2001-2023.
5f7ef41b8 Авторские права 2021 -> 2022