2 * Copyright (C) 2014 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
6 * The contents of this file are subject to the Mozilla Public License Version 1.1
7 * See LICENSE.TXT at the top of this package for the full license terms.
9 package eu
.etaxonomy
.cdm
.api
.service
.dto
;
11 import java
.io
.Serializable
;
12 import java
.util
.UUID
;
14 import eu
.etaxonomy
.cdm
.model
.common
.DefinedTerm
;
15 import eu
.etaxonomy
.cdm
.model
.common
.IdentifiableEntity
;
22 public class IdentifiedEntityDTO
<T
extends IdentifiableEntity
> extends EntityDTOBase
<T
> implements Serializable
{
24 private static final long serialVersionUID
= -6993723067086766695L;
27 public class AlternativeIdentifier
implements Serializable
{
29 private static final long serialVersionUID
= -6342783530172264106L;
34 public AlternativeIdentifier(DefinedTerm identifierType
, String identifier
) {
36 if (identifierType
!= null){
37 this.typeUuid
= identifierType
.getUuid();
38 this.typeLabel
= identifierType
.getTitleCache();
41 this.identifier
= identifier
;
43 public UUID
getTypeUuid() {return typeUuid
;}
44 public String
getTypeLabel() {return typeLabel
;}
45 public String
getIdentifier() {return identifier
;}
48 private AlternativeIdentifier identifier
;
51 public IdentifiedEntityDTO(DefinedTerm identifierType
, String identifier
, T entity
){
53 this.identifier
= new AlternativeIdentifier(identifierType
, identifier
);
56 public IdentifiedEntityDTO(DefinedTerm identifierType
, String identifier
,
57 UUID entityUuid
, String titleCache
, String abbrevTitleCache
){
58 super(entityUuid
, titleCache
, abbrevTitleCache
);
59 if (identifier
!= null){
60 this.identifier
= new AlternativeIdentifier(identifierType
, identifier
);
65 public AlternativeIdentifier
getIdentifier() {
74 public String
toString() {
75 return "(" + identifier
.typeLabel
+ "; " + cdmEntity
.getTitleCache() + "; " + cdmEntity
.getUuid() + ")";