uk.ac.starlink.hds
Class HDSObject

java.lang.Object
  extended by uk.ac.starlink.hds.HDSObject

public class HDSObject
extends Object

Provides a Java interface to the Starlink HDS library. The methods provided here are all implemented using JNI native code and are intended to map one-to-one to the public Fortran calls provided by HDS, using similar arguments to those calls. Other useful methods on HDS objects should be provided by other classes which extend or contain instances of HDSObject. For this reason there is no constructor, a factory method like hdsOpen or datFind should be used instead.

On the whole, the implementation of this class is such that a call to one of these methods results in a call to the similarly-named routine in the HDS library. This is not always the most efficient way to procure the data requested.

The arguments of the methods declared by this class are not identical with those of the corresponding Fortran HDS calls, and the documentation for each of the HDSObject methods should be checked before use. However, the following rules in general apply:

Furthermore, methods are named in a predictable way from the names of the corresponding Fortran calls.

Using the above rules, we see that, for instance:

    CALL DAT_FIND( LOC1, NAME, LOC2, STATUS )
 
becomes
    public native HDSObject datFind( String name ) throws HDSException;
 

Note: This class is not complete; it is being added to as calls are required.

Version:
$Id$
Author:
Mark Taylor (STARLINK), Peter W. Draper (JAC, Durham University)

Field Summary
static int DAT__SZNAM
          Maximum number of characters in the name of an HDS component.
static int DAT__SZTYP
          maximum number of characters in the name of an HDS type string.
 
Method Summary
 void datAnnul()
          Annul locator.
 HDSObject datCell(long[] position)
          Get an HDSObject from a cell (element) of an array object.
 HDSObject datClone()
          Clone locator.
 void datCopy(HDSObject hdsobj, String name)
          Recursively copy an object into a component.
 void datErase(String name)
          Erase component.
 HDSObject datFind(String name)
          Find named component.
 String datGet0c()
          Read scalar primitive as String type.
 double datGet0d()
          Read scalar primitive as double type.
 int datGet0i()
          Read scalar primitive as int type.
 boolean datGet0l()
          Read scalar primitive as boolean type.
 float datGet0r()
          Read scalar primitive as float type.
 Object datGetc(long[] shape)
          Read a primitive as String type.
 Object datGetd(long[] shape)
          Read a primitive as double type.
 Object datGeti(long[] shape)
          Read a primitive as integer type.
 Object datGetl(long[] shape)
          Read a primitive as boolean type.
 Object datGetr(long[] shape)
          Read a primitive as float type.
 String[] datGetvc()
          Read a primitive as String type as if it were vectorised (regardless of its actual shape).
 double[] datGetvd()
          Read a primitive as doubletype as if it were vectorised (regardless of its actual shape).
 int[] datGetvi()
          Read a primitive as int type as if it were vectorised (regardless of its actual shape).
 boolean[] datGetvl()
          Read a primitive as boolean type as if it were vectorised (regardless of its actual shape).
 float[] datGetvr()
          Read a primitive as float type as if it were vectorised (regardless of its actual shape).
 HDSObject datIndex(int index)
          Index into component list.
 Buffer datMapv(String type, String mode)
          Map primitive.
 String datName()
          Enquire object name.
 int datNcomp()
          Enquire number of components.
 void datNew(String name, String type, long[] dims)
          Create component.
 HDSObject datParen()
          Locate parent structure.
 boolean datPrmry()
          Enquire primary/secondary locator status.
 void datPrmry(boolean primary)
          Set primary/secondary locator status.
 void datPut0c(String value)
          Write scalar primitive.
 void datPut0d(double value)
          Write scalar primitive.
 void datPut0i(int value)
          Write scalar primitive.
 void datPut0l(boolean value)
          Write scalar primitive.
 void datPut0r(float value)
          Write scalar primitive.
 void datPutvc(String[] value)
          Write a primitive as if it were vectorised (regardless of its actual shape).
 void datPutvd(double[] value)
          Write a primitive as if it were vectorised (regardless of its actual shape).
 void datPutvi(int[] value)
          Write a primitive as if it were vectorised (regardless of its actual shape).
 void datPutvl(boolean[] value)
          Write a primitive as if it were vectorised (regardless of its actual shape).
 void datPutvr(float[] value)
          Write a primitive as if it were vectorised (regardless of its actual shape).
 String datRef()
          Obtain a reference for an HDSObject.
 long[] datShape()
          Enquire object shape.
 long datSize()
          Enquire object size.
 boolean datState()
          Enquire object state.
 boolean datStruc()
          Enquire whether object is a structure.
 boolean datThere(String name)
          Enquire if a component of a structure exists.
 String datType()
          Enquire object type.
 void datUnmap()
          Unmap an object mapped by another HDSObject method.
 boolean datValid()
          Enquire locator validity.
