public class N3iosp extends AbstractIOServiceProvider implements IOServiceProvider
| Modifier and Type | Field and Description |
|---|---|
protected N3header |
header |
protected long |
lastModified |
protected static org.slf4j.Logger |
log |
location, ncfile, raf, rafOrder| Constructor and Description |
|---|
N3iosp() |
| Modifier and Type | Method and Description |
|---|---|
void |
build(RandomAccessFile raf,
Group.Builder rootGroup,
CancelTask cancelTask)
Read an existing RandomAccessFile, and populate rootGroup.
|
void |
close()
Close the file.
|
String |
getDetailInfo()
Show debug / underlying implementation details
|
String |
getFileTypeDescription()
Get a human-readable description for this file type.
|
String |
getFileTypeId()
Get a unique id for this file type.
|
String |
getFileTypeVersion()
Get the version of this file type.
|
boolean |
isValidFile(RandomAccessFile raf)
Check if this is a valid file for this IOServiceProvider.
|
void |
reacquire()
Reacquire any resources like file handles
Used when reactivating in cache.
|
Array<?> |
readArrayData(Variable v2,
Section section)
Read data from a top level Variable and return a memory resident Array.
|
Array |
readData(Variable v2,
Section section) |
Object |
sendIospMessage(Object message)
A way to communicate arbitrary information to and from an iosp.
|
String |
toStringDebug(Object o)
Debug info for this object.
|
buildFinish, getLastModified, getStructureDataArrayIterator, getStructureIterator, open, readSection, readToOutputStream, release, setNetcdfFileclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitbuildFinish, getLastModified, getStructureDataArrayIterator, getStructureIterator, readSection, readToOutputStream, releaseprotected static org.slf4j.Logger log
protected N3header header
protected long lastModified
public boolean isValidFile(RandomAccessFile raf) throws IOException
IOServiceProviderisValidFile in interface IOServiceProviderraf - RandomAccessFileIOException - if read errorpublic String getDetailInfo()
IOServiceProvidergetDetailInfo in interface IOServiceProvidergetDetailInfo in class AbstractIOServiceProviderpublic void close()
throws IOException
IOServiceProviderclose in interface Closeableclose in interface AutoCloseableclose in interface IOServiceProviderclose in class AbstractIOServiceProviderIOException - if read errorpublic void reacquire()
throws IOException
IOServiceProviderreacquire in interface IOServiceProviderreacquire in class AbstractIOServiceProviderIOExceptionpublic String toStringDebug(Object o)
IOServiceProvidertoStringDebug in interface IOServiceProvidertoStringDebug in class AbstractIOServiceProvidero - which objectpublic Object sendIospMessage(Object message)
IOServiceProvidersendIospMessage in interface IOServiceProvidersendIospMessage in class AbstractIOServiceProvidermessage - opaque message sent to the IOSP object when its opened (not when isValidFile() is called)public String getFileTypeId()
IOServiceProvidergetFileTypeId in interface IOServiceProviderpublic String getFileTypeDescription()
IOServiceProvidergetFileTypeDescription in interface IOServiceProviderpublic String getFileTypeVersion()
IOServiceProvidergetFileTypeVersion in interface IOServiceProvidergetFileTypeVersion in class AbstractIOServiceProviderpublic void build(RandomAccessFile raf, Group.Builder rootGroup, CancelTask cancelTask) throws IOException
IOServiceProviderbuild in interface IOServiceProviderraf - the file to work on, it has already passed the isValidFile() test.rootGroup - add objects to the root group.cancelTask - used to monitor user cancellation; may be null.IOException - if read errorpublic Array readData(Variable v2, Section section) throws IOException, InvalidRangeException
readData in interface IOServiceProviderIOExceptionInvalidRangeExceptionpublic Array<?> readArrayData(Variable v2, Section section) throws IOException, InvalidRangeException
IOServiceProviderreadArrayData in interface IOServiceProviderreadArrayData in class AbstractIOServiceProviderv2 - a top-level Variablesection - the section of data to read. There must be a Range for each Dimension in the variable, in order.
Note: no nulls allowed. IOSP may not modify.IOExceptionInvalidRangeException