EN · DE · RU · FR · ES

#2833: TotalNewCounterModel.java

projectforge-wicket/src/main/java/org/projectforge/web/TotalNewCounterModel.java Typ: Java · Rolle: Komponente · Quelle: projectforge-wicket/src/main/java/org/projectforge/web/TotalNewCounterModel.java 73 Zeilen · 38 Code · 27 Kommentare · 8 Leer
Quellcodedatei unter projectforge-wicket/src/main/java/org/projectforge/web/TotalNewCounterModel.java mit Java-Code für die Komponentenschicht.

Codestruktur

Paket: org.projectforge.web

Klassen: TotalNewCounterModel

Erweitert: Model

Methoden (2): getObject

Felder (1): serialVersionUID

Importe: 5 Pakete

Quellcode (gekürzt)

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;

/**
 * Zur Anzeige der Gesamtzahl neuer Einträge als Summe aller Zähler aus den Untermenüeinträgen.
 * @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-Verlauf

868d6abb7 2025 -> 2026
63081666f Quellcodedatei-Header: 2024 -> 2025.
b6092df09 Copyright 2023 -> 2024
ab45d51fa Copyright 2001-2022 -> 2001-2023.
5f7ef41b8 Copyright 2021 -> 2022