edu.iastate.jtm.jmed
Class ESearch

java.lang.Object
  extended by edu.iastate.jtm.jmed.EUtility
      extended by edu.iastate.jtm.jmed.ESearch

public class ESearch
extends EUtility

Author:
Jing Ding edu.iastate.jtm.jmed jtm

Nested Class Summary
 
Nested classes/interfaces inherited from class edu.iastate.jtm.jmed.EUtility
EUtility.Processor
 
Field Summary
static int CONNECT_FAIL
           
static java.lang.String ESEARCH_BASE
           
static int FETCH_LIMIT
           
static int FIRST_DEFAULT
           
static int NOT_FOUND
           
static int QUERY_FAIL
           
 
Fields inherited from class edu.iastate.jtm.jmed.EUtility
database, defaultProcessor, logger, MAX_IDS, resultReady, showOriginal, xmlParser, xmlResult, xmlWriter
 
Constructor Summary
ESearch(java.lang.String email, java.lang.String tool)
           
 
Method Summary
 java.lang.String appendTerm(java.lang.String pre, java.lang.String suf, java.lang.String op, boolean quote)
           
 java.lang.String combineTerms(java.util.List terms, java.lang.String op, java.lang.String[] fields, boolean quote)
           
 java.lang.String combineTerms(java.lang.String[] terms, int count, java.lang.String op, java.lang.String[] fields, boolean quote)
          Concatenate a list of terms into a single query.
 org.dom4j.Element getErrorList()
           
 int getHits()
           
 org.dom4j.Element getTranslationSet()
           
 org.dom4j.Element getTranslationStack()
           
 boolean hasMorePmids()
           
 boolean isIndexed()
           
 java.lang.String[] retrieveAll()
           
 void retrieveAll(java.io.File output)
          Retrieve all PMIDs to a single file.
 void retrieveAll(java.util.List pmids)
           
 void retrieveAll(java.lang.String[] pmids)
          Retrieve all PMIDs to an array.
 void retrieveAll(java.lang.String prefix, int size)
          Retrieve all PMIDs to multiple files.
 java.lang.String[] retrieveBatch()
          Retrieve a batch of PMIDs, and store them in a new array.
 int retrieveBatch(java.util.List pmids)
           
 int retrieveBatch(java.lang.String[] pmids, int offset)
          Retrieve a batch of PMIDs into an array starting at offset.
 int sendQuery(java.lang.String queryTerm)
           
 int sendQuery(java.lang.String queryTerm, boolean asis)
           
 int sendQuery(java.lang.String queryTerm, Limits limits)
           
 int sendQuery(java.lang.String queryTerm, Limits limits, boolean asis)
          Send a query to PubMed.
 void setBatchSize(int bs)
           
 void setFirstSize(int fs)
           
 void setHasAbstract(boolean ha)
           
 void setQuotedQuery(boolean q)
           
 
Methods inherited from class edu.iastate.jtm.jmed.EUtility
addJob, setDatabase, setShowOriginal, setXmlParser, setXmlWriter, startService, stopService
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

NOT_FOUND

public static final int NOT_FOUND
See Also:
Constant Field Values

QUERY_FAIL

public static final int QUERY_FAIL
See Also:
Constant Field Values

CONNECT_FAIL

public static final int CONNECT_FAIL
See Also:
Constant Field Values

FETCH_LIMIT

public static final int FETCH_LIMIT
See Also:
Constant Field Values

FIRST_DEFAULT

public static final int FIRST_DEFAULT
See Also:
Constant Field Values

ESEARCH_BASE

public static final java.lang.String ESEARCH_BASE
See Also:
Constant Field Values
Constructor Detail

ESearch

public ESearch(java.lang.String email,
               java.lang.String tool)
Parameters:
base -
Method Detail

setQuotedQuery

public void setQuotedQuery(boolean q)

setBatchSize

public void setBatchSize(int bs)

setFirstSize

public void setFirstSize(int fs)

setHasAbstract

public void setHasAbstract(boolean ha)

combineTerms

public java.lang.String combineTerms(java.lang.String[] terms,
                                     int count,
                                     java.lang.String op,
                                     java.lang.String[] fields,
                                     boolean quote)
Concatenate a list of terms into a single query.

Parameters:
terms - list of terms
count - list size
op - operator "AND" or "OR"
fields - field after each term
quote - whether quote term or not
Returns:
query string

combineTerms

public java.lang.String combineTerms(java.util.List terms,
                                     java.lang.String op,
                                     java.lang.String[] fields,
                                     boolean quote)

appendTerm

public java.lang.String appendTerm(java.lang.String pre,
                                   java.lang.String suf,
                                   java.lang.String op,
                                   boolean quote)

sendQuery

public int sendQuery(java.lang.String queryTerm,
                     Limits limits)

sendQuery

public int sendQuery(java.lang.String queryTerm,
                     Limits limits,
                     boolean asis)
Send a query to PubMed.

Parameters:
queryTerm -
limits -
outputOriginal -
Returns:
# of hits if successful.

sendQuery

public int sendQuery(java.lang.String queryTerm)

sendQuery

public int sendQuery(java.lang.String queryTerm,
                     boolean asis)

getHits

public int getHits()

getTranslationStack

public org.dom4j.Element getTranslationStack()

getTranslationSet

public org.dom4j.Element getTranslationSet()

getErrorList

public org.dom4j.Element getErrorList()

isIndexed

public boolean isIndexed()

hasMorePmids

public boolean hasMorePmids()

retrieveBatch

public java.lang.String[] retrieveBatch()
                                 throws org.dom4j.DocumentException
Retrieve a batch of PMIDs, and store them in a new array.

Returns:
The new array of PMIDs
Throws:
org.dom4j.DocumentException
java.io.IOException

retrieveBatch

public int retrieveBatch(java.lang.String[] pmids,
                         int offset)
                  throws org.dom4j.DocumentException
Retrieve a batch of PMIDs into an array starting at offset.

Parameters:
pmids - the array to store PMIDs.
offset - starting position in the array.
Returns:
number of PMIDs retrieved.
Throws:
org.dom4j.DocumentException
java.io.IOException

retrieveBatch

public int retrieveBatch(java.util.List pmids)
                  throws org.dom4j.DocumentException
Throws:
org.dom4j.DocumentException

retrieveAll

public void retrieveAll(java.lang.String[] pmids)
                 throws org.dom4j.DocumentException
Retrieve all PMIDs to an array.

Parameters:
pmids - array to store the PMIDs.
Throws:
org.dom4j.DocumentException
java.io.IOException

retrieveAll

public java.lang.String[] retrieveAll()
                               throws org.dom4j.DocumentException
Throws:
org.dom4j.DocumentException

retrieveAll

public void retrieveAll(java.util.List pmids)
                 throws org.dom4j.DocumentException
Throws:
org.dom4j.DocumentException

retrieveAll

public void retrieveAll(java.io.File output)
                 throws org.dom4j.DocumentException,
                        java.io.IOException
Retrieve all PMIDs to a single file.

Parameters:
output - output file
Throws:
org.dom4j.DocumentException
java.io.IOException

retrieveAll

public void retrieveAll(java.lang.String prefix,
                        int size)
                 throws org.dom4j.DocumentException,
                        java.io.IOException
Retrieve all PMIDs to multiple files.

Parameters:
prefix - prefix of output filenames
size - number of PMIDs per file
Throws:
org.dom4j.DocumentException
java.io.IOException