Project

General

Profile

Download (1.88 KB) Statistics
| Branch: | Tag: | Revision:
1
/**
2
* Copyright (C) 2009 EDIT
3
* European Distributed Institute of Taxonomy
4
* http://www.e-taxonomy.eu
5
*
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.
8
*/ 
9

    
10
package eu.etaxonomy.cdm.model.common;
11

    
12
import java.util.List;
13

    
14
import org.hibernate.collection.internal.PersistentMap;
15
import org.hibernate.engine.spi.SessionImplementor;
16

    
17
public class PersistentMultiLanguageText extends PersistentMap implements IMultiLanguageText {
18
	private static final long serialVersionUID = -7104619652295153920L;
19

    
20
	public PersistentMultiLanguageText(SessionImplementor sessionImplementor, MultilanguageText collection) {
21
		super(sessionImplementor, collection);
22
	}
23

    
24
	public PersistentMultiLanguageText() {
25
		super();
26
	}
27

    
28
	/* (non-Javadoc)
29
	 * @see eu.etaxonomy.cdm.model.common.IMultiLanguageText#add(eu.etaxonomy.cdm.model.common.LanguageString)
30
	 */
31
	@Deprecated
32
	public LanguageString add(LanguageString languageString) {
33
		if (languageString == null){
34
			return null;
35
		}else{
36
			return (LanguageString)super.put(languageString.getLanguage(), languageString);
37
		}
38
	}
39

    
40
	public LanguageString put(LanguageString languageString) {
41
		if (languageString == null){
42
			return null;
43
		}else{
44
			return (LanguageString)super.put(languageString.getLanguage(), languageString);
45
		}
46
	}
47
	
48
	public LanguageString getPreferredLanguageString(List<Language> languages) {
49
		LanguageString languageString = null;
50
		for (Language language : languages) {
51
			languageString = (LanguageString)super.get(language);
52
			if(languageString != null){
53
				return languageString;
54
			}
55
		}
56
		return (LanguageString)super.get(Language.DEFAULT());
57
	}
58

    
59
	public String getText(Language language) {
60
		LanguageString languageString = (LanguageString)super.get(language);
61
		if (languageString != null){
62
			return languageString.getText();
63
		}else {
64
			return null;
65
		}
66
	}
67
}
(56-56/72)