org.clearsilver.jni
Class JniHdf

java.lang.Object
  extended by org.clearsilver.jni.JniHdf
All Implemented Interfaces:
Closeable, HDF

public class JniHdf
extends Object
implements HDF

This class is a wrapper around the HDF C API. Many features of the C API are not yet exposed through this wrapper.


Constructor Summary
  JniHdf()
          Default public constructor.
protected JniHdf(long hdfptr, JniHdf parent)
           
 
Method Summary
 boolean belongsToSameRoot(HDF hdf)
          Checks if the given hdf object belongs to the same root HDF object as this one.
 void close()
          Clean up allocated memory if neccesary.
 void copy(String hdfpath, HDF src)
          Deep copy of the contents of the source HDF structure to this HDF starting at the specified HDF path node.
 String dump()
          Generates a string representing the content of the HDF tree rooted at this node.
 void exportDate(String hdfname, String tz, int tt)
          Export a date to a clearsilver tree using a specified timezone
 void exportDate(String hdfname, TimeZone timeZone, Date date)
          Export a date to a clearsilver tree using a specified timezone
protected  String fileLoad(String filename)
           
protected  void finalize()
          Call close() just in case when deallocating Java object.
 JniHdf getChild(String hdfpath)
          Retrieves the HDF for the first child of the root of the subtree at hdfpath, or null if no child exists of that path or if the path doesn't exist.
 CSFileLoader getFileLoader()
          Get the file loader in use, if any.
 int getIntValue(String hdfname, int default_value)
          Retrieves the integer value at the specified path in this HDF node's subtree.
 JniHdf getObj(String hdfpath)
          Retrieves the HDF object that is the root of the subtree at hdfpath, or null if no object exists at that path.
 JniHdf getOrCreateObj(String hdfpath)
          Retrieves the HDF object that is the root of the subtree at hdfpath, create the subtree if it doesn't exist
 JniHdf getRootObj()
          Return the root of the tree where the current node lies.
 String getValue(String hdfname, String default_value)
          Retrieves the value at the specified path in this HDF node's subtree.
protected  JniHdf newHdf(long hdfptr, HDF parent)
          Constructs an HDF child node.
 JniHdf objChild()
          Returns the child of this HDF node, or null if there is no child.
 String objName()
          Returns the name of this HDF node.
 JniHdf objNext()
          Returns the next sibling of this HDF node, or null if there is no next sibling.
 String objValue()
          Returns the value of this HDF node, or null if this node has no value.
 boolean readFile(String filename)
          Loads the contents of the specified HDF file from disk into the current HDF object.
 boolean readString(String data)
          Parses/loads the contents of the given string as HDF into the current HDF object.
 void removeTree(String hdfname)
          Remove the specified subtree.
 void setFileLoader(CSFileLoader fileLoader)
          Set the CS file loader to use
 void setSymLink(String hdf_name_src, String hdf_name_dest)
          Links the src hdf name to the dest.
 void setValue(String hdfname, String value)
          Sets the value at the specified path in this HDF node's subtree.
 boolean writeFile(String filename)
          Serializes HDF contents to a file (readable by readFile)
 String writeString()
          Serializes HDF contents to a string (readable by readString)
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JniHdf

public JniHdf()
Default public constructor.


JniHdf

protected JniHdf(long hdfptr,
                 JniHdf parent)
Method Detail

newHdf

protected JniHdf newHdf(long hdfptr,
                        HDF parent)
Constructs an HDF child node. Used by other methods in this class when a child node needs to be constructed.


close

public void close()
Clean up allocated memory if neccesary. close() allows application to force clean up.

Specified by:
close in interface Closeable
Specified by:
close in interface HDF

finalize

protected void finalize()
                 throws Throwable
Call close() just in case when deallocating Java object.

Overrides:
finalize in class Object
Throws:
Throwable

readFile

public boolean readFile(String filename)
                 throws IOException
Loads the contents of the specified HDF file from disk into the current HDF object. The loaded contents are merged with the existing contents.

Specified by:
readFile in interface HDF
Parameters:
filename - the name of file to read in and parse.
Throws:
FileNotFoundException - if the specified file does not exist.
IOException - other problems reading the file.

fileLoad

protected String fileLoad(String filename)
                   throws IOException
Throws:
IOException

getFileLoader

public CSFileLoader getFileLoader()
Get the file loader in use, if any.

Specified by:
getFileLoader in interface HDF
Returns:
the file loader in use.

