KostZuweisungenCopyHelper.javaprojectforge-business/src/main/java/org/projectforge/business/fibu/kost/KostZuweisungenCopyHelper.java mit Java-Code für die Finanzbuchhaltungsebene.Paket: org.projectforge.business.fibu.kost
Klassen: KostZuweisungenCopyHelper
Methoden (1): copy
Importe: 2 Pakete
package org.projectforge.business.fibu.kost;
import org.projectforge.business.fibu.AbstractRechnungsPositionDO;
import java.util.List;
public class KostZuweisungenCopyHelper
{
private static final String[] IGNORE_FIELDS = { "rechnungsPosition" };
public static void copy(final List<KostZuweisungDO> srcList, final AbstractRechnungsPositionDO destPosition)
{
final List<KostZuweisungDO> destList = destPosition.ensureAndGetKostzuweisungen();
// zuerst jeden löschbaren Eintrag entfernen
destList.removeIf(destPosition::isKostZuweisungDeletable);
// dann Werte von src in dest-Eintrag kopieren oder neuen dest-Eintrag erstellen, falls nicht vorhanden
if (srcList != null) {
for (final KostZuweisungDO srcEntry : srcList) {
final KostZuweisungDO destEntry;
// prüft, ob destList bereits einen Eintrag enthält, der dem Quell-Eintrag hinsichtlich ihrer IDs und nicht unbedingt ihrer Werte entspricht
// siehe KostZuweisungDO.equals()
final int index = destList.indexOf(srcEntry);
if (index >= 0) {
// dest-Eintrag existiert bereits, abrufen
destEntry = destList.get(index);
} else {
// neuen dest-Eintrag erstellen
destEntry = new KostZuweisungDO();
destPosition.addKostZuweisung(destEntry);
}
destEntry.copyValuesFrom(srcEntry, IGNORE_FIELDS);
}
}
}
}
868d6abb7 2025 -> 2026 63081666f Quellcode-Dateiköpfe: 2024 -> 2025. b6092df09 Copyright 2023 -> 2024 ab45d51fa Copyright 2001-2022 -> 2001-2023. 5f7ef41b8 Copyright 2021 -> 2022