gov.usda.gdpc
Class Locus

java.lang.Object
  extended bygov.usda.gdpc.AbstractDBElement
      extended bygov.usda.gdpc.Locus
All Implemented Interfaces:
java.lang.Comparable, DBElement, java.util.Map

public class Locus
extends AbstractDBElement

This is a database element representing a locus.

Author:
terryc

Nested Class Summary
 
Nested classes inherited from class java.util.Map
java.util.Map.Entry
 
Field Summary
static java.lang.String LOCUS_TYPE_CYTOLOGICAL
          Locus type cytological.
static java.lang.String LOCUS_TYPE_GENE
          Locus type gene.
static java.lang.String LOCUS_TYPE_INTERGENIC
          Locus type intergenic.
static java.lang.String LOCUS_TYPE_UNKNOWN
          Locus type unknown.
static java.lang.String TYPE
           
 
Fields inherited from class gov.usda.gdpc.AbstractDBElement
myProperties
 
Method Summary
static java.lang.String buildKey(java.util.Map properties)
          This builds the unique key for this locus based on the LocusProperty.ID and LocusProperty.DATA_SOURCE.
static java.lang.String buildKey(java.lang.String dataSource, Identifier id)
          This builds the unique key for this locus based on the LocusProperty.ID and LocusProperty.DATA_SOURCE.
static Locus getCachedInstance(java.util.Map properties)
          This returns the locus instance given specified id and source.
 java.lang.String getDataSource()
          Returns the data source of this locus.
 Identifier getID()
          Returns identifier of this locus.
static Locus getInstance(java.util.Map properties)
          This returns the Locus instance given specified list of properties.
 java.lang.String getName()
          Returns the name of this locus.
 java.lang.String getType()
          Get type of this element.
 
Methods inherited from class gov.usda.gdpc.AbstractDBElement
clear, compareTo, containsKey, containsValue, entrySet, equals, get, getKey, getProperty, isEmpty, keySet, numProperties, properties, propsEqual, put, putAll, remove, size, toString, values
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.util.Map
hashCode
 

Field Detail

TYPE

public static final java.lang.String TYPE
See Also:
Constant Field Values

LOCUS_TYPE_GENE

public static final java.lang.String LOCUS_TYPE_GENE
Locus type gene. "Gene"

See Also:
Constant Field Values

LOCUS_TYPE_INTERGENIC

public static final java.lang.String LOCUS_TYPE_INTERGENIC
Locus type intergenic. "Intergenic"

See Also:
Constant Field Values

LOCUS_TYPE_CYTOLOGICAL

public static final java.lang.String LOCUS_TYPE_CYTOLOGICAL
Locus type cytological. "Cytological"

See Also:
Constant Field Values

LOCUS_TYPE_UNKNOWN

public static final java.lang.String LOCUS_TYPE_UNKNOWN
Locus type unknown. "Unknown"

See Also:
Constant Field Values
Method Detail

getInstance

public static Locus getInstance(java.util.Map properties)
This returns the Locus instance given specified list of properties. A new locus will be created if its not found in the cache.

Parameters:
properties - properties of this locus. The keys are the properties (type: LocusProperty) and the values are the corresponding value. Properties can not have a value equal to null. It is not allowed to have two keys that are the same. The LocusProperty.ID, LocusProperty.DATA_SOURCE, and LocusProperty.NAME properties must be defined.
Returns:
locus

getCachedInstance

public static Locus getCachedInstance(java.util.Map properties)
This returns the locus instance given specified id and source. Null will be returned if its not found in the cache.

Parameters:
properties - properties of this locus. The keys are the properties (type: LocusProperty) and the values are the corresponding value. Properties can not have a value equal to null. Only the LocusProperty.ID and LocusProperty.DATA_SOURCE are used to find a matching locus in the cache.
Returns:
cached locus or null if not in cache.

buildKey

public static java.lang.String buildKey(java.util.Map properties)
This builds the unique key for this locus based on the LocusProperty.ID and LocusProperty.DATA_SOURCE.

Parameters:
properties - properties map
Returns:
key

buildKey

public static java.lang.String buildKey(java.lang.String dataSource,
                                        Identifier id)
This builds the unique key for this locus based on the LocusProperty.ID and LocusProperty.DATA_SOURCE.

Parameters:
dataSource - data source
id - identifier
Returns:
key

getName

public java.lang.String getName()
Returns the name of this locus.

Specified by:
getName in interface DBElement
Overrides:
getName in class AbstractDBElement
Returns:
the name

getDataSource

public java.lang.String getDataSource()
Returns the data source of this locus.

Specified by:
getDataSource in interface DBElement
Overrides:
getDataSource in class AbstractDBElement
Returns:
data source

getID

public Identifier getID()
Returns identifier of this locus.

Specified by:
getID in interface DBElement
Overrides:
getID in class AbstractDBElement
Returns:
identifier

getType

public java.lang.String getType()
Get type of this element.

Returns:
type