thredds.catalog
Class InvCatalogRef

java.lang.Object
  extended by thredds.catalog.InvDataset
      extended by thredds.catalog.InvDatasetImpl
          extended by thredds.catalog.InvCatalogRef
Direct Known Subclasses:
InvDatasetFmrc, InvDatasetScan

public class InvCatalogRef
extends InvDatasetImpl

A reference to a InvCatalog. The referenced catalog is not read until getDatasets() is called. A client will see the referenced catalog as a nested dataset.

The client can also do asynchronous reading, if the InvCatalogFactory supports it, and if readAsynch() is used.

 Parent relationship:
   ds -> catRef -- catalog
                      ^ top  -> ds ...

  ParentView relationship:
   ds -> catRef -> top  -> ds ...
           (or) -> ds                 if UseProxy

 

Version:
$Revision: 48 $ $Date: 2006-07-12 16:15:40Z $
Author:
john caron
See Also:
for API, thredds.catalog.ui.CatalogTreeView as example to read asynchronously

Field Summary
 
Fields inherited from class thredds.catalog.InvDatasetImpl
log, mark, ncmlElement, tm, tmi, tmi6
 
Fields inherited from class thredds.catalog.InvDataset
access, authorityName, catalog, collectionType, contributors, creators, dataFormatType, datasets, dataType, dates, defaultService, docs, gc, harvest, id, keywords, metadata, name, parent, projects, properties, publishers, restrictAccess, services, tc, variables
 
Constructor Summary
InvCatalogRef(InvDatasetImpl parent, java.lang.String title, java.lang.String href)
          Constructor.
 
Method Summary
 boolean equals(java.lang.Object o)
          InvDatasetImpl elements with same values are equal.
 InvDatasetImpl findDatasetByName(java.lang.String p0)
          Find an immediate child dataset by its name.
 java.lang.String findProperty(java.lang.String p0)
          Find named property.
 InvService findService(java.lang.String p0)
          Find the named service declared in this dataset or one of its parents.
 boolean finish()
          Finish constructing after all elements have been added.
 java.util.List getAccess()
          Get all access elements for this dataset.
 InvAccess getAccess(ServiceType p0)
          Get access element of the specified service type for this dataset.
 java.lang.String getAlias()
          Get alias for this Dataset, if it exists
 java.lang.String getAuthority()
          Get authority for this Dataset, may be null.
 CollectionType getCollectionType()
          Get collectionType
 java.util.List getContributors()
          get List of type ThreddsMetadata.Contributors
 java.util.List getCreators()
          get List of type ThreddsMetadata.Source
 DataFormatType getDataFormatType()
          Get the DataFormatType (which may be inherited from parent), or null .
 java.util.List getDatasets()
          Get Datasets.
 DataType getDataType()
          Get the DataType (which may be inherited from parent), or null .
 java.util.List getDates()
          get List of type DateType
 java.util.List getDocumentation()
          Get list of documentation elements for this dataset.
 java.lang.String getDocumentation(java.lang.String p0)
          get specific type of documentation
 java.lang.String getFullName()
          Get the full, heirarchical name of the dataset, which has all parent collection names.
 ThreddsMetadata.GeospatialCoverage getGeospatialCoverage()
          get geospatial coverage, or null if none
 java.lang.String getID()
          Get the id of the dataset, or null.
 java.util.List getKeywords()
          get List of type ThreddsMetadata.Vocab
