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. Um die Performance zu verbessern, gibt es die Option eines weiteren Interface: "org.nuclos.api.rule.CollectiveProcessingProxy" fordert die Implementierung einer zusätzlichen Methode "getForCollectiveProcessing", mit 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.exception.*;
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<>();
    // Fetch Rechnungen für several Kunden (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
  // ...

...