root/trunk/cdmlib/cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/reference/IReference.java

Revision 11010, 3.3 kB (checked in by a.mueller, 17 months ago)

reference.uri from String to java.net.Uri (#2150)

Line 
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
10package eu.etaxonomy.cdm.model.reference;
11
12import java.net.URI;
13
14import eu.etaxonomy.cdm.model.agent.TeamOrPersonBase;
15import eu.etaxonomy.cdm.model.common.IIdentifiableEntity;
16import eu.etaxonomy.cdm.model.common.IParsable;
17import eu.etaxonomy.cdm.model.common.TimePeriod;
18import eu.etaxonomy.cdm.strategy.cache.reference.IReferenceBaseCacheStrategy;
19import eu.etaxonomy.cdm.strategy.match.IMatchable;
20import eu.etaxonomy.cdm.strategy.merge.IMergable;
21
22
23/**
24 * The upmost interface for references (information sources).
25 * <P>
26 * This class corresponds to: <ul>
27 * <li> PublicationCitation according to the TDWG ontology
28 * <li> Publication according to the TCS
29 * <li> Reference according to the ABCD schema
30 * </ul>
31 */
32public interface IReference extends IIdentifiableEntity, IParsable, IMergable, IMatchable{
33
34        /**
35         * Returns the reference type
36         */
37        public ReferenceType getType() ;
38       
39        /**
40         * Sets the reference type
41         * @param type
42         */
43        public void setType(ReferenceType type) ;
44       
45        /**
46         * Returns true if the type of the reference is the same as the passed parameter
47         * @param type
48         * @return boolean
49         */
50        public boolean isOfType(ReferenceType type);
51       
52        /**
53         * Returns the references author(s)
54         */
55        public TeamOrPersonBase getAuthorTeam();
56       
57        /**
58         * Sets the references author(s)
59         */
60        public void setAuthorTeam(TeamOrPersonBase authorTeam);
61       
62        /**
63         * Returns the references title
64         */
65        public String getTitle();
66       
67        /**
68         * Sets the references title
69         * @param title
70         */
71        public void setTitle(String title);
72       
73        /**
74         * Returns the date when the reference was published as a {@link TimePeriod}
75         */
76        public TimePeriod getDatePublished();
77       
78        /**
79         * Sets the date when the reference was published.
80         */
81        public void setDatePublished(TimePeriod datePublished);
82       
83        /**
84         * Returns the Uniform Resource Identifier (URI) corresponding to <i>this</i>
85         * reference. An URI is a string of characters used to identify a resource
86         * on the Internet.
87         *
88         * @return  the URI of <i>this</i> reference
89         */
90        public URI getUri();
91        /**
92         * @see #getUri()
93         */
94        public void setUri(URI uri);
95
96       
97        /**
98         * Returns the references abstract which is a summary of the content
99         */
100        public String getReferenceAbstract();
101       
102        /**
103         * Sets the references abstract which is a summary of the content
104         * @param referenceAbstract
105         */
106        public void setReferenceAbstract(String referenceAbstract);
107               
108        /**
109         * Returns the citation string including the detail (micro reference) information.
110         * E.g. if the references title cache is <i>L., Sp. Pl. 3. 1757</i> the nomenclatural citation
111         * may be something like <i>L., Sp. Pl. 3: 45. 1757</i>
112         * @param microReference the detail, e.g. a page number, a figure, ...
113         * @return String
114         */
115        public String getNomenclaturalCitation(String microReference);
116       
117        /**
118         * Sets the cache strategy for this reference
119         * @param cacheStrategy
120         */
121        void setCacheStrategy(IReferenceBaseCacheStrategy cacheStrategy);
122       
123
124}
Note: See TracBrowser for help on using the browser.