protected  boolean getMark()
          Filtering
 java.util.List getMetadata()
          Get the metadata elements for this InvDataset.
 java.util.List getMetadata(MetadataType p0)
          Get the metadata elements of the specified type.
 java.lang.String getName()
          Get the "human readable" name of the dataset.
 InvDataset getParent()
          Get parent dataset.
 java.util.List getProjects()
          get List of type ThreddsMetadata.Vocab
 java.util.List getProperties()
          Get all properties for this dataset.
 InvDatasetImpl getProxyDataset()
          Return top dataset of referenced catalog.
 java.util.List getPublishers()
          get List of type ThreddsMetadata.Source
 InvService getServiceDefault()
          Find the default service for this dataset and its children.
 DateRange getTimeCoverage()
          get time coverage, or null if none
 java.lang.String getUniqueID()
          If this dataset has an authority and an ID, then the concatenation of them is the globally unique ID.
 java.net.URI getURI()
          get Xlink reference as a URI, resolved
 java.lang.String getUrlPath()
          Get urlPath for this Dataset
 java.lang.Object getUserProperty(java.lang.Object p0)
          User properties
 java.util.List getVariables()
          get List of type ThreddsMetadata.Variables
 java.lang.String getXlinkHref()
          get Xlink Href, as a String, unresolved
 boolean hasAccess()
          If this dataset has access elements.
 int hashCode()
          Override Object.hashCode() to implement equals.
 boolean hasNestedDatasets()
          If this dataset has nested datasets.
 boolean isHarvest()
          Get harvest
 boolean isRead()
          If the referenced catalog has been read
 void readAsynch(InvCatalogFactory factory, CatalogSetCallback caller)
          Read the referenced catalog asynchronously, if the catalog factory supports it.
 void release()
          Release resources - undo the read of the catalog.
 
Methods inherited from class thredds.catalog.InvDatasetImpl
addAccess, addAccess, addDataset, addDataset, addDocumentation, addProperty, addService, canonicalize, dump, getAccessLocal, getCat6Metadata, getDataSize, getDocumentationLinks, getLastModifiedDate, getLocalMetadata, getLocalMetadataInheritable, getNcmlElement, getParentReal, getServiceName, getServicesLocal, main, removeDataset, removeLocalMetadata, removeService, replaceDataset, resolve, setAlias, setAuthority, setCatalog, setCollectionType, setContributors, setDataFormatType, setDataSize, setDataType, setGeospatialCoverage, setHarvest, setID, setKeywords, setLastModifiedDate, setLastModifiedDate, setLocalMetadata, setMark, setName, setNcmlElement, setParent, setProjects, setPublishers, setResourceControl, setServiceName, setServicesLocal, setTimeCoverage, setUrlPath, setUserProperty, toString, transferMetadata, writeHtmlDescription
 
Methods inherited from class thredds.catalog.InvDataset
findAccess, getCatalogUrl, getHistory, getParentCatalog, getProcessing, getRestrictAccess, getRights, getSubsetUrl, getSummary, getVariables
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

InvCatalogRef

public InvCatalogRef(InvDatasetImpl parent,
                     java.lang.String title,
                     java.lang.String href)
Constructor.

Parameters:
parent - : parent dataset
title - : display name of collection
href - : URL to another catalog
Method Detail

getXlinkHref

public java.lang.String getXlinkHref()
get Xlink Href, as a String, unresolved


getURI

public java.net.URI getURI()
get Xlink reference as a URI, resolved


getDatasets

public java.util.List getDatasets()
Get Datasets. This triggers a read of the referenced catalog the first time its called.

Overrides:
getDatasets in class InvDataset
Returns:
list of objects of type InvDataset. May be empty, not null.

isRead

public boolean isRead()
If the referenced catalog has been read


getProxyDataset

public InvDatasetImpl getProxyDataset()
Return top dataset of referenced catalog. This triggers a read of the referenced catalog the first time its called.


release

public void release()
Release resources - undo the read of the catalog. This is needed when crawling large catalogs. For modest catalogs that you will repeatedly examine, do not use this method.


finish

public boolean finish()
Description copied from class: InvDatasetImpl
Finish constructing after all elements have been added. This does the inheritence thing This can be called again if new elements are added.

Overrides:
finish in class InvDatasetImpl
Returns:
true if successful.

readAsynch

public void readAsynch(InvCatalogFactory factory,
                       CatalogSetCallback caller)
