org.LexGrid.LexBIG.Impl
Class LexBIGServiceImpl

java.lang.Object
  extended by org.LexGrid.LexBIG.Impl.LexBIGServiceImpl
All Implemented Interfaces:
java.io.Serializable, LexBIGService

public class LexBIGServiceImpl
extends java.lang.Object
implements LexBIGService

Implementation of the LexBIGService Interface.

Version:
subversion $Revision: $ checked in on $Date: $
Author:
Dan Armbrust, Jesse Erdmann, Thomas Johnson, Deepak Sharma
See Also:
LexBIGService, Serialized Form

Constructor Summary
LexBIGServiceImpl()
           
 
Method Summary
static LexBIGServiceImpl defaultInstance()
          Returns a default singleton instance of the service.
 CodedNodeSet getCodingSchemeConcepts(java.lang.String codingScheme, CodingSchemeVersionOrTag versionOrTag)
          Returns the set of all concepts in the specified coding scheme.
 CodedNodeSet getCodingSchemeConcepts(java.lang.String codingScheme, CodingSchemeVersionOrTag versionOrTag, boolean activeOnly)
          Deprecated.  
 Filter getFilter(java.lang.String name)
          Returns an instance of the filter extension registered with the given name.
 ExtensionDescriptionList getFilterExtensions()
          Returns a description of all registered extensions used to provide additional filtering of query results.
 GenericExtension getGenericExtension(java.lang.String name)
          Returns an instance of the application-specific extension registered with the given name.
 ExtensionDescriptionList getGenericExtensions()
          Returns a description of all registered extensions used to implement application-specific behavior that is centrally accessible from a LexBIGService.
 HistoryService getHistoryService(java.lang.String codingScheme)
          Resolve a reference to the history api servicing the given coding scheme.
 java.util.Date getLastUpdateTime()
          Return the last time that the content of this service was changed; null if no changes have occurred.
 ModuleDescriptionList getMatchAlgorithms()
          Returns the full description of all supported match algorithms.
 CodedNodeGraph getNodeGraph(java.lang.String codingScheme, CodingSchemeVersionOrTag tagOrVersion, java.lang.String relationContainerName)
          Returns the node graph as represented in the particular relationship set in the coding scheme.
 CodedNodeSet getNodeSet(java.lang.String codingScheme, CodingSchemeVersionOrTag versionOrTag, LocalNameList entityTypes)
          Returns the set of all entities in the specified coding scheme scheme of the given types.
 LexBIGServiceManager getServiceManager(java.lang.Object credentials)
          Validate the credentials and return an interface to the LexBig service manager.
 LexBIGServiceMetadata getServiceMetadata()
          Return an interface to perform system-wide query over metadata for loaded code systems and providers.
 Sort getSortAlgorithm(java.lang.String name)
          Returns an instance of the sort extension registered with the given name.
 SortDescriptionList getSortAlgorithms(SortContext context)
          Returns a description of all registered extensions used to provide additional sorting of query results in the given context.
 CodingSchemeRenderingList getSupportedCodingSchemes()
          Return a list of coding schemes and versions that are supported by this service, along with their status.
 CodingScheme resolveCodingScheme(java.lang.String codingSchemeName, CodingSchemeVersionOrTag tagOrVersion)
          Return detailed coding scheme information given a specific tag or version identifier.
 java.lang.String resolveCodingSchemeCopyright(java.lang.String codingSchemeName, CodingSchemeVersionOrTag tagOrVersion)
          Return coding scheme copyright given a specific tag or version identifier.
static void setDefaultInstance(LexBIGServiceImpl defaultInstance)
          Assigns the default singleton instance of the service.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LexBIGServiceImpl

public LexBIGServiceImpl()
                  throws LBInvocationException
Throws:
LBInvocationException
java.lang.Exception
Method Detail

defaultInstance

public static LexBIGServiceImpl defaultInstance()
Returns a default singleton instance of the service.

Note: This is the recommended method of acquiring the service, since it will allow the application to run without change in distributed LexBIG environments (in which case the default instance is actually a distributed service). However, use of the public constructor is supported to preserve backward compatibility.

Returns:
LexBIGServiceImpl

setDefaultInstance

public static void setDefaultInstance(LexBIGServiceImpl defaultInstance)
Assigns the default singleton instance of the service.

Note: While this method is public, it is generally not intended to be part of the externalized API. It is made public so that the runtime system has the ability to assign the default instance when running in distributed LexBIG environments, etc.

Parameters:
LexBIGServiceImpl - the default instance.

getSupportedCodingSchemes

public CodingSchemeRenderingList getSupportedCodingSchemes()
                                                    throws LBInvocationException
Description copied from interface: LexBIGService
Return a list of coding schemes and versions that are supported by this service, along with their status.

Specified by:
getSupportedCodingSchemes in interface LexBIGService
Throws:
LBInvocationException
See Also:
LexBIGService.getSupportedCodingSchemes()

resolveCodingScheme

