DataGrid-Agenten und entitätsbasierte Maps

Eine Map enthält Schlüsselobjekte und Wertobjekte. Das Schlüsselobjekt ist wie der Wert ein generiertes Tupel. Gewöhnlich wird ein Agent mit den anwendungsdefinierten Schlüsselobjekten bereitgestellt.

Das Schlüsselobjekt ist wie der Wert ein generiertes Tupel. Gewöhnlich wird ein Agent mit den anwendungsdefinierten Schlüsselobjekten bereitgestellt. Dies sind die Schlüsselobjekte, die von der Anwendung verwendet werden, bzw. Tupel, wenn es sich um eine Entitäts-Map handelt. Eine Anwendung, die Entitäten verwendet, möchte nicht direkt mit Tupeln arbeiten, sondern bevorzugt die Arbeit mit den Java-Objekten, die der Entität zugeordnet sind.

Deshalb kann eine Agentenklasse die Schnittstelle "EntityAgentMixin" implementieren. Dies zwingt die Klasse, eine weitere Methode zu implementieren, die Methode "getClassForEntity()". Diese Methode gibt die Entitätsklasse zurück, die mit dem Agenten auf der Serverseite zu verwenden ist. Die Schlüssel werden in diese Entität konvertiert, bevor die Methoden "process" und "reduce" aufgerufen werden.

Diese Semantik unterscheidet sich von einem Agenten, der kein EntityAgentMixin-Agent ist, bei dem diese Methoden nur für die Schlüssel bereitgestellt werden. Ein Agent, der EntityAgentMixin implementiert, empfängt das Entity-Objekt, das Schlüssel und Werte in einem einzigen Objekt enthält.
Anmerkung: Wenn die Entität nicht auf dem Server vorhanden ist, sind die Schlüssel das unbearbeitete Tupelformat des Schlüssels und nicht die verwaltete Entität.