setFileLoader

public void setFileLoader(CSFileLoader fileLoader)
Set the CS file loader to use

Specified by:
setFileLoader in interface HDF
Parameters:
fileLoader - the file loader that should be used.

writeFile

public boolean writeFile(String filename)
                  throws IOException
Serializes HDF contents to a file (readable by readFile)

Specified by:
writeFile in interface HDF
Throws:
IOException

readString

public boolean readString(String data)
Parses/loads the contents of the given string as HDF into the current HDF object. The loaded contents are merged with the existing contents.

Specified by:
readString in interface HDF

writeString

public String writeString()
Serializes HDF contents to a string (readable by readString)

Specified by:
writeString in interface HDF

getIntValue

public int getIntValue(String hdfname,
                       int default_value)
Retrieves the integer value at the specified path in this HDF node's subtree. If the value does not exist, or cannot be converted to an integer, default_value will be returned.

Specified by:
getIntValue in interface HDF

getValue

public String getValue(String hdfname,
                       String default_value)
Retrieves the value at the specified path in this HDF node's subtree.

Specified by:
getValue in interface HDF

setValue

public void setValue(String hdfname,
                     String value)
Sets the value at the specified path in this HDF node's subtree.

Specified by:
setValue in interface HDF

removeTree

public void removeTree(String hdfname)
Remove the specified subtree.

Specified by:
removeTree in interface HDF

setSymLink

public void setSymLink(String hdf_name_src,
                       String hdf_name_dest)
Links the src hdf name to the dest.

Specified by:
setSymLink in interface HDF

exportDate

public void exportDate(String hdfname,
                       TimeZone timeZone,
                       Date date)
Export a date to a clearsilver tree using a specified timezone

Specified by:
exportDate in interface HDF

exportDate

public void exportDate(String hdfname,
                       String tz,
                       int tt)
Export a date to a clearsilver tree using a specified timezone

Specified by:
exportDate in interface HDF

getObj

public JniHdf getObj(String hdfpath)
Retrieves the HDF object that is the root of the subtree at hdfpath, or null if no object exists at that path.

Specified by:
getObj in interface HDF

getChild

public JniHdf getChild(String hdfpath)
Retrieves the HDF for the first child of the root of the subtree at hdfpath, or null if no child exists of that path or if the path doesn't exist.

Specified by:
getChild in interface HDF

getRootObj

public JniHdf getRootObj()
Return the root of the tree where the current node lies. If the current node is the root, return this.

Specified by:
getRootObj in interface HDF

belongsToSameRoot

public boolean belongsToSameRoot(HDF hdf)
Description copied from interface: HDF
Checks if the given hdf object belongs to the same root HDF object as this one.

Specified by:
belongsToSameRoot in interface HDF
Parameters:
hdf - The hdf object to compare to.

getOrCreateObj

public JniHdf getOrCreateObj(String hdfpath)
Retrieves the HDF object that is the root of the subtree at hdfpath, create the subtree if it doesn't exist

Specified by:
getOrCreateObj in interface HDF

objName

public String objName()
Returns the name of this HDF node. The root node has no name, so calling this on the root node will return null.

Specified by:
objName in interface HDF

objValue

public String objValue()
Returns the value of this HDF node, or null if this node has no value. Every node in the tree can have a value, a child, and a next peer.

Specified by:
objValue in interface HDF

objChild

public JniHdf objChild()
Returns the child of this HDF node, or null if there is no child. Use this in conjunction with objNext to walk the HDF tree. Every node in the tree can have a value, a child, and a next peer.

Specified by:
objChild in interface HDF

objNext

public JniHdf objNext()
Returns the next sibling of this HDF node, or null if there is no next sibling. Use this in conjunction with objChild to walk the HDF tree. Every node in the tree can have a value, a child, and a next peer.

Specified by:
objNext in interface HDF

copy

public void copy(String hdfpath,
                 HDF src)
Description copied from interface: HDF
Deep copy of the contents of the source HDF structure to this HDF starting at the specified HDF path node.

This method copies over the attributes and value of the node and recurses through all the children of the source node. Any symlink in the source node becomes a symlink in the copy.

Specified by:
copy in interface HDF
Parameters:
hdfpath - the node within this HDF where the source structure should be copied to.
src - the source HDF to copy over.

dump

public String dump()
Generates a string representing the content of the HDF tree rooted at this node.

Specified by:
dump in interface HDF


Copyright © 2010-2012 Google. All Rights Reserved.