public CodingScheme resolveCodingScheme(java.lang.String codingSchemeName,
                                        CodingSchemeVersionOrTag tagOrVersion)
                                 throws LBInvocationException,
                                        LBParameterException
Description copied from interface: LexBIGService
Return detailed coding scheme information given a specific tag or version identifier.

Specified by:
resolveCodingScheme in interface LexBIGService
Parameters:
codingSchemeName - The local name or URN of the coding scheme.
tagOrVersion - The assigned tag/label or absolute version identifier of the scheme to resolve.
Throws:
LBInvocationException
LBParameterException
See Also:
LexBIGService.resolveCodingScheme(String, org.LexGrid.LexBIG.DataModel.Core.CodingSchemeVersionOrTag)

resolveCodingSchemeCopyright

public java.lang.String resolveCodingSchemeCopyright(java.lang.String codingSchemeName,
                                                     CodingSchemeVersionOrTag tagOrVersion)
                                              throws LBInvocationException,
                                                     LBParameterException
Description copied from interface: LexBIGService
Return coding scheme copyright given a specific tag or version identifier.

Specified by:
resolveCodingSchemeCopyright in interface LexBIGService
Parameters:
codingSchemeName - The local name or URN of the coding scheme.
tagOrVersion - The assigned tag/label or absolute version identifier of the scheme to resolve.
Throws:
LBInvocationException
LBParameterException
See Also:
LexBIGService.resolveCodingScheme(String, org.LexGrid.LexBIG.DataModel.Core.CodingSchemeVersionOrTag)

getCodingSchemeConcepts

@Deprecated
public CodedNodeSet getCodingSchemeConcepts(java.lang.String codingScheme,
                                                       CodingSchemeVersionOrTag versionOrTag,
                                                       boolean activeOnly)
                                     throws LBException
Deprecated. 

Description copied from interface: LexBIGService
Returns the set of all (or all active) concepts in the specified coding scheme.

Specified by:
getCodingSchemeConcepts in interface LexBIGService
Parameters:
codingScheme - The local name or URN of the coding scheme.
versionOrTag - The assigned tag/label or absolute version identifier of the coding scheme to query.
activeOnly - True means node set consists only of concepts that are active in the given version. False means set represents both active and inactive concepts.
Throws:
LBException
See Also:
org.LexGrid.LexBIG.LexBIGService.LexBIGService#getCodingSchemeConcepts(org.LexGrid.LexBIG.DataModel.Core.CodingSchemeURNorName, org.LexGrid.LexBIG.DataModel.Core.CodingSchemeVersionOrTag, boolean)

getCodingSchemeConcepts

public CodedNodeSet getCodingSchemeConcepts(java.lang.String codingScheme,
                                            CodingSchemeVersionOrTag versionOrTag)
                                     throws LBException
Description copied from interface: LexBIGService
Returns the set of all concepts in the specified coding scheme.

Specified by:
getCodingSchemeConcepts in interface LexBIGService
Parameters:
codingScheme - The local name or URN of the coding scheme.
versionOrTag - The assigned tag/label or absolute version identifier of the coding scheme to query.
Throws:
LBException
See Also:
LexBIGService.getCodingSchemeConcepts(java.lang.String, org.LexGrid.LexBIG.DataModel.Core.CodingSchemeVersionOrTag)

getNodeSet

public CodedNodeSet getNodeSet(java.lang.String codingScheme,
                               CodingSchemeVersionOrTag versionOrTag,
                               LocalNameList entityTypes)
                        throws LBException
Description copied from interface: LexBIGService
Returns the set of all entities in the specified coding scheme scheme of the given types. This method can be used to resolve instances or other non-concept codes.

Specified by:
getNodeSet in interface LexBIGService
Parameters:
codingScheme - The local name or URN of the coding scheme.
versionOrTag - The assigned tag/label or absolute version identifier of the coding scheme to query.
entityTypes - The list of entity types to resolve. Possible values include the LexGrid built-in types "concept" and "instance". Additional supported types can be defined uniquely to a coding scheme. If null or empty, all entity types are resolved.
Throws:
LBException
See Also:
LexBIGService.getNodeSet(java.lang.String, org.LexGrid.LexBIG.DataModel.Core.CodingSchemeVersionOrTag, org.LexGrid.LexBIG.DataModel.Collections.LocalNameList)

getNodeGraph

public CodedNodeGraph getNodeGraph(java.lang.String codingScheme,
                                   CodingSchemeVersionOrTag tagOrVersion,
                                   java.lang.String relationContainerName)
                            throws LBParameterException,
                                   LBInvocationException,
                                   LBResourceUnavailableException
Description copied from interface: LexBIGService
Returns the node graph as represented in the particular relationship set in the coding scheme.

Specified by:
getNodeGraph in interface LexBIGService
Parameters:
codingScheme - The local name or URN of the coding scheme.
tagOrVersion - The assigned tag/label or absolute version identifier of the coding scheme to query.
relationContainerName - The name of the relations container to reference when generating the graph. If omitted, all native relation containers for the code system will be queried. Note: a 'native' container contains a set of associations defined by the coding scheme curators.
Throws:
LBParameterException
LBInvocationException
LBResourceUnavailableException

