uk.ac.rdg.resc.jstyx.gridservice.server
Class SGSInputFile

java.lang.Object
  extended by uk.ac.rdg.resc.jstyx.server.StyxFile
      extended by uk.ac.rdg.resc.jstyx.gridservice.server.SGSInputFile
Direct Known Subclasses:
SGSInputFile.File, SGSInputFile.StdinFile

public abstract class SGSInputFile
extends StyxFile

A file that is used to provide input (as a file or as stdin stream) to a Styx Grid Service.

Author:
Jon Blower $Revision: 609 $ $Date: 2006-03-31 18:09:42 +0100 (Fri, 31 Mar 2006) $ $Log$ Revision 1.5 2005/12/09 18:42:41 jonblower Changed access privileges to write2() to protected Revision 1.4 2005/11/11 21:57:21 jonblower Implemented passing of URLs to input files Revision 1.3 2005/11/09 17:49:58 jonblower Implemented File subclass (representing fixed-name input files) Revision 1.2 2005/11/04 19:29:53 jonblower Moved code that writes to std input to SGSInputFile Revision 1.1 2005/11/04 09:12:23 jonblower Initial import

Nested Class Summary
static class SGSInputFile.File
           
static class SGSInputFile.StdinFile
          file through which clients can write to the process's input stream directly
 
Field Summary
protected  java.lang.String candidateURL
           
protected  org.apache.mina.common.ByteBuffer candidateURLBuffer
           
protected  int candidateURLLength
           
protected  boolean dataWritten
           
protected  uk.ac.rdg.resc.jstyx.gridservice.server.StyxGridServiceInstance instance
           
protected  java.net.URL url
           
 
Fields inherited from class uk.ac.rdg.resc.jstyx.server.StyxFile
auth, directory, lastModifiedTime, name, parent
 
Method Summary
protected abstract  void closeOutput()
          Closes the output file or stream.
 java.net.URL getURL()
           
 void setURL(java.net.URL url)
           
protected  void write2(StyxFileClient client, long offset, int count, org.apache.mina.common.ByteBuffer data, boolean truncate, int tag)
          This method does the job of checking for URLs being written to the file.
protected abstract  void writeData(StyxFileClient client, long offset, int count, org.apache.mina.common.ByteBuffer data, boolean truncate, int tag)
          Writes data to the underlying file or stream
 
Methods inherited from class uk.ac.rdg.resc.jstyx.server.StyxFile
addChangeListener, addClient, checkSetLastModifiedTime, checkSetLength, checkSetMode, checkSetName, clientConnected, clientDisconnected, contentsChanged, delete, fireContentsChanged, getClient, getDirEntry, getFullPath, getGroup, getLength, getName, getNumClients, getOwner, getParent, getPermissions, getQid, getVersion, incrementVersion, isAppendOnly, isAuth, isDirectory, isExclusive, processAndReplyRead, processAndReplyRead, processAndReplyRead, read, refresh, remove, removeChangeListener, removeClient, rename, replyRead, replyRead, replyRead, replyRead, replyRead, replyWrite, setLastAccessTime, setLastModified, setLength, setMode, setName, setPermissions, setReadOnly, write
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

instance

protected uk.ac.rdg.resc.jstyx.gridservice.server.StyxGridServiceInstance instance

dataWritten

protected boolean dataWritten

candidateURLBuffer

protected org.apache.mina.common.ByteBuffer candidateURLBuffer

candidateURL

protected java.lang.String candidateURL

candidateURLLength

protected int candidateURLLength

url

protected java.net.URL url
Method Detail

write2

protected void write2(StyxFileClient client,
                      long offset,
                      int count,
                      org.apache.mina.common.ByteBuffer data,
                      boolean truncate,
                      int tag)
               throws StyxException
This method does the job of checking for URLs being written to the file.

Throws:
StyxException

setURL

public void setURL(java.net.URL url)
            throws StyxException
Throws:
StyxException

writeData

protected abstract void writeData(StyxFileClient client,
                                  long offset,
                                  int count,
                                  org.apache.mina.common.ByteBuffer data,
                                  boolean truncate,
                                  int tag)
                           throws StyxException,
                                  java.io.IOException
Writes data to the underlying file or stream

Throws:
StyxException
java.io.IOException

closeOutput

protected abstract void closeOutput()
                             throws java.io.IOException
Closes the output file or stream. This default implementation does nothing

Throws:
java.io.IOException

getURL

public java.net.URL getURL()
Returns:
the URL from which this file will get its data, or null if the URL has not been set


Copyright © 2004-2006 Reading e-Science Centre. All Rights Reserved.