Schnittstelle 'Mapper.getFieldValue'

/** 
 * If a specialized field value can't be covered by the 
 * <code>SearchServiceMapper.getValue()
 * <code> functionality this method 
 * should be overridden in the mapper for the specific search 
 *   service. 
 * @param objList list of entity objects for this specific 
 *   mappers service id.  
 * @param field the field whose value is required. 
 */ 
Object getFieldValue(final SearchServiceKey serviceId, 
   final List objList, final SearchServiceFieldDtls fieldDtls);

Die Infrastruktur des Servers für generische Suche versucht, mithilfe der aus der Tabelle 'SearchServiceField' abgerufenen Feldmetadaten einen Entitätsattributwert aus einer Objektliste abzurufen. In der Regel enthalten Objektlisten ???dtls-Entitätsstrukturen. In diesen Fällen verwendet der Server für generische Suche einfach die ???reflection, um das korrekte Attribut zu ermitteln und dessen Wert abzurufen. Genau das erfolgt im Hintergrund.

Wenn die Objektliste jedoch etwas anderes als eine ???dtls-Entitätsstruktur enthält (wie bei einer Personensuche, wo ein Element 'AddressElementDtlsList' vorhanden ist, das seinerseits eine einzelne AddressElement-Struktur enthält), sollten Entwickler der Suche die Schnittstellenmethode 'Mapper.getFieldValue' implementieren.

Die Schnittstellenmethode 'Mapper.getFieldValue' sollte implementiert werden, wenn eine Zuordnungsfunktion einen bestimmten Attributwert nicht automatisch zuordnen kann. Der entsprechende Entitäts- und Feldname wird über den Strukturparameter 'fieldDtls' übergeben und der Attributwert kann mithilfe von ???reflection aus der Objektliste abgerufen werden. Es ist die Entscheidung des Entwicklers der Suche, diese Methodenschnittstelle für den bzw. die betroffenen Typen zu implementieren

Von dieser Methode sollten keine leeren Zeichenfolgen zurückgegeben werden, sondern stets 'Null'.