1 package eu
.etaxonomy
.cdm
.api
.service
;
5 import eu
.etaxonomy
.cdm
.model
.common
.Language
;
6 import eu
.etaxonomy
.cdm
.model
.common
.Representation
;
7 import eu
.etaxonomy
.cdm
.model
.description
.DescriptionElementBase
;
8 import eu
.etaxonomy
.cdm
.model
.description
.Feature
;
9 import eu
.etaxonomy
.cdm
.model
.description
.TextData
;
11 public abstract class DescriptionBuilder
<T
extends DescriptionElementBase
> {
13 protected String separator
= ",";
14 private int option
= 0;
16 public void returnAbbreviatedLabels() {
20 public void returnTexts() {
24 public void returnLabels() {
28 public void setSeparator(String newSeparator
) {
29 separator
= newSeparator
;
32 public String
getSeparator() {
36 public abstract TextData
build(T descriptionElement
, List
<Language
> languages
);
38 protected String
getRightText(Representation representation
){
41 result
= representation
.getAbbreviatedLabel();
42 if (result
!= null) return result
;
45 result
= representation
.getText();
46 if (result
!= null) return result
;
48 return representation
.getLabel();
51 public TextData
buildTextDataFeature(Feature feature
, List
<Language
> languages
){
52 return TextData
.NewInstance(getRightText(feature
.getPreferredRepresentation(languages
)),languages
.get(0),null);