Package ucar.nc2.ft
Class FeatureDatasetImpl
- java.lang.Object
-
- ucar.nc2.ft.FeatureDatasetImpl
-
- All Implemented Interfaces:
Closeable
,AutoCloseable
,FeatureDataset
,FileCacheable
- Direct Known Subclasses:
PointDatasetImpl
public abstract class FeatureDatasetImpl extends Object implements FeatureDataset
Abstract superclass for implementations of FeatureDataset. Subclass must implement getFeatureClass(), and add specific functionality. Also set dataVariables- Since:
- Sep 7, 2007
-
-
Field Summary
Fields Modifier and Type Field Description protected LatLonRect
boundingBox
protected List<VariableSimpleIF>
dataVariables
protected CalendarDateRange
dateRange
protected String
desc
protected FileCacheIF
fileCache
protected String
location
protected NetcdfDataset
netcdfDataset
protected Formatter
parseInfo
protected String
title
-
Constructor Summary
Constructors Modifier Constructor Description FeatureDatasetImpl()
No-arg constuctorFeatureDatasetImpl(String title, String description, String location)
Constructor when theres no NetcdfFile underneath.FeatureDatasetImpl(NetcdfDataset netcdfDataset)
Constructor when theres a NetcdfFile underneathprotected
FeatureDatasetImpl(FeatureDatasetImpl from)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description AttributeContainer
attributes()
Get the global attributes.void
close()
Close all resources associated with this dataset.Attribute
findGlobalAttributeIgnoreCase(String name)
Deprecated.use attributes()LatLonRect
getBoundingBox()
The lat/lon boundingBox for the entire dataset.CalendarDate
getCalendarDateEnd()
Ending Calendar date for the entire dataset.CalendarDateRange
getCalendarDateRange()
Calendar Date range for the entire dataset.CalendarDate
getCalendarDateStart()
Starting Calendar date for the entire dataset.VariableSimpleIF
getDataVariable(String shortName)
Get the named data Variable.List<VariableSimpleIF>
getDataVariables()
The data Variables available in this dataset.String
getDescription()
Text information about this dataset.void
getDetailInfo(Formatter sf)
Show debug / underlying implementation detailsList<Attribute>
getGlobalAttributes()
Deprecated.use attributes()String
getImplementationName()
Show who is implementinglong
getLastModified()
Returns the time that the underlying file(s) were last modified.String
getLocation()
The URI location of the datasetNetcdfFile
getNetcdfFile()
Return underlying NetcdfFile, or null if none.String
getTitle()
Title of the dataset.void
reacquire()
Deprecated.do not usevoid
release()
Deprecated.do not usevoid
setBoundingBox(LatLonRect boundingBox)
void
setDateRange(CalendarDateRange dateRange)
protected void
setDescription(String desc)
void
setFileCache(FileCacheIF fileCache)
Deprecated.do not useprotected void
setLocationURI(String location)
protected void
setTitle(String title)
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface ucar.nc2.ft.FeatureDataset
getFeatureType
-
-
-
-
Field Detail
-
netcdfDataset
protected NetcdfDataset netcdfDataset
-
title
protected String title
-
desc
protected String desc
-
location
protected String location
-
dataVariables
protected List<VariableSimpleIF> dataVariables
-
parseInfo
protected Formatter parseInfo
-
dateRange
protected CalendarDateRange dateRange
-
boundingBox
protected LatLonRect boundingBox
-
fileCache
protected FileCacheIF fileCache
-
-
Constructor Detail
-
FeatureDatasetImpl
protected FeatureDatasetImpl(FeatureDatasetImpl from)
-
FeatureDatasetImpl
public FeatureDatasetImpl()
No-arg constuctor
-
FeatureDatasetImpl
public FeatureDatasetImpl(String title, String description, String location)
Constructor when theres no NetcdfFile underneath.- Parameters:
title
- title of the dataset.description
- description of the dataset.location
- URI of the dataset
-
FeatureDatasetImpl
public FeatureDatasetImpl(NetcdfDataset netcdfDataset)
Constructor when theres a NetcdfFile underneath- Parameters:
netcdfDataset
- adapt this NetcdfDataset
-
-
Method Detail
-
setTitle
protected void setTitle(String title)
-
setDescription
protected void setDescription(String desc)
-
setLocationURI
protected void setLocationURI(String location)
-
setDateRange
public void setDateRange(CalendarDateRange dateRange)
-
setBoundingBox
public void setBoundingBox(LatLonRect boundingBox)
-
getNetcdfFile
public NetcdfFile getNetcdfFile()
Description copied from interface:FeatureDataset
Return underlying NetcdfFile, or null if none.- Specified by:
getNetcdfFile
in interfaceFeatureDataset
- Returns:
- the underlying NetcdfFile, or null if none.
-
getTitle
public String getTitle()
Description copied from interface:FeatureDataset
Title of the dataset.- Specified by:
getTitle
in interfaceFeatureDataset
- Returns:
- the title of the dataset, or null
-
getDescription
public String getDescription()
Description copied from interface:FeatureDataset
Text information about this dataset.- Specified by:
getDescription
in interfaceFeatureDataset
- Returns:
- any text information about this dataset, or null.
-
getLocation
public String getLocation()
Description copied from interface:FeatureDataset
The URI location of the dataset- Specified by:
getLocation
in interfaceFeatureDataset
- Specified by:
getLocation
in interfaceFileCacheable
- Returns:
- the URI location of the dataset, or null
-
attributes
public AttributeContainer attributes()
Description copied from interface:FeatureDataset
Get the global attributes.- Specified by:
attributes
in interfaceFeatureDataset
-
getGlobalAttributes
@Deprecated public List<Attribute> getGlobalAttributes()
Deprecated.use attributes()Description copied from interface:FeatureDataset
List of global attributes.- Specified by:
getGlobalAttributes
in interfaceFeatureDataset
- Returns:
- List of type ucar.nc2.Attribute, may be empty but not null
-
findGlobalAttributeIgnoreCase
@Deprecated public Attribute findGlobalAttributeIgnoreCase(String name)
Deprecated.use attributes()Description copied from interface:FeatureDataset
Return the global attribute with the given name, ignoring case.- Specified by:
findGlobalAttributeIgnoreCase
in interfaceFeatureDataset
- Parameters:
name
- attribute name- Returns:
- the global attribute, or null
-
getDetailInfo
public void getDetailInfo(Formatter sf)
Description copied from interface:FeatureDataset
Show debug / underlying implementation details- Specified by:
getDetailInfo
in interfaceFeatureDataset
- Parameters:
sf
- append info here
-
getCalendarDateRange
public CalendarDateRange getCalendarDateRange()
Description copied from interface:FeatureDataset
Calendar Date range for the entire dataset.- Specified by:
getCalendarDateRange
in interfaceFeatureDataset
- Returns:
- the date range for the entire dataset, or null if unknown
-
getCalendarDateStart
public CalendarDate getCalendarDateStart()
Description copied from interface:FeatureDataset
Starting Calendar date for the entire dataset.- Specified by:
getCalendarDateStart
in interfaceFeatureDataset
- Returns:
- the starting date for the entire dataset, or null if unknown
-
getCalendarDateEnd
public CalendarDate getCalendarDateEnd()
Description copied from interface:FeatureDataset
Ending Calendar date for the entire dataset.- Specified by:
getCalendarDateEnd
in interfaceFeatureDataset
- Returns:
- the ending date for the entire dataset, or null if unknown
-
getBoundingBox
public LatLonRect getBoundingBox()
Description copied from interface:FeatureDataset
The lat/lon boundingBox for the entire dataset.- Specified by:
getBoundingBox
in interfaceFeatureDataset
- Returns:
- the lat/lon boundingBox for the entire dataset, or null if unknown.
-
getDataVariables
public List<VariableSimpleIF> getDataVariables()
Description copied from interface:FeatureDataset
The data Variables available in this dataset. Should just be data variables others might be searching for, not metadata or coordinate system variables, etc. The shapes of the VariableSimpleIF do not necessarily match the StructureData member.- Specified by:
getDataVariables
in interfaceFeatureDataset
- Returns:
- List of subclass of VariableSimpleIF, may be empty but not null
-
getDataVariable
public VariableSimpleIF getDataVariable(String shortName)
Description copied from interface:FeatureDataset
Get the named data Variable.- Specified by:
getDataVariable
in interfaceFeatureDataset
- Parameters:
shortName
- of data Variable.- Returns:
- VariableSimpleIF or null if not found
-
getImplementationName
public String getImplementationName()
Description copied from interface:FeatureDataset
Show who is implementing- Specified by:
getImplementationName
in interfaceFeatureDataset
- Returns:
- name of implementor
-
close
public void close() throws IOException
Description copied from interface:FeatureDataset
Close all resources associated with this dataset.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Specified by:
close
in interfaceFeatureDataset
- Specified by:
close
in interfaceFileCacheable
- Throws:
IOException
- on i/o error
-
release
@Deprecated public void release() throws IOException
Deprecated.do not useDescription copied from interface:FileCacheable
Release any system resources like file handles. Optional, implement only if you are able to reacquire. Used when object is made inactive in cache.- Specified by:
release
in interfaceFileCacheable
- Throws:
IOException
-
reacquire
@Deprecated public void reacquire() throws IOException
Deprecated.do not useDescription copied from interface:FileCacheable
Reacquire any resources like file handles Used when reactivating in cache.- Specified by:
reacquire
in interfaceFileCacheable
- Throws:
IOException
-
getLastModified
public long getLastModified()
Description copied from interface:FileCacheable
Returns the time that the underlying file(s) were last modified. If they've changed since they were stored in the cache, they will be closed and reopened withFileFactory
.- Specified by:
getLastModified
in interfaceFileCacheable
- Returns:
- a
long
value representing the time the file(s) were last modified or0L
if the last-modified time couldn't be determined for any reason.
-
setFileCache
@Deprecated public void setFileCache(FileCacheIF fileCache)
Deprecated.do not useDescription copied from interface:FileCacheable
If the FileCache is not null, FileCacheable.close() must call FileCache.release()public synchronized void close() throws java.io.IOException { if (cache != null) { if (cache.release(this)) return; } reallyClose(); }
- Specified by:
setFileCache
in interfaceFileCacheable
- Parameters:
fileCache
- must store this, use it on close as above.
-
-