protected  void finalize()
           
static int hdsGtune(String param)
          Get HDS tuning parameter value.
static HDSObject hdsNew(String file, String name, String type, long[] dims)
          Create container file.
static HDSObject hdsOpen(String container, String accessMode)
          Open container file.
static void hdsShow(String topic)
          Show HDS statistics.
 int hdsTrace(String[] results)
          Trace object path.
static void hdsTune(String param, int value)
          Set HDS tuning parameter.
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

DAT__SZNAM

public static final int DAT__SZNAM
Maximum number of characters in the name of an HDS component. The value is determined by the underlying HDS library.


DAT__SZTYP

public static final int DAT__SZTYP
maximum number of characters in the name of an HDS type string. Note this does not include the size modifier in a '_CHAR*N' string. The value is determined by the underlying HDS library.

Method Detail

finalize

protected void finalize()
                 throws Throwable
Overrides:
finalize in class Object
Throws:
Throwable

toString

public String toString()
Overrides:
toString in class Object

hdsGtune

public static int hdsGtune(String param)
                    throws HDSException
Get HDS tuning parameter value. The routine returns the current value of an HDS tuning parameter (normally this will be its default value, or the value last specified using the hdsTune(java.lang.String, int) routine).

Parameters:
param - Name of the tuning parameter
Returns:
the tuning parameter value
Throws:
HDSException - if an HDS error occurs (STATUS is not SAI__OK)
See Also:
HDS_GTUNE

hdsNew

public static HDSObject hdsNew(String file,
                               String name,
                               String type,
                               long[] dims)
                        throws HDSException
Create container file. Creates a new container file and returns a primary locator to the top-level object.

Parameters:
file - the name of the container file to be created. ".sdf" will be added an extension is not specified.
name - the name of the object to be created
type - the HDS type of the top-level object to be created
dims - the dimensions of the top-level object to be created
Returns:
an HDSObject referencing the object in the new container file. It is a primary object.
Throws:
HDSException - if an HDS error occurs (STATUS is not SAI__OK)
See Also:
HDS_NEW

hdsOpen

public static HDSObject hdsOpen(String container,
                                String accessMode)
                         throws HDSException
Open container file.

Parameters:
container - the container file name
accessMode - the access mode "READ", "UPDATE" or "WRITE"
Returns:
a new HDSObject representing the newly opened container file
Throws:
HDSException - if an HDS error occurs (STATUS is not SAI__OK)
See Also:
HDS_OPEN

hdsShow

public static void hdsShow(String topic)
                    throws HDSException
Show HDS statistics.

Parameters:
topic - name of the topic on which to supply information. One of "DATA", "FILES" or "LOCATORS".
Throws:
HDSException - if an HDS error occurs (STATUS is not SAI__OK)
See Also:
HDS_SHOW

hdsTrace

public int hdsTrace(String[] results)
             throws HDSException
Trace object path.

Parameters:
results - a two-element String array. On exit the first element will be set to the object path name within the container file, and the second element to the container file name.
Returns:
the number of path levels
Throws:
HDSException - if an HDS error occurs (STATUS is not SAI__OK)
See Also:
HDS_TRACE

hdsTune

public static void hdsTune(String param,
                           int value)
                    throws HDSException
Set HDS tuning parameter.

Parameters:
param - Name of the tuning parameter
value - the value of the tuning parameter
Throws:
HDSException - if an HDS error occurs (STATUS is not SAI__OK)
See Also:
HDS_TUNE

datAnnul

public void datAnnul()
              throws HDSException
Annul locator.

It is not generally necessary for client code to call this method (though it is permissible), since it is called by the finalizer method. The garbage collector can therefore be relied upon to annul resources which are associated with unreferenced HDSObjects in due course. Note however that there is no guarantee when (or if) garbage collection will be performed, so side-effects of datAnnul, such as the unmapping of mapped data, must be invoked explicitly rather than leaving them to get done when the automatic annul is done.

Throws:
HDSException - if an HDS error occurs (STATUS is not SAI__OK)
See Also:
DAT_ANNUL

datCell

