Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

...

Zweiter Fall: Es soll eine Sammelbearbeitung geben, bei der die Rechnungen mehrerer Kunden auf einmal bearbeitet werden. Grundsätzlich ist das schon mit dem Standard-Proxy-Interface oben möglich. Jedoch gibt es die Option ein weiteres Interface zu implementieren, um die Performance zu verbessern. Das Interface "org.nuclos.api.rule.CollectiveProcessingProxy" fordert die Implementierung einer zusätzlichen Methode "getForCollectiveProcessing", mehr der die Rechnungen mehrerer Kunden auf einmal geholt werden können:

 

 

Codeblock
package org.nuclet.businessentity;

import java.util.*;
import org.nuclos.api.businessobject.attribute.*;
import org.nuclos.api.businessobject.*;
import org.nuclos.api.exception.*;
import org.nuclos.api.provider.*;
import org.nuclos.api.rule.*;
import org.nuclos.api.*;
public class RechnungProxyImpl implements org.nuclet.businessentity.RechnungProxy, CollectiveProcessingProxy {
private User user;

public <PK> List getForCollectiveProcessing(ForeignKeyAttribute<PK> attribute, Collection<PK> ids) {
  if (attribute == Rechnung.KundeId) {
    List ret = new ArrayList<>();
    // Fill Data für several Kunden with the given ids at once
    // ret.add(...);
    //
    return ret;
  }
  return null; // When null is returned, the standard proxy methods (like getByKunde()) will be called
}
public List<Rechnung> getByKunde(Long id) {
  // Rest is the same as before