001// BiblioSubject.java
002//
003//    senger@ebi.ac.uk
004//    March 2001
005//
006
007/*
008 *                    BioJava development code
009 *
010 * This code may be freely distributed and modified under the
011 * terms of the GNU Lesser General Public Licence.  This should
012 * be distributed with the code.  If you do not have a copy,
013 * see:
014 *
015 *      http://www.gnu.org/copyleft/lesser.html
016 *
017 * Copyright for this code is held jointly by the individual
018 * authors.  These should be listed in @author doc comments.
019 *
020 * For more information on the BioJava project and its aims,
021 * or to join the biojava-l mailing list, visit the home page
022 * at:
023 *
024 *      http://www.biojava.org/
025 *
026 */
027package org.biojava.bibliography;
028
029import java.util.Hashtable;
030
031/**
032 * <p>
033 * It represents the topic of the content of the cited resource.
034 * It can be expressed in one or more ways.
035 * </p>
036 *
037 * @author <A HREF="mailto:senger@ebi.ac.uk">Martin Senger</A>
038 * @version $Id$
039 * @since 1.3
040 */
041
042public class BiblioSubject {
043
044    /**
045     * The keywords are usually (but not limited to) one word long.
046     * They are not controlled by any vocabulary.
047     */
048    public Hashtable keywords = new Hashtable();
049
050    /**
051     * The subject headings usually come from standard lists
052     * such as <em>Sears List of Subject Headings</em>,
053     * or <em>Library of Congress Subject Headings (LCSH)</em>.
054     * This specification does not specify what list to use but implementors
055     * are advised to provide a controlled vocabulary for the list that is used,
056     * and to specify the source of subject headings in
057     * {@link #subjectHeadingsSource} field. The name of such vocabulary
058     * should be equal to {@link BibRefSupport#SUBJECT_HEADINGS}.
059     */
060    public Hashtable subjectHeadings = new Hashtable();
061
062    /**
063     * The source of {@link #subjectHeadings subject headings}.
064     * For example:
065     * <dl>
066     *   <dt> <tt>SEARS</tt>
067     *   <dd> for <em>Sears List of Subject Headings</em>
068     *   <dt> <tt>LCSH</tt>
069     *   <dd> for <em>Library of Congress Subject Headings (LCSH)</em>
070     *   <dt> <tt>MeSH</tt>
071     *   <dd> for <em>MEDLINE Mesh Terms</em>
072     * </dl>
073     */
074    public String subjectHeadingsSource;
075
076    /**
077     * <p>
078     * Classification code (call number) is usually either Dewey decimal or
079     * Congress classification. But this specification does not prescribe it.
080     * </p>
081     *
082     * <p>
083     * Note that the classification codes are unique (unlike some subject headings).
084     * Therefore, they can be even expressed as identifiers using the same notation
085     * as used for the {@link BibRef#identifier citation identifiers}.
086     * </p>
087     */
088    public Hashtable codes = new Hashtable();
089
090}