001/*
002 *                    BioJava development code
003 *
004 * This code may be freely distributed and modified under the
005 * terms of the GNU Lesser General Public Licence.  This should
006 * be distributed with the code.  If you do not have a copy,
007 * see:
008 *
009 *      http://www.gnu.org/copyleft/lesser.html
010 *
011 * Copyright for this code is held jointly by the individual
012 * authors.  These should be listed in @author doc comments.
013 *
014 * For more information on the BioJava project and its aims,
015 * or to join the biojava-l mailing list, visit the home page
016 * at:
017 *
018 *      http://www.biojava.org/
019 *
020 */
021package org.biojava.nbio.core.sequence.io.embl;
022
023/**
024 * This class contains the processed data of embl file that
025 * contains the referenceNumber, referenceComment, referencePosition
026 * referenceCrossReference, referenceGroup, referenceAuthor
027 * referenceTitle, referenceLocation
028 *
029 * @author Noor Aldeen Al Mbaidin
030 * @since 5.0.0
031 */
032public class EmblReference {
033
034
035    private String referenceNumber;
036    private String referenceComment;
037    private String referencePosition;
038    private String referenceCrossReference;
039    private String referenceGroup;
040    private String referenceAuthor;
041    private String referenceTitle;
042    private String referenceLocation;
043
044    /**
045     * The RN (Reference Number) line gives a unique number to each reference
046     * Citation within an entry. This number is used to designate the reference
047     * in comments and in the feature table.
048     *
049     * @return referenceNumber
050     */
051    public String getReferenceNumber() {
052        return referenceNumber;
053    }
054
055    public void setReferenceNumber(String referenceNumber) {
056        this.referenceNumber = referenceNumber;
057    }
058
059    /**
060     * The RC (Reference Comment) linetype is an optional linetype which appears if
061     * The reference has a comment.
062     *
063     * @return String
064     */
065    public String getReferenceComment() {
066        return referenceComment;
067    }
068
069    public void setReferenceComment(String referenceComment) {
070        this.referenceComment = referenceComment;
071    }
072
073    /**
074     * The RP (Reference Position) linetype is
075     * an optional linetype which appears if
076     * one or more contiguous base spans of
077     * the presented sequence can be attributed
078     * to the reference in question.
079     *
080     * @return String
081     */
082    public String getReferencePosition() {
083        return referencePosition;
084    }
085
086    public void setReferencePosition(String referencePosition) {
087        this.referencePosition = referencePosition;
088    }
089
090    /**
091     * The RX (reference cross-reference) linetype is
092     * an optional linetype which appears if
093     * one or more contiguous base spans of the
094     * presented sequence can be attributed
095     * to the reference in question.
096     *
097     * @return String
098     */
099    public String getReferenceCrossReference() {
100        return referenceCrossReference;
101    }
102
103    public void setReferenceCrossReference(String referenceCrossReference) {
104        this.referenceCrossReference = referenceCrossReference;
105    }
106
107    /**
108     * The RG (Reference Group) lines list the working groups/consortia that
109     * produced the record.
110     *
111     * @return String
112     */
113    public String getReferenceGroup() {
114        return referenceGroup;
115    }
116
117    public void setReferenceGroup(String referenceGroup) {
118        this.referenceGroup = referenceGroup;
119    }
120
121    /**
122     * The RA (Reference Author) lines list the authors of the paper (or other
123     * work) cited. All of the authors are included, and are listed in the order
124     * given in the paper.
125     *
126     * @return String
127     */
128    public String getReferenceAuthor() {
129        return referenceAuthor;
130    }
131
132    public void setReferenceAuthor(String referenceAuthor) {
133        this.referenceAuthor = referenceAuthor;
134    }
135
136    /**
137     * The RT (Reference Title) lines give the title of the paper (or other work) as
138     * exactly as is possible given the limitations of computer character sets.
139     *
140     * @return String
141     */
142    public String getReferenceTitle() {
143        return referenceTitle;
144    }
145
146    public void setReferenceTitle(String referenceTitle) {
147        this.referenceTitle = referenceTitle;
148    }
149
150    /**
151     * The RL (Reference Location) line contains the conventional citation
152     * information for the reference.
153     *
154     * @return String
155     */
156    public String getReferenceLocation() {
157        return referenceLocation;
158    }
159
160    public void setReferenceLocation(String referenceLocation) {
161        this.referenceLocation = referenceLocation;
162    }
163
164    /**
165     * return copy of EmblReference
166     *
167     * @param emblReference
168     * @return EmblReference
169     */
170    public EmblReference copyEmblReference(EmblReference emblReference) {
171        EmblReference copy = new EmblReference();
172        copy.setReferenceAuthor(emblReference.getReferenceAuthor());
173        copy.setReferenceComment(emblReference.getReferenceComment());
174        copy.setReferenceCrossReference(emblReference.getReferenceCrossReference());
175        copy.setReferenceGroup(emblReference.getReferenceGroup());
176        copy.setReferenceLocation(emblReference.getReferenceLocation());
177        copy.setReferenceNumber(emblReference.getReferenceNumber());
178        copy.setReferencePosition(emblReference.getReferencePosition());
179        copy.setReferenceTitle(emblReference.getReferenceTitle());
180        return copy;
181    }
182
183}