EN · DE · RU · FR · ES

#2833: TotalNewCounterModel.java

projectforge-wicket/src/main/java/org/projectforge/web/TotalNewCounterModel.java Тип: Java · Роль: Компонент · Исходник: projectforge-wicket/src/main/java/org/projectforge/web/TotalNewCounterModel.java 73 строки · 38 кода · 27 комментариев · 8 пустых
Файл исходного кода projectforge-wicket/src/main/java/org/projectforge/web/TotalNewCounterModel.java, содержащий Java-код для слоя компонентов.

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

Пакет: org.projectforge.web

Классы: TotalNewCounterModel

Расширяет: Model

Методы (2): getObject

Поля (1): serialVersionUID

Импорты: 5 пакетов

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

package org.projectforge.web;

import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
import org.projectforge.framework.utils.NumberHelper;

import java.util.ArrayList;
import java.util.List;

/**
 * Для отображения общего количества новых элементов как суммы всех счётчиков из пунктов подменю.
 * @author Kai Reinhard (k.reinhard@micromata.de)
 * 
 */
public class TotalNewCounterModel extends Model<Integer>
{
  private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(TotalNewCounterModel.class);

  private static final long serialVersionUID = -900845361698793144L;

  private final List<IModel<Integer>> models = new ArrayList<IModel<Integer>>();

  public void add(final IModel<Integer> model)
  {
    models.add(model);
  }

  @Override
  public Integer getObject()
  {
    if (models == null) {
      return null;
    }
    Integer totalCounter = 0;
    for (final IModel<Integer> model : models) {
      try {
        final Integer counter = model.getObject();
        if (NumberHelper.greaterZero(counter) == true) {
          totalCounter += counter;
        }
      } catch (final Throwable ex) {
        log.error(ex.getMessage(), ex);
      }
    }
    if (NumberHelper.greaterZero(totalCounter) == false) {
      return null;
    }
    return totalCounter;
  }
}

История Git

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