getLastUpdateTime

public java.util.Date getLastUpdateTime()
Description copied from interface: LexBIGService
Return the last time that the content of this service was changed; null if no changes have occurred. Tag assignments do not count as service changes for this purpose.

Specified by:
getLastUpdateTime in interface LexBIGService
Returns:
java.util.Date

getServiceManager

public LexBIGServiceManager getServiceManager(java.lang.Object credentials)
                                       throws LBParameterException,
                                              LBInvocationException
Description copied from interface: LexBIGService
Validate the credentials and return an interface to the LexBig service manager.

Specified by:
getServiceManager in interface LexBIGService
Parameters:
credentials - Credentials - type to be determined by the security system; null if not applicable.
Throws:
LBParameterException
LBInvocationException

getHistoryService

public HistoryService getHistoryService(java.lang.String codingScheme)
                                 throws LBException
Description copied from interface: LexBIGService
Resolve a reference to the history api servicing the given coding scheme.

Specified by:
getHistoryService in interface LexBIGService
Parameters:
codingScheme - The local name or URN of the coding scheme.
Returns:
org.LexGrid.LexBIG.History.HistoryService
Throws:
LBException

getMatchAlgorithms

public ModuleDescriptionList getMatchAlgorithms()
Description copied from interface: LexBIGService
Returns the full description of all supported match algorithms.

Specified by:
getMatchAlgorithms in interface LexBIGService

getSortAlgorithms

public SortDescriptionList getSortAlgorithms(SortContext context)
Description copied from interface: LexBIGService
Returns a description of all registered extensions used to provide additional sorting of query results in the given context.

Note: The returned list will include any 'built-in' sort algorithms in addition to extensions externally packaged and registered to the service.

Specified by:
getSortAlgorithms in interface LexBIGService
Parameters:
context - A context defined by the SortContext class, or null to indicate that all registered algorithms are to be returned.
Returns:
The list containing the description of extensions registered for this category. Each description identifies a class of item implementing org.LexGrid.LexBIG.Extensions.Query.Sort and providing a public parameterless constructor.

getGenericExtension

public GenericExtension getGenericExtension(java.lang.String name)
                                     throws LBParameterException,
                                            LBInvocationException
Description copied from interface: LexBIGService
Returns an instance of the application-specific extension registered with the given name.

Specified by:
getGenericExtension in interface LexBIGService
Parameters:
name - The extension name; not null.
Returns:
org.LexGrid.LexBIG.Extensions.Generic.GenericExtension
Throws:
LBParameterException
LBInvocationException

getGenericExtensions

public ExtensionDescriptionList getGenericExtensions()
Description copied from interface: LexBIGService
Returns a description of all registered extensions used to implement application-specific behavior that is centrally accessible from a LexBIGService.

Note that only generic extensions (base class GenericExtension) will be listed here. All other classes are retrievable at the appropriate interface point (filter, sort, etc).

Specified by:
getGenericExtensions in interface LexBIGService
Returns:
The list containing the description of extensions registered for this category. Each description identifies a class of item implementing org.LexGrid.LexBIG.Extensions.Generic.GenericExtension and providing a public parameterless constructor.

getFilter

public Filter getFilter(java.lang.String name)
                 throws LBException
Description copied from interface: LexBIGService
Returns an instance of the filter extension registered with the given name.

Specified by:
getFilter in interface LexBIGService
Parameters:
name - The extension name; not null.
Returns:
org.LexGrid.LexBIG.Extensions.Query.Filter
Throws:
LBException

getFilterExtensions

public ExtensionDescriptionList getFilterExtensions()
Description copied from interface: LexBIGService
Returns a description of all registered extensions used to provide additional filtering of query results.

Specified by:
getFilterExtensions in interface LexBIGService
Returns:
The list containing the description of extensions registered for this category. Each description identifies a class of item implementing org.LexGrid.LexBIG.Extensions.Query.Filter and providing a public parameterless constructor.

getSortAlgorithm

public Sort getSortAlgorithm(java.lang.String name)
                      throws LBException
Description copied from interface: LexBIGService
Returns an instance of the sort extension registered with the given name.

Specified by:
getSortAlgorithm in interface LexBIGService
Parameters:
name - The extension name; not null.
Returns:
org.LexGrid.LexBIG.Extensions.Query.Sort
Throws:
LBException

getServiceMetadata

public LexBIGServiceMetadata getServiceMetadata()
                                         throws LBException
Description copied from interface: LexBIGService
Return an interface to perform system-wide query over metadata for loaded code systems and providers.

Specified by:
getServiceMetadata in interface LexBIGService
Throws:
LBException

Copyright: (c) 2004-2006 Mayo Foundation for Medical Education and Research (MFMER). All rights reserved. MAYO, MAYO CLINIC, and the triple-shield Mayo logo are trademarks and service marks of MFMER.