Read the referenced catalog asynchronously, if the catalog factory supports it. If it doesnt, this method will work equivilently to read(), which is called the first time getDatasets() is called. If the catalog is already read in, the callback will be called immediately, before this method exits.

Parameters:
factory - : use this catalog factory
caller - when catalog is read
See Also:
CatalogSetCallback

equals

public boolean equals(java.lang.Object o)
Description copied from class: InvDatasetImpl
InvDatasetImpl elements with same values are equal.

Overrides:
equals in class InvDatasetImpl

hashCode

public int hashCode()
Description copied from class: InvDatasetImpl
Override Object.hashCode() to implement equals.

Overrides:
hashCode in class InvDatasetImpl

findDatasetByName

public InvDatasetImpl findDatasetByName(java.lang.String p0)
Description copied from class: InvDataset
Find an immediate child dataset by its name.

Overrides:
findDatasetByName in class InvDataset
Returns:
dataset if found or null if not exist.

findProperty

public java.lang.String findProperty(java.lang.String p0)
Description copied from class: InvDataset
Find named property. This may have been specified in the dataset or an enclosing parent element.

Overrides:
findProperty in class InvDataset
Returns:
string value of property or null if not exist.

findService

public InvService findService(java.lang.String p0)
Description copied from class: InvDataset
Find the named service declared in this dataset or one of its parents.

Overrides:
findService in class InvDataset
Returns:
first service that matches the given name, or null if none found.

getAccess

public InvAccess getAccess(ServiceType p0)
Description copied from class: InvDataset
Get access element of the specified service type for this dataset. If more than one, get the first one.

Overrides:
getAccess in class InvDataset
Returns:
InvAccess or null if there is not one.

getAccess

public java.util.List getAccess()
Description copied from class: InvDataset
Get all access elements for this dataset. This list will expand any compound services.

Overrides:
getAccess in class InvDataset
Returns:
List of InvAccess objects. List may not be null, may be empty.

getAlias

public java.lang.String getAlias()
Description copied from class: InvDatasetImpl
Get alias for this Dataset, if it exists

Overrides:
getAlias in class InvDatasetImpl

getAuthority

public java.lang.String getAuthority()
Description copied from class: InvDataset
Get authority for this Dataset, may be null.

Overrides:
getAuthority in class InvDataset

getCollectionType

public CollectionType getCollectionType()
Description copied from class: InvDataset
Get collectionType

Overrides:
getCollectionType in class InvDataset

getContributors

public java.util.List getContributors()
Description copied from class: InvDataset
get List of type ThreddsMetadata.Contributors

Overrides:
getContributors in class InvDataset

getCreators

public java.util.List getCreators()
Description copied from class: InvDataset
get List of type ThreddsMetadata.Source

Overrides:
getCreators in class InvDataset

getDataFormatType

public DataFormatType getDataFormatType()
Description copied from class: InvDataset
Get the DataFormatType (which may be inherited from parent), or null .

Overrides:
getDataFormatType in class InvDataset

getDataType

public DataType getDataType()
Description copied from class: InvDataset
Get the DataType (which may be inherited from parent), or null .

Overrides:
getDataType in class InvDataset

getDates

public java.util.List getDates()
Description copied from class: InvDataset
get List of type DateType

Overrides:
getDates in class InvDataset

getDocumentation

public java.util.List getDocumentation()
Description copied from class: InvDataset
Get list of documentation elements for this dataset.

Overrides:
getDocumentation in class InvDataset
Returns:
list of InvDocumentation objects. May be empty, not null.

getDocumentation

public java.lang.String getDocumentation(java.lang.String p0)
Description copied from class: InvDataset
get specific type of documentation

Overrides:
getDocumentation in class InvDataset

getFullName

public java.lang.String getFullName()
Description copied from class: InvDataset
Get the full, heirarchical name of the dataset, which has all parent collection names.

Overrides:
getFullName in class InvDataset

getGeospatialCoverage

