Package org.nexusformat
Class NexusFile
- java.lang.Object
-
- org.nexusformat.NexusFile
-
- All Implemented Interfaces:
NeXusFileInterface
public class NexusFile extends java.lang.Object implements NeXusFileInterface
-
-
Field Summary
Fields Modifier and Type Field Description protected int
handle
This is the handle to the NeXus file handle.protected static int
MAXNAMELEN
Maximum name length, must be VGNAMELENMAX in hlimits.hstatic int
NX_BINARY
static int
NX_BOOLEAN
static int
NX_CHAR
static int
NX_COMP_HUF
static int
NX_COMP_LZW
static int
NX_COMP_LZW_LVL0
static int
NX_COMP_LZW_LVL1
static int
NX_COMP_LZW_LVL2
static int
NX_COMP_LZW_LVL3
static int
NX_COMP_LZW_LVL4
static int
NX_COMP_LZW_LVL5
static int
NX_COMP_LZW_LVL6
static int
NX_COMP_LZW_LVL7
static int
NX_COMP_LZW_LVL8
static int
NX_COMP_LZW_LVL9
static int
NX_COMP_NONE
constants for compression schemesstatic int
NX_COMP_RLE
static int
NX_FLOAT32
constants for number types.static int
NX_FLOAT64
static int
NX_INT16
static int
NX_INT32
static int
NX_INT64
static int
NX_INT8
static int
NX_UINT16
static int
NX_UINT32
static int
NX_UINT64
static int
NX_UINT8
static int
NX_UNLIMITED
constant denoting an unlimited dimension.static int
NXACC_CREATE
static int
NXACC_CREATE4
static int
NXACC_CREATE5
static int
NXACC_CREATEXML
static int
NXACC_NOSTRIP
static int
NXACC_RDWR
static int
NXACC_READ
possible access codes, @see #NexusFile.
-
Constructor Summary
Constructors Constructor Description NexusFile(java.lang.String filename, int access)
constructs a new NexusFile Object.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.Hashtable
attrdir()
attrdir returns the attributes of the currently open dataset or the file global attributes if no dataset is open.void
close()
close the NeXus file.protected void
close(int handle)
void
closedata()
closedata closes an opened dataset.void
closegroup()
closegroup closes access to the current group and steps down one step in group hierarchy.void
compmakedata(java.lang.String name, int type, int rank, int[] dim, int compression_type, int[] iChunk)
compmakedata creates a new dataset with the specified characteristics in the current group.void
compmakedata(java.lang.String name, int type, int rank, long[] dim, int compression_type, long[] iChunk)
compmakedata creates a new dataset with the specified characteristics in the current group.void
compress(int compression_type)
causes the currently open dataset to be compressed on file.void
debugstop()
debugstop is a debugging helper function which goes into an endless loop in the dynamic link library.void
finalize()
removes all NeXus file data structures and closes the file.void
flush()
flushes all pending data to disk.java.lang.Object
getattr(java.lang.String name)
getattr retrieves the data associated with the attribute * name.void
getattr(java.lang.String name, java.lang.Object array, int[] args)
getattr retrieves the data associated with the attribute name.void
getdata(java.lang.Object array)
getdata reads the data from an previously openend dataset into array.NXlink
getdataID()
getdataID gets the data necessary for linking the current dataset somewhere else.NXlink
getgroupID()
getgroupID gets the data necessary for linking the current vGroup somewhere else.void
getinfo(int[] iDim, int[] args)
getinfo retrieves information about a previously opened dataset.void
getinfo(long[] iDim, int[] args)
getinfo retrieves information about a previously opened dataset.java.lang.String
getpath()
return the current path into the NeXus file in the form of a Unix path string.void
getslab(int[] start, int[] size, java.lang.Object array)
getslab reads a subset of a large dataset into array.void
getslab(long[] start, long[] size, java.lang.Object array)
getslab reads a subset of a large dataset into array.java.util.Hashtable
groupdir()
groupdir will retrieve the content of the currently open vGroup.protected int
init(java.lang.String filename, int access)
protected void
initattrdir(int handle)
protected void
initgroupdir(int handle)
java.lang.String
inquirefile()
inquirefile inquires which file we are currently in.java.lang.String
isexternaldataset(java.lang.String name)
nxisexternaldataset if the named dataset is is linked externallyjava.lang.String
isexternalgroup(java.lang.String name, java.lang.String nxclass)
nxisexternalgroup test the group name, nxclass if it is linked externallyvoid
linkexternal(java.lang.String name, java.lang.String nxclass, java.lang.String nxurl)
linkexternal links group name, nxclass to the URL nxurlvoid
linkexternaldataset(java.lang.String name, java.lang.String nxurl)
linkexternaldataset links dataset name to the URL nxurlvoid
makedata(java.lang.String name, int type, int rank, int[] dim)
makedata creates a new dataset with the specified characteristics in the current group.void
makedata(java.lang.String name, int type, int rank, long[] dim)
makedata creates a new dataset with the specified characteristics in the current group.void
makegroup(java.lang.String name, java.lang.String nxclass)
makegroup creates a new group below the current group within the NeXus file hierarchy.void
makelink(NXlink target)
makelink links the object described by target into the current vGroup.void
makenamedlink(java.lang.String name, NXlink target)
makenamedlink links the object described by target into the current vGroup.protected int
nextattr(int handle, java.lang.String[] names, int[] args)
protected int
nextentry(int handle, java.lang.String[] names)
protected void
nxclosedata(int handle)
protected void
nxclosegroup(int handle)
protected void
nxcompress(int handle, int compression_type)
protected int
nxflush(int handle)
protected void
nxgetattr(int handle, java.lang.String name, byte[] bdata, int[] args)
protected void
nxgetattra(int handle, java.lang.String name, byte[] bdata)
protected void
nxgetattrainfo(int handle, java.lang.String name, int[] dim, int[] args)
protected void
nxgetdata(int handle, byte[] bdata)
protected void
nxgetdataid(int handle, NXlink link)
protected void
nxgetgroupid(int handle, NXlink link)
protected void
nxgetinfo(int handle, int[] iDim, int[] args)
protected void
nxgetinfo64(int handle, long[] iDim, int[] args)
protected int
nxgetnextattra(int handle, java.lang.String[] name, int[] dim, int[] args)
protected java.lang.String
nxgetpath(int handle)
protected void
nxgetslab(int handle, int[] Start, int[] size, byte[] bdata)
protected void
nxgetslab64(int handle, long[] Start, long[] size, byte[] bdata)
protected void
nxinquirefile(int handle, java.lang.String[] names)
protected int
nxisexternaldataset(int handle, java.lang.String name, java.lang.String[] nxurl)
protected int
nxisexternalgroup(int handle, java.lang.String name, java.lang.String nxclass, java.lang.String[] nxurl)
protected void
nxlinkexternal(int handle, java.lang.String name, java.lang.String nxclass, java.lang.String nxurl)
protected void
nxlinkexternaldataset(int handle, java.lang.String name, java.lang.String nxurl)
protected void
nxmakecompdata(int handle, java.lang.String name, int type, int rank, int[] dim, int iCompress, int[] iChunk)
protected void
nxmakecompdata64(int handle, java.lang.String name, int type, int rank, long[] dim, int iCompress, long[] iChunk)
protected void
nxmakedata(int handle, java.lang.String name, int type, int rank, int[] dim)
protected void
nxmakedata64(int handle, java.lang.String name, int type, int rank, long[] dim)
protected void
nxmakegroup(int handle, java.lang.String name, java.lang.String nxclass)
protected void
nxmakelink(int handle, NXlink target)
protected void
nxmakenamedlink(int handle, java.lang.String name, NXlink target)
protected void
nxopendata(int handle, java.lang.String name)
protected void
nxopengroup(int handle, java.lang.String name, java.lang.String nxclass)
protected void
nxopengrouppath(int handle, java.lang.String path)
protected void
nxopenpath(int handle, java.lang.String path)
protected void
nxopensourcepath(int handle)
protected void
nxputattr(int handle, java.lang.String name, byte[] array, int type)
protected void
nxputattra(int handle, java.lang.String name, byte[] bdata, int rank, int[] dim, int iType)
protected void
nxputdata(int handle, byte[] array)
protected void
nxputslab(int handle, byte[] array, int[] start, int[] size)
protected void
nxputslab64(int handle, byte[] array, long[] start, long[] size)
protected void
nxsetnumberformat(int handle, int type, java.lang.String format)
void
opendata(java.lang.String name)
opendata opens an existing dataset for access.void
opengroup(java.lang.String name, java.lang.String nxclass)
opengroup opens the group name with class nxclass.void
opengrouppath(java.lang.String path)
opengrouppath opens groups and datsets accroding to the path string given.void
openpath(java.lang.String path)
openpath opens groups and datsets accroding to the path string given.void
opensourcepath()
opensourcepath opens the group from which the current item was linked Returns an error if the current item is not linked.void
putattr(java.lang.String name, java.lang.Object array, int iType)
putattr adds a named attribute to a previously opened dataset or group or a global attribute if nothing is open.void
putattr(java.lang.String name, java.lang.Object array, int[] size, int iType)
putattr adds a named attribute to a previously opened dataset or group or a global attribute if nothing is open.void
putdata(java.lang.Object array)
putdata writes the data from array into a previously opened dataset.void
putslab(java.lang.Object array, int[] start, int[] size)
putslab writes a subset of a larger dataset to a previously opened dataset.void
putslab(java.lang.Object array, long[] start, long[] size)
putslab writes a subset of a larger dataset to a previously opened dataset.void
setnumberformat(int type, java.lang.String format)
setnumberformat sets the number format for printing number when using the XML-NeXus format.
-
-
-
Field Detail
-
NXACC_READ
public static final int NXACC_READ
possible access codes, @see #NexusFile.- See Also:
- Constant Field Values
-
NXACC_RDWR
public static final int NXACC_RDWR
- See Also:
- Constant Field Values
-
NXACC_CREATE
public static final int NXACC_CREATE
- See Also:
- Constant Field Values
-
NXACC_CREATE4
public static final int NXACC_CREATE4
- See Also:
- Constant Field Values
-
NXACC_CREATE5
public static final int NXACC_CREATE5
- See Also:
- Constant Field Values
-
NXACC_CREATEXML
public static final int NXACC_CREATEXML
- See Also:
- Constant Field Values
-
NXACC_NOSTRIP
public static final int NXACC_NOSTRIP
- See Also:
- Constant Field Values
-
NX_UNLIMITED
public static final int NX_UNLIMITED
constant denoting an unlimited dimension.- See Also:
- Constant Field Values
-
NX_FLOAT32
public static final int NX_FLOAT32
constants for number types. @see #makedata, @see #putattr and others.- See Also:
- Constant Field Values
-
NX_FLOAT64
public static final int NX_FLOAT64
- See Also:
- Constant Field Values
-
NX_INT8
public static final int NX_INT8
- See Also:
- Constant Field Values
-
NX_BINARY
public static final int NX_BINARY
- See Also:
- Constant Field Values
-
NX_UINT8
public static final int NX_UINT8
- See Also:
- Constant Field Values
-
NX_BOOLEAN
public static final int NX_BOOLEAN
- See Also:
- Constant Field Values
-
NX_INT16
public static final int NX_INT16
- See Also:
- Constant Field Values
-
NX_UINT16
public static final int NX_UINT16
- See Also:
- Constant Field Values
-
NX_INT32
public static final int NX_INT32
- See Also:
- Constant Field Values
-
NX_UINT32
public static final int NX_UINT32
- See Also:
- Constant Field Values
-
NX_INT64
public static final int NX_INT64
- See Also:
- Constant Field Values
-
NX_UINT64
public static final int NX_UINT64
- See Also:
- Constant Field Values
-
NX_CHAR
public static final int NX_CHAR
- See Also:
- Constant Field Values
-
NX_COMP_NONE
public static final int NX_COMP_NONE
constants for compression schemes- See Also:
- Constant Field Values
-
NX_COMP_LZW
public static final int NX_COMP_LZW
- See Also:
- Constant Field Values
-
NX_COMP_RLE
public static final int NX_COMP_RLE
- See Also:
- Constant Field Values
-
NX_COMP_HUF
public static final int NX_COMP_HUF
- See Also:
- Constant Field Values
-
NX_COMP_LZW_LVL0
public static final int NX_COMP_LZW_LVL0
- See Also:
- Constant Field Values
-
NX_COMP_LZW_LVL1
public static final int NX_COMP_LZW_LVL1
- See Also:
- Constant Field Values
-
NX_COMP_LZW_LVL2
public static final int NX_COMP_LZW_LVL2
- See Also:
- Constant Field Values
-
NX_COMP_LZW_LVL3
public static final int NX_COMP_LZW_LVL3
- See Also:
- Constant Field Values
-
NX_COMP_LZW_LVL4
public static final int NX_COMP_LZW_LVL4
- See Also:
- Constant Field Values
-
NX_COMP_LZW_LVL5
public static final int NX_COMP_LZW_LVL5
- See Also:
- Constant Field Values
-
NX_COMP_LZW_LVL6
public static final int NX_COMP_LZW_LVL6
- See Also:
- Constant Field Values
-
NX_COMP_LZW_LVL7
public static final int NX_COMP_LZW_LVL7
- See Also:
- Constant Field Values
-
NX_COMP_LZW_LVL8
public static final int NX_COMP_LZW_LVL8
- See Also:
- Constant Field Values
-
NX_COMP_LZW_LVL9
public static final int NX_COMP_LZW_LVL9
- See Also:
- Constant Field Values
-
MAXNAMELEN
protected static final int MAXNAMELEN
Maximum name length, must be VGNAMELENMAX in hlimits.h- See Also:
- Constant Field Values
-
handle
protected int handle
This is the handle to the NeXus file handle.
-
-
Constructor Detail
-
NexusFile
public NexusFile(java.lang.String filename, int access) throws NexusException
constructs a new NexusFile Object.- Parameters:
filename
- The name of the NeXus file to access.access
- The access mode for the file. Can only be one of the predefined NeXus access code NXACC.... These are:- NXACC_CREATE
- or creating a new file.
- NXACC_RDWR
- For opening an existing file for modification or appending data.
- NXACC_READ
- For opening a file for reading.
- NXACC_NOSTRIP
- To keep leading and trailing whitespace on strings
- Throws:
NexusException
- when the file could not be found or an HDF error occurred.
-
-
Method Detail
-
init
protected int init(java.lang.String filename, int access)
-
close
protected void close(int handle)
-
nxflush
protected int nxflush(int handle)
-
flush
public void flush() throws NexusException
flushes all pending data to disk. Closes any open SDS's.- Specified by:
flush
in interfaceNeXusFileInterface
- Throws:
NexusException
- if an error occurs.
-
close
public void close() throws NexusException
close the NeXus file. To make javalint and diamond happy- Specified by:
close
in interfaceNeXusFileInterface
- Throws:
NexusException
-
finalize
public void finalize() throws java.lang.Throwable
removes all NeXus file data structures and closes the file. This function should automatically be called by the Java garbage collector whenever the NexusFile object falls into disuse. However the time when this is done is left to the garbage collector. My personal experience is that finalize might never be called. I suggest, to call finalize yourself when you are done with the NeXus file. finalize makes sure that multiple invocations will not do any harm.- Specified by:
finalize
in interfaceNeXusFileInterface
- Overrides:
finalize
in classjava.lang.Object
- Throws:
java.lang.Throwable
- because it is required by the definition of finalize.
-
nxmakegroup
protected void nxmakegroup(int handle, java.lang.String name, java.lang.String nxclass)
-
nxopengroup
protected void nxopengroup(int handle, java.lang.String name, java.lang.String nxclass)
-
nxopenpath
protected void nxopenpath(int handle, java.lang.String path)
-
nxopengrouppath
protected void nxopengrouppath(int handle, java.lang.String path)
-
nxclosegroup
protected void nxclosegroup(int handle)
-
nxgetpath
protected java.lang.String nxgetpath(int handle)
-
makegroup
public void makegroup(java.lang.String name, java.lang.String nxclass) throws NexusException
Description copied from interface:NeXusFileInterface
makegroup creates a new group below the current group within the NeXus file hierarchy.- Specified by:
makegroup
in interfaceNeXusFileInterface
- Parameters:
name
- The name of the group to create.nxclass
- The classname of the group.- Throws:
NexusException
- if an error occurs during this operation.
-
opengroup
public void opengroup(java.lang.String name, java.lang.String nxclass) throws NexusException
Description copied from interface:NeXusFileInterface
opengroup opens the group name with class nxclass. The group must exist, otherwise an exception is thrown. opengroup is similar to a cd name in a filesystem.- Specified by:
opengroup
in interfaceNeXusFileInterface
- Parameters:
name
- the name of the group to open.nxclass
- the classname of the group to open.- Throws:
NexusException
- when something goes wrong.
-
openpath
public void openpath(java.lang.String path) throws NexusException
Description copied from interface:NeXusFileInterface
openpath opens groups and datsets accroding to the path string given. The path syntax follows unix conventions. Both absolute and relative paths are possible. All objects of the path must exist.- Specified by:
openpath
in interfaceNeXusFileInterface
- Parameters:
path
- The path string- Throws:
NexusException
- when something goes wrong.
-
opengrouppath
public void opengrouppath(java.lang.String path) throws NexusException
Description copied from interface:NeXusFileInterface
opengrouppath opens groups and datsets accroding to the path string given. The path syntax follows unix conventions. Both absolute and relative paths are possible. All objects of the path must exist. This function stops int the last group.- Specified by:
opengrouppath
in interfaceNeXusFileInterface
- Parameters:
path
- The path string- Throws:
NexusException
- when something goes wrong.
-
getpath
public java.lang.String getpath() throws NexusException
Description copied from interface:NeXusFileInterface
return the current path into the NeXus file in the form of a Unix path string.- Specified by:
getpath
in interfaceNeXusFileInterface
- Returns:
- A unix path string
- Throws:
NexusException
-
closegroup
public void closegroup() throws NexusException
Description copied from interface:NeXusFileInterface
closegroup closes access to the current group and steps down one step in group hierarchy.- Specified by:
closegroup
in interfaceNeXusFileInterface
- Throws:
NexusException
- when an error occurs during this operation.
-
nxmakedata
protected void nxmakedata(int handle, java.lang.String name, int type, int rank, int[] dim)
-
nxmakedata64
protected void nxmakedata64(int handle, java.lang.String name, int type, int rank, long[] dim)
-
nxmakecompdata
protected void nxmakecompdata(int handle, java.lang.String name, int type, int rank, int[] dim, int iCompress, int[] iChunk)
-
nxmakecompdata64
protected void nxmakecompdata64(int handle, java.lang.String name, int type, int rank, long[] dim, int iCompress, long[] iChunk)
-
nxopendata
protected void nxopendata(int handle, java.lang.String name)
-
nxclosedata
protected void nxclosedata(int handle)
-
nxcompress
protected void nxcompress(int handle, int compression_type)
-
compmakedata
public void compmakedata(java.lang.String name, int type, int rank, int[] dim, int compression_type, int[] iChunk) throws NexusException
Description copied from interface:NeXusFileInterface
compmakedata creates a new dataset with the specified characteristics in the current group. This data set will be compressed.- Specified by:
compmakedata
in interfaceNeXusFileInterface
- Parameters:
name
- The name of the dataset.type
- The number type of the dataset. Usually a constant from a selection of values.rank
- The rank or number of dimensions of the dataset.dim
- An array containing the length of each dimension. dim must have at least rank entries. Dimension passed as -1 denote an unlimited dimension.compression_type
- determines the compression type.iChunk
- With HDF-5, slabs can be written to compressed data sets. The size of these slabs is specified through the chunk array. This must have the rank values for the size of the chunk to be written in each dimension.- Throws:
NexusException
- when the dataset could not be created.
-
compmakedata
public void compmakedata(java.lang.String name, int type, int rank, long[] dim, int compression_type, long[] iChunk) throws NexusException
Description copied from interface:NeXusFileInterface
compmakedata creates a new dataset with the specified characteristics in the current group. This data set will be compressed.- Specified by:
compmakedata
in interfaceNeXusFileInterface
- Parameters:
name
- The name of the dataset.type
- The number type of the dataset. Usually a constant from a selection of values.rank
- The rank or number of dimensions of the dataset.dim
- An array containing the length of each dimension. dim must have at least rank entries. Dimension passed as -1 denote an unlimited dimension.compression_type
- determines the compression type.iChunk
- With HDF-5, slabs can be written to compressed data sets. The size of these slabs is specified through the chunk array. This must have the rank values for the size of the chunk to be written in each dimension.- Throws:
NexusException
- when the dataset could not be created.
-
makedata
public void makedata(java.lang.String name, int type, int rank, int[] dim) throws NexusException
Description copied from interface:NeXusFileInterface
makedata creates a new dataset with the specified characteristics in the current group.- Specified by:
makedata
in interfaceNeXusFileInterface
- Parameters:
name
- The name of the dataset.type
- The number type of the dataset. Usually a constant from a selection of values.rank
- The rank or number of dimensions of the dataset.dim
- An array containing the length of each dimension. dim must have at least rank entries. Dimension passed as -1 denote an unlimited dimension.- Throws:
NexusException
- when the dataset could not be created.
-
makedata
public void makedata(java.lang.String name, int type, int rank, long[] dim) throws NexusException
Description copied from interface:NeXusFileInterface
makedata creates a new dataset with the specified characteristics in the current group.- Specified by:
makedata
in interfaceNeXusFileInterface
- Parameters:
name
- The name of the dataset.type
- The number type of the dataset. Usually a constant from a selection of values.rank
- The rank or number of dimensions of the dataset.dim
- An array containing the length of each dimension. dim must have at least rank entries. Dimension passed as -1 denote an unlimited dimension.- Throws:
NexusException
- when the dataset could not be created.
-
opendata
public void opendata(java.lang.String name) throws NexusException
Description copied from interface:NeXusFileInterface
opendata opens an existing dataset for access. For instance for reading or writing.- Specified by:
opendata
in interfaceNeXusFileInterface
- Parameters:
name
- The name of the dataset to open.- Throws:
NexusException
- when the dataset does not exist or something else is wrong.
-
closedata
public void closedata() throws NexusException
Description copied from interface:NeXusFileInterface
closedata closes an opened dataset. Then no further access is possible without a call to opendata.- Specified by:
closedata
in interfaceNeXusFileInterface
- Throws:
NexusException
- when an error occurrs.
-
compress
public void compress(int compression_type) throws NexusException
Description copied from interface:NeXusFileInterface
causes the currently open dataset to be compressed on file. This must be called after makedata and before writing to the dataset.- Specified by:
compress
in interfaceNeXusFileInterface
- Parameters:
compression_type
- determines the type of compression to use.- Throws:
NexusException
- when no dataset is open or an error occurs.
-
nxgetdata
protected void nxgetdata(int handle, byte[] bdata)
-
nxgetslab
protected void nxgetslab(int handle, int[] Start, int[] size, byte[] bdata)
-
nxgetslab64
protected void nxgetslab64(int handle, long[] Start, long[] size, byte[] bdata)
-
getdata
public void getdata(java.lang.Object array) throws NexusException
Description copied from interface:NeXusFileInterface
getdata reads the data from an previously openend dataset into array.- Specified by:
getdata
in interfaceNeXusFileInterface
- Parameters:
array
- An n-dimensional array of the appropriate number type for the dataset. Make sure to have the right type and size here.- Throws:
NexusException
- when either an error occurs or no dataset is open or array is not of the right type to hold the data.
-
getslab
public void getslab(int[] start, int[] size, java.lang.Object array) throws NexusException
Description copied from interface:NeXusFileInterface
getslab reads a subset of a large dataset into array.- Specified by:
getslab
in interfaceNeXusFileInterface
- Parameters:
start
- An array of dimension rank which contains the start position in the dataset from where to start reading.size
- An array of dimension rank which contains the size in each dimension of the data subset to read.array
- An array for holding the returned data values.- Throws:
NexusException
- when either an error occurs or no dataset is open or array is not of the right type to hold the data.
-
getslab
public void getslab(long[] start, long[] size, java.lang.Object array) throws NexusException
Description copied from interface:NeXusFileInterface
getslab reads a subset of a large dataset into array.- Specified by:
getslab
in interfaceNeXusFileInterface
- Parameters:
start
- An array of dimension rank which contains the start position in the dataset from where to start reading.size
- An array of dimension rank which contains the size in each dimension of the data subset to read.array
- An array for holding the returned data values.- Throws:
NexusException
- when either an error occurs or no dataset is open or array is not of the right type to hold the data.
-
nxputdata
protected void nxputdata(int handle, byte[] array)
-
nxputslab
protected void nxputslab(int handle, byte[] array, int[] start, int[] size)
-
nxputslab64
protected void nxputslab64(int handle, byte[] array, long[] start, long[] size)
-
putdata
public void putdata(java.lang.Object array) throws NexusException
Description copied from interface:NeXusFileInterface
putdata writes the data from array into a previously opened dataset.- Specified by:
putdata
in interfaceNeXusFileInterface
- Parameters:
array
- The data to write.- Throws:
NexusException
- when an error occurs.
-
putslab
public void putslab(java.lang.Object array, int[] start, int[] size) throws NexusException
Description copied from interface:NeXusFileInterface
putslab writes a subset of a larger dataset to a previously opened dataset.- Specified by:
putslab
in interfaceNeXusFileInterface
- Parameters:
array
- The data to write.start
- An integer array of dimension rank which holds the startcoordinates of the data subset in the larger dataset.size
- An integer array of dimension rank whidh holds the size in each dimension of the data subset to write.- Throws:
NexusException
- when an error occurs.
-
putslab
public void putslab(java.lang.Object array, long[] start, long[] size) throws NexusException
Description copied from interface:NeXusFileInterface
putslab writes a subset of a larger dataset to a previously opened dataset.- Specified by:
putslab
in interfaceNeXusFileInterface
- Parameters:
array
- The data to write.start
- An integer array of dimension rank which holds the startcoordinates of the data subset in the larger dataset.size
- An integer array of dimension rank whidh holds the size in each dimension of the data subset to write.- Throws:
NexusException
- when an error occurs.
-
nxgetattr
protected void nxgetattr(int handle, java.lang.String name, byte[] bdata, int[] args)
-
nxputattr
protected void nxputattr(int handle, java.lang.String name, byte[] array, int type)
-
nxputattra
protected void nxputattra(int handle, java.lang.String name, byte[] bdata, int rank, int[] dim, int iType)
-
nxgetnextattra
protected int nxgetnextattra(int handle, java.lang.String[] name, int[] dim, int[] args)
-
nxgetattra
protected void nxgetattra(int handle, java.lang.String name, byte[] bdata)
-
nxgetattrainfo
protected void nxgetattrainfo(int handle, java.lang.String name, int[] dim, int[] args)
-
nextattr
protected int nextattr(int handle, java.lang.String[] names, int[] args)
-
initattrdir
protected void initattrdir(int handle)
-
initgroupdir
protected void initgroupdir(int handle)
-
getattr
public java.lang.Object getattr(java.lang.String name) throws NexusException
Description copied from interface:NeXusFileInterface
getattr retrieves the data associated with the attribute * name.- Specified by:
getattr
in interfaceNeXusFileInterface
- Parameters:
name
- The name of the attribute.- Returns:
- The attribute data as an array.
- Throws:
NexusException
- when either an error occurs or the attribute could not be found.
-
getattr
public void getattr(java.lang.String name, java.lang.Object array, int[] args) throws NexusException
Description copied from interface:NeXusFileInterface
getattr retrieves the data associated with the attribute name.- Specified by:
getattr
in interfaceNeXusFileInterface
- Parameters:
name
- The name of the attribute.array
- an array with sufficient space for holding the attribute data.args
- An integer array holding the number of data elements in data as args[0], and the type as args[1]. Both values will be updated while reading.- Throws:
NexusException
- when either an error occurs or the attribute could not be found.
-
putattr
public void putattr(java.lang.String name, java.lang.Object array, int iType) throws NexusException
Description copied from interface:NeXusFileInterface
putattr adds a named attribute to a previously opened dataset or group or a global attribute if nothing is open.- Specified by:
putattr
in interfaceNeXusFileInterface
- Parameters:
name
- The name of the attribute.array
- The data of the attribute.iType
- The number type of the attribute.- Throws:
NexusException
- if an error occurs.
-
putattr
public void putattr(java.lang.String name, java.lang.Object array, int[] size, int iType) throws NexusException
Description copied from interface:NeXusFileInterface
putattr adds a named attribute to a previously opened dataset or group or a global attribute if nothing is open.- Specified by:
putattr
in interfaceNeXusFileInterface
- Parameters:
name
- The name of the attribute.array
- The data of the attribute.iType
- The number type of the attribute.- Throws:
NexusException
- if an error occurs.
-
attrdir
public java.util.Hashtable attrdir() throws NexusException
Description copied from interface:NeXusFileInterface
attrdir returns the attributes of the currently open dataset or the file global attributes if no dataset is open.- Specified by:
attrdir
in interfaceNeXusFileInterface
- Returns:
- A Hashtable which will hold the names of the attributes as keys. For each key there is an AttributeEntry class as value.
- Throws:
NexusException
- when an error occurs.
-
nxgetinfo
protected void nxgetinfo(int handle, int[] iDim, int[] args)
-
nxgetinfo64
protected void nxgetinfo64(int handle, long[] iDim, int[] args)
-
nxsetnumberformat
protected void nxsetnumberformat(int handle, int type, java.lang.String format)
-
nextentry
protected int nextentry(int handle, java.lang.String[] names)
-
setnumberformat
public void setnumberformat(int type, java.lang.String format) throws NexusException
Description copied from interface:NeXusFileInterface
setnumberformat sets the number format for printing number when using the XML-NeXus format. For HDF4 and HDF5 this is ignored. If a dataset is open, the format for the dataset is set, if none is open the default setting for the number type is changed. The format must be a ANSII-C language format string.- Specified by:
setnumberformat
in interfaceNeXusFileInterface
- Parameters:
type
- The NeXus type to set the format for.format
- The new format to use.- Throws:
NexusException
-
getinfo
public void getinfo(int[] iDim, int[] args) throws NexusException
Description copied from interface:NeXusFileInterface
getinfo retrieves information about a previously opened dataset.- Specified by:
getinfo
in interfaceNeXusFileInterface
- Parameters:
iDim
- An array which will be filled with the size of the dataset in each dimension.args
- An integer array which will hold more information about the dataset after return. The fields: args[0] is the rank, args[1] is the number type.- Throws:
NexusException
- when an error occurs.
-
getinfo
public void getinfo(long[] iDim, int[] args) throws NexusException
Description copied from interface:NeXusFileInterface
getinfo retrieves information about a previously opened dataset.- Specified by:
getinfo
in interfaceNeXusFileInterface
- Parameters:
iDim
- An array which will be filled with the size of the dataset in each dimension.args
- An integer array which will hold more information about the dataset after return. The fields: args[0] is the rank, args[1] is the number type.- Throws:
NexusException
- when an error occurs.
-
groupdir
public java.util.Hashtable groupdir() throws NexusException
Description copied from interface:NeXusFileInterface
groupdir will retrieve the content of the currently open vGroup. groupdir is similar to an ls in unix.- Specified by:
groupdir
in interfaceNeXusFileInterface
- Returns:
- A Hashtable which will hold the names of the items in the group as keys and the NeXus classname for vGroups or the string 'SDS' for datasets as values.
- Throws:
NexusException
- if an error occurs
-
nxgetgroupid
protected void nxgetgroupid(int handle, NXlink link)
-
nxgetdataid
protected void nxgetdataid(int handle, NXlink link)
-
nxmakelink
protected void nxmakelink(int handle, NXlink target)
-
nxmakenamedlink
protected void nxmakenamedlink(int handle, java.lang.String name, NXlink target)
-
nxopensourcepath
protected void nxopensourcepath(int handle)
-
getgroupID
public NXlink getgroupID() throws NexusException
Description copied from interface:NeXusFileInterface
getgroupID gets the data necessary for linking the current vGroup somewhere else.- Specified by:
getgroupID
in interfaceNeXusFileInterface
- Returns:
- A NXlink object holding the link data.
- Throws:
NexusException
- if an error occurs.
-
getdataID
public NXlink getdataID() throws NexusException
Description copied from interface:NeXusFileInterface
getdataID gets the data necessary for linking the current dataset somewhere else.- Specified by:
getdataID
in interfaceNeXusFileInterface
- Returns:
- A NXlink object holding the link data.
- Throws:
NexusException
- if an error occurs.
-
makelink
public void makelink(NXlink target) throws NexusException
Description copied from interface:NeXusFileInterface
makelink links the object described by target into the current vGroup.- Specified by:
makelink
in interfaceNeXusFileInterface
- Parameters:
target
- The Object to link into the current group.- Throws:
NexusException
- if an error occurs.
-
makenamedlink
public void makenamedlink(java.lang.String name, NXlink target) throws NexusException
Description copied from interface:NeXusFileInterface
makenamedlink links the object described by target into the current vGroup. The object will have a new name in the group into which it is linked- Specified by:
makenamedlink
in interfaceNeXusFileInterface
- Parameters:
name
- The name of this object in the current grouptarget
- The Object to link into the current group.- Throws:
NexusException
- if an error occurs.
-
opensourcepath
public void opensourcepath() throws NexusException
Description copied from interface:NeXusFileInterface
opensourcepath opens the group from which the current item was linked Returns an error if the current item is not linked.- Specified by:
opensourcepath
in interfaceNeXusFileInterface
- Throws:
NexusException
- if an error occurs.
-
nxinquirefile
protected void nxinquirefile(int handle, java.lang.String[] names)
-
nxlinkexternal
protected void nxlinkexternal(int handle, java.lang.String name, java.lang.String nxclass, java.lang.String nxurl)
-
nxlinkexternaldataset
protected void nxlinkexternaldataset(int handle, java.lang.String name, java.lang.String nxurl)
-
nxisexternalgroup
protected int nxisexternalgroup(int handle, java.lang.String name, java.lang.String nxclass, java.lang.String[] nxurl)
-
nxisexternaldataset
protected int nxisexternaldataset(int handle, java.lang.String name, java.lang.String[] nxurl)
-
inquirefile
public java.lang.String inquirefile() throws NexusException
Description copied from interface:NeXusFileInterface
inquirefile inquires which file we are currently in. This is a support function for external linking- Specified by:
inquirefile
in interfaceNeXusFileInterface
- Returns:
- The current file
- Throws:
NexusException
- when things are wrong
-
linkexternal
public void linkexternal(java.lang.String name, java.lang.String nxclass, java.lang.String nxurl) throws NexusException
Description copied from interface:NeXusFileInterface
linkexternal links group name, nxclass to the URL nxurl- Specified by:
linkexternal
in interfaceNeXusFileInterface
- Parameters:
name
- The name of the vgroup to link tonxclass
- The class name of the linked vgroupnxurl
- The URL to the linked external file- Throws:
NexusException
- if things are wrong
-
linkexternaldataset
public void linkexternaldataset(java.lang.String name, java.lang.String nxurl) throws NexusException
Description copied from interface:NeXusFileInterface
linkexternaldataset links dataset name to the URL nxurl- Specified by:
linkexternaldataset
in interfaceNeXusFileInterface
- Parameters:
name
- The name of the dataset to link tonxurl
- The URL to the linked external file- Throws:
NexusException
- if things are wrong
-
isexternalgroup
public java.lang.String isexternalgroup(java.lang.String name, java.lang.String nxclass) throws NexusException
Description copied from interface:NeXusFileInterface
nxisexternalgroup test the group name, nxclass if it is linked externally- Specified by:
isexternalgroup
in interfaceNeXusFileInterface
- Parameters:
name
- of the group to testnxclass
- class of the group to test- Returns:
- null when the group is not linked, else a string giving the URL of the linked resource
- Throws:
NexusException
- if things are wrong
-
isexternaldataset
public java.lang.String isexternaldataset(java.lang.String name) throws NexusException
Description copied from interface:NeXusFileInterface
nxisexternaldataset if the named dataset is is linked externally- Specified by:
isexternaldataset
in interfaceNeXusFileInterface
- Parameters:
name
- of the dataset to test- Returns:
- null when the it is not linked, else a string giving the URL of the linked resource
- Throws:
NexusException
- if things are wrong
-
debugstop
public void debugstop()
debugstop is a debugging helper function which goes into an endless loop in the dynamic link library. Then a unix debugger may attach to the running java process using the pid, interrupt, set the loop variable to leave the loop, set a new breakpoint and continue debugging. This works with ladebug on DU40D. This is an developer support routine and should NEVER be called in normal code.
-
-