Project

General

Profile

task #7958

Updated by Andreas Kohlbecker over 5 years ago

Currently there are *CacheStrategies*, *Formatter*, *EllypsisFormatter*, *DtoFormatter*, ... all of these could be harmonized by incorporating and unifying all functionalities into a common formatter framework. 

 ## Ideas and concepts for the formatter framework:  

 * Remove cache strategies from model classes 
 * Pluggable formatters 
     * select formatter per webservice request? 
     * define, select formatters via the cdm-preferences? 
 * ... 

 For an overview on potentially involved tickets see the tag [formatting](https://dev.e-taxonomy.eu/redmine/issues?f%5B%5D=tags&fields%5B%5D=tags&op%5Btags%5D=%3D&operators%5Btags%5D=%3D&set_filter=1&v%5Btags%5D%5B%5D=formatting&values%5Btags%5D%5B%5D=formatting) 

 ## Overview on the different existing implementations 

 ### EllypsisFormatter 

 Vielleicht auch für den Editor interessant: Referenzen sind machmal soooooo lang und passen als Titlecache nicht in eine Combobox oder Selectliste ohne den Monitor zu sprengen. Um Abhilfe zu schaffen haben wir für Phycobank was neues Ausprobiert: 

 ![](picture300-1.png) 

 hier wurde in die ComboBox "Kusber" eingegeben. 
 Die Klasse die diese Ellypsen macht ist    `cdmlib/cdmlib-model: :eu.etaxonomy.cdm.format.ReferenceEllypsisFormatter` 


 Dieser hat eine Spezialität, die vor allem in Comboboxen relevant ist, aber auch bei anderen sehr kompakten Suchergebnislisten nützlich sein kann: Der in der Combobox eingetippte String kann als Parameter `preserveString` übergeben werden, damit dieser durch die Ellypsis nicht weg gekürzt wird. 

 ~~~java 
 public interface EllypsisFormatter<T extends CdmBase> { 
     public String ellypsis(T entity, String preserveString); 
 } 
 ~~~ 

 [A. Müller]: hmm, ellypsis finde ich ja keinen so guten Methodennamen für einen Formatierer. Ich denke das sollte format oder invoke heißen um einem allgemeinen Interface zu genügen. 





Back