public ThreddsMetadata.GeospatialCoverage getGeospatialCoverage()
Description copied from class: InvDataset
get geospatial coverage, or null if none

Overrides:
getGeospatialCoverage in class InvDataset

getID

public java.lang.String getID()
Description copied from class: InvDataset
Get the id of the dataset, or null.

Overrides:
getID in class InvDataset

getKeywords

public java.util.List getKeywords()
Description copied from class: InvDataset
get List of type ThreddsMetadata.Vocab

Overrides:
getKeywords in class InvDataset

getMark

protected boolean getMark()
Description copied from class: InvDatasetImpl
Filtering

Overrides:
getMark in class InvDatasetImpl

getMetadata

public java.util.List getMetadata(MetadataType p0)
Description copied from class: InvDataset
Get the metadata elements of the specified type.

Overrides:
getMetadata in class InvDataset
Returns:
List of InvMetadata objects. List may be empty but not null.

getMetadata

public java.util.List getMetadata()
Description copied from class: InvDataset
Get the metadata elements for this InvDataset.

Overrides:
getMetadata in class InvDataset
Returns:
List of InvMetadata objects. List may be empty but not null.

getName

public java.lang.String getName()
Description copied from class: InvDataset
Get the "human readable" name of the dataset.

Overrides:
getName in class InvDataset

getParent

public InvDataset getParent()
Description copied from class: InvDataset
Get parent dataset.

Overrides:
getParent in class InvDataset
Returns:
parent dataset. If top dataset, return null.

getProjects

public java.util.List getProjects()
Description copied from class: InvDataset
get List of type ThreddsMetadata.Vocab

Overrides:
getProjects in class InvDataset

getProperties

public java.util.List getProperties()
Description copied from class: InvDataset
Get all properties for this dataset. These may have been specified in the dataset or an enclosing parent element.

Overrides:
getProperties in class InvDataset
Returns:
List of type InvProperty. May be empty, not null.

getPublishers

public java.util.List getPublishers()
Description copied from class: InvDataset
get List of type ThreddsMetadata.Source

Overrides:
getPublishers in class InvDataset

getServiceDefault

public InvService getServiceDefault()
Description copied from class: InvDataset
Find the default service for this dataset and its children. If not declared in this dataset, search in parents. This is the default for any nested datasets or access elements.

Overrides:
getServiceDefault in class InvDataset

getTimeCoverage

public DateRange getTimeCoverage()
Description copied from class: InvDataset
get time coverage, or null if none

Overrides:
getTimeCoverage in class InvDataset

getUniqueID

public java.lang.String getUniqueID()
Description copied from class: InvDataset
If this dataset has an authority and an ID, then the concatenation of them is the globally unique ID.

Overrides:
getUniqueID in class InvDataset
Returns:
globally unique ID, or null if missing authority or ID.

getUrlPath

public java.lang.String getUrlPath()
Description copied from class: InvDatasetImpl
Get urlPath for this Dataset

Overrides:
getUrlPath in class InvDatasetImpl

getUserProperty

public java.lang.Object getUserProperty(java.lang.Object p0)
Description copied from class: InvDatasetImpl
User properties

Overrides:
getUserProperty in class InvDatasetImpl

getVariables

public java.util.List getVariables()
Description copied from class: InvDataset
get List of type ThreddsMetadata.Variables

Overrides:
getVariables in class InvDataset

hasAccess

public boolean hasAccess()
Description copied from class: InvDataset
If this dataset has access elements.

Overrides:
hasAccess in class InvDataset
Returns:
true if has access elements.

hasNestedDatasets

public boolean hasNestedDatasets()
Description copied from class: InvDataset
If this dataset has nested datasets.

Overrides:
hasNestedDatasets in class InvDataset
Returns:
true if has nested datasets.

isHarvest

public boolean isHarvest()
Description copied from class: InvDataset
Get harvest

Overrides:
isHarvest in class InvDataset