Seitenhistorie
...
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 Um die Performance zu verbessern, gibt es die Option ein weiteres Interface zu implementieren, um die Performance zu verbessern. Das Interface eines weiteren Interface: "org.nuclos.api.rule.CollectiveProcessingProxy" fordert die Implementierung einer zusätzlichen Methode "getForCollectiveProcessing", mehr 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<>();
// 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
// ... |