312f9f32548ae421ca1f88694d4badf878de2d0b
[taxeditor.git] / taxeditor-editor / src / main / java / eu / etaxonomy / taxeditor / propertysheet / reference / NomenclaturalReferencePropertySource.java
1 /**
2 * Copyright (C) 2007 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.taxeditor.propertysheet.reference;
11
12 import java.util.HashMap;
13 import java.util.LinkedHashMap;
14 import java.util.Set;
15
16 import org.apache.log4j.Logger;
17
18 import eu.etaxonomy.cdm.model.reference.Article;
19 import eu.etaxonomy.cdm.model.reference.Book;
20 import eu.etaxonomy.cdm.model.reference.BookSection;
21 import eu.etaxonomy.cdm.model.reference.Generic;
22 import eu.etaxonomy.cdm.model.reference.ReferenceBase;
23
24 /**
25 * Subclass of <code>ReferencePropertySource</code> which restricts reference type menu
26 * to "Article", "Generic", "Book", "Book Section".
27 *
28 * @author p.ciardelli
29 * @created 12.11.2008
30 * @version 1.0
31 */
32 public class NomenclaturalReferencePropertySource extends
33 ReferencePropertySource {
34 private static final Logger logger = Logger
35 .getLogger(NomenclaturalReferencePropertySource.class);
36
37 public NomenclaturalReferencePropertySource(ReferenceBase reference) {
38 super(reference);
39 }
40
41 protected static HashMap<Class, String> nomReferenceTypeMap = null;
42
43 protected void populateReferenceTypes() {
44
45 // LinkedHashMap maintains insertion order
46 nomReferenceTypeMap = new LinkedHashMap<Class, String>();
47
48 nomReferenceTypeMap.put(ReferenceBase.class, "");
49 // referenceTypeMap.put(BibtexReference.class, "BibTeX Reference");
50 nomReferenceTypeMap.put(Article.class, "Article");
51 nomReferenceTypeMap.put(Generic.class, "Generic");
52 nomReferenceTypeMap.put(Book.class, "Book");
53 nomReferenceTypeMap.put(BookSection.class, "Book Section");
54 }
55
56 protected String[] getReferenceTypeArray() {
57 if (nomReferenceTypeMap == null) {
58 populateReferenceTypes();
59 }
60 return nomReferenceTypeMap.values().toArray(new String[] {});
61 }
62
63 protected Set<Class> getReferenceClassSet() {
64 return nomReferenceTypeMap.keySet();
65 }
66
67 protected int getSearchType() {
68 return IReferenceSearch.NOMREF;
69 }
70 }