
org.biojava.bibliography.BiblioDescription Maven / Gradle / Ivy
// BiblioDescription.java
//
// [email protected]
// March 2001
//
/*
* BioJava development code
*
* This code may be freely distributed and modified under the
* terms of the GNU Lesser General Public Licence. This should
* be distributed with the code. If you do not have a copy,
* see:
*
* http://www.gnu.org/copyleft/lesser.html
*
* Copyright for this code is held jointly by the individual
* authors. These should be listed in @author doc comments.
*
* For more information on the BioJava project and its aims,
* or to join the biojava-l mailing list, visit the home page
* at:
*
* http://www.biojava.org/
*
*/
package org.biojava.bibliography;
/**
*
* It represents an account of the content of the cited resource.
* It is either an abstract, or table of contents, or both.
* It can be written in a language different from the language of the cited resource.
*
*
*
* Both abstract and table of contents can contain more than just a plain text,
* typically they may be expressed in a markup language.
* Their formats are defined according to the
* MIME specification.
*
*
* @author Martin Senger
* @version $Id$
* @since 1.3
*/
public class BiblioDescription {
/**
*
* It is an abstract of the cited resource. It can be expressed as a plain text
* or in a markup language.
*
*
* @see #abstractType
*/
public String theAbstract;
/**
*
* It specifies how {@link #theAbstract} is coded.
*
*
*
* If it is empty then {@link #theAbstract} is coded as a plain text, using us-ascii
* coding.
* Otherwise, this attribute is equivalent to the Content-Type Header Field
* of the MIME specification,
* with exclusion of the keyword Content-Type.
* For example, it can contain text/html, or, using additional parameters,
* text/plain; charset=us-ascii.
*
*
*
* Often abstracts are also available from the same or separate repository as URLs.
* There are several ways to provide this information in the here described data model.
* The implementations may choose their own way and still remain compliant with this
* specification. However, the first approach, described below, is recommended to achieve
* interoperability between implementations.
*
*
*
*
* - Use here text/url
* and put the URL into {@link #theAbstract} field.
*
- Use here text/plain; url=xxxxx
* where xxxxx is a URL of the abstract
* (in this case {@link #theAbstract} may still have a full or partial text of the
* abstract as a plain text).
*
- Use here a multi-part
* (see MIME specification).
* In such case {@link #theAbstract} will have both the full or partial abstract text,
* and a URL.
*
- Put the URL into {@link BibRef#properties} using key abstractURL.
*
*
*/
public String abstractType;
/**
*
* It is a table of contents of the cited resource.
* It can be expressed as a plain text or in a markup language.
*
*
* @see #tableOfContentsType
*/
public String tableOfContents;
/**
*
* It specifies how {@link #tableOfContents} is coded.
*
*
*
* If it is empty then {@link #tableOfContents} is coded as a plain text, using us-ascii
* coding.
* Otherwise, this attribute is equivalent to the Content-Type Header Field
* of the MIME specification,
* with exclusion of the keyword Content-Type.
*
*
* @see #abstractType abstractType for example
*/
public String tableOfContentsType;
/**
*
* It defines a language used for {@link #theAbstract} and {@link #tableOfContents}.
* The recommended values are discussed in {@link BibRef#language}.
*
*
*
* Note that there is no mechanism how to specify different languages for
* the abstract and table of contents for one citation.
*
*/
public String language;
}