public HDSObject datCell(long[] position)
                  throws HDSException
Get an HDSObject from a cell (element) of an array object.

Parameters:
position - the location within the array of the cell to retreive
Returns:
a new HDSObject representing the indicated element of the array
Throws:
HDSException - if an HDS error occurs (STATUS is not SAI__OK)
See Also:
DAT_CELL

datClone

public HDSObject datClone()
                   throws HDSException
Clone locator.

Returns:
a new HDSObject referring to the same object as this HDSObject except that the locator will always be secondary
Throws:
HDSException - if an HDS error occurs (STATUS is not SAI__OK)
See Also:
DAT_CLONE

datCopy

public void datCopy(HDSObject hdsobj,
                    String name)
             throws HDSException
Recursively copy an object into a component. This means that the complete object (including its components and its components's components, etc.) is copied, not just the top level.

Parameters:
hdsobj - destination object
name - component name in destination object
Throws:
HDSException - if an HDS error occurs (STATUS is not SAI__OK)
See Also:
DAT_COPY

datErase

public void datErase(String name)
              throws HDSException
Erase component. Recursively erases a component. This means that all its lower level components are deleted as well.

Parameters:
name - the name of the component within this HDSObject
Throws:
HDSException - if an HDS error occurs (STATUS is not SAI__OK)
See Also:
DAT_ERASE

datFind

public HDSObject datFind(String name)
                  throws HDSException
Find named component.

Parameters:
name - the name of the component within this HDSObject
Returns:
a new HDSObject representing the named component
Throws:
HDSException - if an HDS error occurs (STATUS is not SAI__OK)
See Also:
DAT_FIND

datGetc

public Object datGetc(long[] shape)
               throws HDSException
Read a primitive as String type.

Parameters:
shape - an array giving the shape of the HDS primitive
Returns:
an Object giving the contents of this primitive HDSObject. If this object represents an HDS array primitive, the return value is an array, or array of arrays, or ... of Strings, according to the dimensionality of the primitive. If this object is a scalar primitive (shape has dimensionality of zero) it will be the scalar value as a String.
Throws:
HDSException - if an HDS error occurs (STATUS is not SAI__OK)
See Also:
DAT_GETx

datGetl

public Object datGetl(long[] shape)
               throws HDSException
Read a primitive as boolean type.

Parameters:
shape - an array giving the shape of the HDS primitive
Returns:
an Object giving the contents of this primitive HDSObject. If this object represents an HDS array primitive, the return value is an array, or array of arrays, or ... of booleans, according to the dimensionality of the primitive. If this object is a scalar primitive (shape has dimensionality of zero) it will be an Boolean wrapping the value.
Throws:
HDSException - if an HDS error occurs (STATUS is not SAI__OK)
See Also:
DAT_GETx

datGeti

public Object datGeti(long[] shape)
               throws HDSException
Read a primitive as integer type.

Parameters:
shape - an array giving the shape of the HDS primitive to return
Returns:
an Object giving the contents of this primitive HDSObject. If this object represents an HDS array primitive, the return value is an array, or array of arrays, or ... of ints, according to the dimensionality of the primitive. If this object is a scalar primitive (shape has dimensionality of zero) it will be an Integer wrapping the value.
Throws:
HDSException - if an HDS error occurs (STATUS is not SAI__OK)
See Also:
DAT_GETx

datGetr

public Object datGetr(long[] shape)
               throws HDSException
Read a primitive as float type.

Parameters:
shape - an array giving the shape of the HDS primitive to return
Returns:
an Object giving the contents of this primitive HDSObject. If this object represents an HDS array primitive, the return value is an array, or array of arrays, or ... of floats, according to the dimensionality of the primitive. If this object is a scalar primitive (shape has dimensionality of zero) it will be an Float wrapping the value.
Throws:
HDSException - if an HDS error occurs (STATUS is not SAI__OK)
See Also:
DAT_GETx

datGetd

public Object datGetd(long[] shape)
               throws HDSException
Read a primitive as double type.

Parameters:
shape - an array giving the shape of the HDS primitive to return
Returns:
an Object giving the contents of this primitive HDSObject. If this object represents an HDS array primitive, the return value is an array, or array of arrays, or ... of doubles, according to the dimensionality of the primitive. If this object is a scalar primitive (shape has dimensionality of zero) it will be an Double wrapping the value.
Throws:
HDSException - if an HDS error occurs (STATUS is not SAI__OK)
See Also:
DAT_GETx

datGetvc

public String[] datGetvc()
                  throws HDSException
Read a primitive as String type as if it were vectorised (regardless of its actual shape). The length of the returned array will be the size of the entire array of this object (note: one element for each array element, not for each character). Trailing blanks in the strings will be trimmed so strings may be smaller than their declared size. This method cannot be used to read arrays with more than Integer.MAX_VALUE elements.

Returns:
a (1-dimensional) array of Strings, one for each element in the primitive array.
Throws:
HDSException - if an HDS error occurs (STATUS is not SAI__OK)
See Also:
DAT_GETVx

datGetvl

public boolean[] datGetvl()
                   throws HDSException
Read a primitive as boolean type as if it were vectorised (regardless of its actual shape). The length of the returned array will be the size of the entire array of this object. This method cannot be used to read arrays with more than Integer.MAX_VALUE elements.

Returns:
a (1-dimensional) array of booleans containing all the values of the primitive array
Throws:
HDSException - if an HDS error occurs (STATUS is not SAI__OK)
See Also:
DAT_GETVx

datGetvi

public int[] datGetvi()
               throws HDSException
Read a primitive as int type as if it were vectorised (regardless of its actual shape). The length of the returned array will be the size of the entire array of this object. This method cannot be used to read arrays with more than Integer.MAX_VALUE elements.

Returns:
a (1-dimensional) array of ints containing all the values of the primitive array
Throws:
HDSException - if an HDS error occurs (STATUS is not SAI__OK)
See Also:
DAT_GETVx

datGetvr

public float[] datGetvr()
                 throws HDSException
Read a primitive as float type as if it were vectorised (regardless of its actual shape). The length of the returned array will be the size of the entire array of this object. This method cannot be used to read arrays with more than Integer.MAX_VALUE elements.

Returns:
a (1-dimensional) array of floats containing all the values of the primitive array
Throws:
HDSException - if an HDS error occurs (STATUS is not SAI__OK)
See Also:
DAT_GETVx

datGetvd

public double[] datGetvd()
                  throws HDSException
Read a primitive as doubletype as if it were vectorised (regardless of its actual shape). The length of the returned array will be the size of the entire array of this object. This method cannot be used to read arrays with more than Integer.MAX_VALUE elements.

Returns:
a (1-dimensional) array of doubles containing all the values of the primitive array
Throws:
HDSException - if an HDS error occurs (STATUS is not SAI__OK)
See Also:
DAT_GETVx

datGet0c

public String datGet0c()
                throws HDSException
Read scalar primitive as String type. As with the underlying HDS routine, this may be used to return a representation of a scalar value of any type.

Returns:
a String representation of this HDSObject
Throws:
HDSException - if an HDS error occurs (STATUS is not SAI__OK)
See Also:
DAT_GET0C

datGet0l

public boolean datGet0l()
                 throws HDSException
Read scalar primitive as boolean type.

Returns:
a boolean representation of this HDSObject
Throws:
HDSException - if an HDS error occurs (STATUS is not SAI__OK)
See Also:
DAT_GET0L

datGet0i

public int datGet0i()
             throws HDSException
Read scalar primitive as int type.

Returns:
an int representation of this HDSObject
Throws:
HDSException - if an HDS error occurs (STATUS is not SAI__OK)
See Also:
DAT_GET0I

datGet0r

public float datGet0r()
               throws HDSException
Read scalar primitive as float type.

Returns:
a float representation of this HDSObject
Throws:
HDSException - if an HDS error occurs (STATUS is not SAI__OK)
See Also:
DAT_GET0R

datGet0d

public double datGet0d()
                throws HDSException
Read scalar primitive as double type.

Returns:
a String representation of this HDSObject
Throws:
HDSException - if an HDS error occurs (STATUS is not SAI__OK)
See Also:
DAT_GET0D

datIndex

public HDSObject datIndex(int index)
                   throws HDSException
Index into component list.

Parameters:
index - position in list of component to return
Returns:
a new HDSObject representing the index'th component of this HDSObject
Throws:
HDSException - if an HDS error occurs (STATUS is not SAI__OK)
See Also:
DAT_INDEX

datMapv

public Buffer datMapv(String type,
                      String mode)
               throws HDSException
Map primitive. The returned object is a Buffer of a type determined by the type parameter. Note that the unsigned HDS types (_UWORD and _UBYTE) are not currently supported (an IllegalArgumentException will be thrown).

Parameters:
type - an HDS type string giving the type with which to map the array; one of "_BYTE", "_WORD", "_INTEGER", "_REAL", "_DOUBLE".
mode - a string indicating access mode; one of "READ", "WRITE", "UPDATE".
Returns:
a java.nio direct Buffer of the appropriate type (IntBuffer, FloatBuffer etc) containing the data
Throws:
HDSException - if an HDS error occurs (STATUS is not SAI__OK)
UnsupportedOperationException - if the JNI implementation does not support mapping of a direct buffer
See Also:
DAT_MAPV

datName

public String datName()
               throws HDSException
Enquire object name.

Returns:
the component name of this HDSObject
Throws:
HDSException - if an HDS error occurs (STATUS is not SAI__OK)
See Also:
DAT_NAME

datNcomp

public int datNcomp()
             throws HDSException
Enquire number of components.

Returns:
the number of components contained by this HDSObject
Throws:
HDSException - if an HDS error occurs (STATUS is not SAI__OK)
See Also:
DAT_NCOMP

datNew

public void datNew(String name,
                   String type,
                   long[] dims)
            throws HDSException
Create component.

Parameters:
name - the name of the new component.
type - the type of the new component - if it matches one of the primitive types a primitive is created, otherwise it is assumed to be a structure
dims - component dimensions
Throws:
HDSException - if an HDS error occurs (STATUS is not SAI__OK) - in particular if the named componene already exists in this HDSObject
See Also:
DAT_NEW

datParen

public HDSObject datParen()
                   throws HDSException
Locate parent structure.

Returns:
the parent object, if one exists
Throws:
HDSException - if an HDS error occurs (STATUS is not SAI__OK) - in particular if the object has no parent because it is at the top level in an HDS container file.
See Also:
DAT_PAREN

datPrmry

public boolean datPrmry()
                 throws HDSException
Enquire primary/secondary locator status. Note there are two overloaded forms of the datPrmry method to handle the distinct get/set semantics of the underlying routine.

Returns:
true if the locator of this HDSObject is primary, false if it is secondary
Throws:
HDSException - if an HDS error occurs (STATUS is not SAI__OK)
See Also:
DAT_PRMRY

datPrmry

public void datPrmry(boolean primary)
              throws HDSException
Set primary/secondary locator status. Note there are two overloaded forms of the datPrmry method to handle the distinct get/set semantics of the underlying routine.

Parameters:
primary - true to set the locator of this HDSObject to primary, or false to set it to secondary
Throws:
HDSException - if an HDS error occurs (STATUS is not SAI__OK)
See Also:
DAT_PRMRY

datPut0c

public void datPut0c(String value)
              throws HDSException
Write scalar primitive.

Parameters:
value - the value to be written
Throws:
HDSException - if an HDS error occurs (STATUS is not SAI__OK)
See Also:
DAT_PUT0x

datPut0l

public void datPut0l(boolean value)
              throws HDSException
Write scalar primitive.

Parameters:
value - the value to be written
Throws:
HDSException - if an HDS error occurs (STATUS is not SAI__OK)
See Also:
DAT_PUT0x

datPut0i

public void datPut0i(int value)
              throws HDSException
Write scalar primitive.

Parameters:
value - the value to be written
Throws:
HDSException - if an HDS error occurs (STATUS is not SAI__OK)
See Also:
DAT_PUT0x

datPut0r

public void datPut0r(float value)
              throws HDSException
Write scalar primitive.

Parameters:
value - the value to be written
Throws:
HDSException - if an HDS error occurs (STATUS is not SAI__OK)
See Also:
DAT_PUT0x

datPut0d

public void datPut0d(double value)
              throws HDSException
Write scalar primitive.

Parameters:
value - the value to be written
Throws:
HDSException - if an HDS error occurs (STATUS is not SAI__OK)
See Also:
DAT_PUT0x

datPutvc

public void datPutvc(String[] value)
              throws HDSException
Write a primitive as if it were vectorised (regardless of its actual shape). The array must be long enough to fill the entire object. This method cannot be used to write arrays with more than Integer.MAX_VALUE elements.

Parameters:
value - an array containing the values to be written. Must contain enough elements to fill the entire object.
Throws:
HDSException - if an HDS error occurs (STATUS is not SAI__OK)
See Also:
DAT_PUTVx

datPutvl

public void datPutvl(boolean[] value)
              throws HDSException
Write a primitive as if it were vectorised (regardless of its actual shape). This method cannot be used to write arrays with more than Integer.MAX_VALUE elements.

Parameters:
value - an array containing the values to be written. Must contain enough elements to fill the entire object.
Throws:
HDSException - if an HDS error occurs (STATUS is not SAI__OK)
See Also:
DAT_PUTVx

datPutvi

public void datPutvi(int[] value)
              throws HDSException
Write a primitive as if it were vectorised (regardless of its actual shape). The array must be long enough to fill the entire object. This method cannot be used to write arrays with more than Integer.MAX_VALUE elements.

Parameters:
value - an array containing the values to be written. Must contain enough elements to fill the entire object.
Throws:
HDSException - if an HDS error occurs (STATUS is not SAI__OK)
See Also:
DAT_PUTVx

datPutvr

public void datPutvr(float[] value)
              throws HDSException
Write a primitive as if it were vectorised (regardless of its actual shape). The array must be long enough to fill the entire object. This method cannot be used to write arrays with more than Integer.MAX_VALUE elements.

Parameters:
value - an array containing the values to be written. Must contain enough elements to fill the entire object.
Throws:
HDSException - if an HDS error occurs (STATUS is not SAI__OK)
See Also:
DAT_PUTVx

datPutvd

public void datPutvd(double[] value)
              throws HDSException
Write a primitive as if it were vectorised (regardless of its actual shape). The array must be long enough to fill the entire object. This method cannot be used to write arrays with more than Integer.MAX_VALUE elements.

Parameters:
value - an array containing the values to be written. Must contain enough elements to fill the entire object.
Throws:
HDSException - if an HDS error occurs (STATUS is not SAI__OK)
See Also:
DAT_PUTVx

datRef

public String datRef()
              throws HDSException
Obtain a reference for an HDSObject.

Returns:
a String giving a name which uniquely identifies this HDSObject. It includes the filename, pathname within container file, and slice subscript information if relevant.
Throws:
HDSException
See Also:
DAT_REF

datShape

public long[] datShape()
                throws HDSException
Enquire object shape.

Returns:
a new array representing the shape of this HDSObject
Throws:
HDSException - if an HDS error occurs (STATUS is not SAI__OK)
See Also:
DAT_SHAPE

datSize

public long datSize()
             throws HDSException
Enquire object size.

Returns:
the size of the object. For an array this will be the product of the dimensions, for a scalar, a value of 1 is returned.
Throws:
HDSException - if an HDS error occurs (STATUS is not SAI__OK)
See Also:
DAT_SIZE

datState

public boolean datState()
                 throws HDSException
Enquire object state. Enquires the state of a primitive, i.e. whether its value is defined or not.

Returns:
is this object's data defined?
Throws:
HDSException
See Also:
DAT_STATE

datStruc

public boolean datStruc()
                 throws HDSException
Enquire whether object is a structure.

Returns:
true if this object is a structure, otherwise false
Throws:
HDSException - if an HDS error occurs (STATUS is not SAI__OK)
See Also:
DAT_STRUC

datThere

public boolean datThere(String name)
                 throws HDSException
Enquire if a component of a structure exists.

Parameters:
name - the name of a component whose existence is to be queried
Returns:
true if a component called name is contained in this object, otherwise false
Throws:
HDSException - if an HDS error occurs (STATUS is not SAI__OK)
See Also:
DAT_THERE

datType

public String datType()
               throws HDSException
Enquire object type.

Returns:
a String giving one of the following HDS type strings:
  • "_BYTE"
  • "_UBYTE"
  • "_WORD"
  • "_UWORD"
  • "_INTEGER"
  • "_REAL"
  • "_DOUBLE"
  • "_LOGICAL"
  • "_CHAR"
  • "_CHAR*N", where N is the length in characters
Throws:
HDSException - if an HDS error occurs (STATUS is not SAI__OK)
See Also:
DAT_TYPE

datUnmap

public void datUnmap()
              throws HDSException
Unmap an object mapped by another HDSObject method.

Throws:
HDSException
See Also:
DAT_UNMAP

datValid

public boolean datValid()
                 throws HDSException
Enquire locator validity.

Returns:
true if this HDSobject refers to a valid HDS object, false otherwise. It should normally be true unless the datAnnul method has been called on it.
Throws:
HDSException - if an HDS error occurs (STATUS is not SAI__OK)
See Also:
DAT_VALID


Copyright © 2015 Central Laboratory of the Research Councils. All Rights Reserved.