javazoom.transfer.client.core
Class AbstractTransferController

java.lang.Object
  extended byjavazoom.transfer.client.core.AbstractTransferController
All Implemented Interfaces:
TransferController
Direct Known Subclasses:
FTPTransfer, HTTPTransfer

public abstract class AbstractTransferController
extends java.lang.Object
implements TransferController


Field Summary
static int BUFFERSIZE
           
 
Constructor Summary
AbstractTransferController()
          Top TransferController.
 
Method Summary
 void addCompressListener(CompressListener listener)
           
 void addFilterListener(FilterListener listener)
           
 void addSplitListener(SplitListener listener)
           
 void addTransferListener(TransferListener listener)
           
abstract  void begin()
          Start (fire and forget) asynchroneous transfer.
abstract  void cancel()
          Cancel transfer.
protected  void cleanFilter()
          Calls clean() method on pre-processing filter.
protected  java.io.File compress(java.io.File file)
          Zip input file.
abstract  java.lang.Object execute()
          Start synchroneous transfer.
protected  java.lang.Object executeFilter(java.lang.Object input)
          Calls execute() method on pre-processing filter.
protected  java.util.ArrayList getAllowedSourceFiles()
          Returns all files (flat list) allowed to be transfered.
protected  long getChunks(java.io.File file)
           
 long getChunkSize()
           
 java.util.List getCompressListeners()
           
 long getCRC32(java.io.File file, long offset)
          Compute CRC32 for a given filename.
 java.lang.String getEncoding()
           
 java.lang.Object getExt()
           
 TransferFilter getFilter()
           
 java.lang.String getFilterImpl()
           
 java.util.List getFilterListeners()
           
 java.lang.String getHidden()
           
protected  long getLastChunkSize(java.io.File file)
           
 long getLong(java.lang.String str)
          Parse String to long.
 long getMaxDepth()
           
 long getMaxFiles()
           
 long getMaxSize()
           
 byte[] getMD5(java.io.File file, long offset)
          Compute MD5 for a given filename.
 java.lang.String getOverwrite()
           
 java.util.HashMap getParameters(java.lang.String section)
           
 java.lang.String getParamFile()
           
 java.lang.String getPassword()
           
 java.lang.String getPolicy()
           
 Conf getRawConf()
           
 java.lang.String getResume()
           
 java.lang.String getRootDir()
           
 java.net.URL getServerUrl()
           
 java.util.List getSource()
           
 java.util.List getSplitListeners()
           
 java.util.List getTarget()
           
 java.lang.String getTemplate()
           
 long getTimeOut()
          Returns underlying socket timeout.
 java.lang.String getTmpDir()
           
protected  java.lang.String getTmpFolder()
          Returns tmpfolder.
 java.util.List getTransferListeners()
           
 java.lang.String getUsername()
           
 java.lang.String getWhiteList()
           
 java.lang.String getZipOnFly()
           
 java.lang.String hexDump(byte[] in)
          Dump byte array to hexadecimal string.
 void init()
          Initialize TransferController.
 boolean isAllowed(java.io.File current)
          Check if file is allowed for transfer.
protected  void recurse(java.io.File dir, java.util.ArrayList target, long level, long depth)
          Recurse directory to find all files given a depth.
 void removeCompressListener(CompressListener listener)
           
 void removeFilterListener(FilterListener listener)
           
 void removeSplitListener(SplitListener listener)
           
 void removeTransferListener(TransferListener listener)
           
 java.lang.String rename(java.lang.String filename, int attempt)
          Apply rename policy.
 void setChunkSize(long l)
           
 void setEncoding(java.lang.String string)
           
 void setExt(java.lang.Object ext)
           
 void setFilter(TransferFilter filter)
           
 void setFilterImpl(java.lang.String filterimpl)
           
 void setHidden(java.lang.String hidden)
           
 void setMaxDepth(long depth)
           
 void setMaxFiles(long amount)
           
 void setMaxSize(long size)
           
 void setOverwrite(java.lang.String string)
           
 void setParameters(java.util.HashMap map)
           
 void setParamFile(java.lang.String string)
           
 void setPassword(java.lang.String password)
           
 void setPolicy(java.lang.String pol)
           
 void setRawConf(Conf rawconf)
           
 void setResume(java.lang.String string)
           
 void setRootDir(java.lang.String rootdir)
           
 void setServerUrl(java.net.URL url)
           
 void setSource(java.util.List src)
           
 void setTarget(java.util.List tar)
           
 void setTemplate(java.lang.String string)
           
 void setTimeOut(long timeout)
          Set socket timeout in milliseconds.
 void setTmpDir(java.lang.String string)
           
 void setUsername(java.lang.String username)
           
 void setWhiteList(java.lang.String string)
           
 void setZipOnFly(java.lang.String zip)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

BUFFERSIZE

public static int BUFFERSIZE
Constructor Detail

AbstractTransferController

public AbstractTransferController()
Top TransferController. It provides basic implementation for all sub-classes.

Method Detail

init

public void init()
          throws ClientException
Initialize TransferController. It instantiates custom TransferFilter (if any) and calls init().

Specified by:
init in interface TransferController
Throws:
ClientException

execute

public abstract java.lang.Object execute()
                                  throws ClientException
Description copied from interface: TransferController
Start synchroneous transfer.

Specified by:
execute in interface TransferController
Throws:
ClientException

begin

public abstract void begin()
Description copied from interface: TransferController
Start (fire and forget) asynchroneous transfer.

Specified by:
begin in interface TransferController

cancel

public abstract void cancel()
Description copied from interface: TransferController
Cancel transfer.

Specified by:
cancel in interface TransferController

getAllowedSourceFiles

protected java.util.ArrayList getAllowedSourceFiles()
                                             throws ClientException
Returns all files (flat list) allowed to be transfered. It checks file constraints (maxfiles, maxsize, whitelist, depth, hidden).

Returns:
File array
Throws:
ClientException

isAllowed

public boolean isAllowed(java.io.File current)
                  throws ClientException
Check if file is allowed for transfer.
policy checking
size checking
whitelist checking
hidden checking

Parameters:
current -
Returns:
Throws:
ClientException

recurse

protected void recurse(java.io.File dir,
                       java.util.ArrayList target,
                       long level,
                       long depth)
Recurse directory to find all files given a depth.

Parameters:
dir -
target -
level - current depth
depth - max depth allowed

getChunks

protected long getChunks(java.io.File file)

getLastChunkSize

protected long getLastChunkSize(java.io.File file)

executeFilter

protected java.lang.Object executeFilter(java.lang.Object input)
                                  throws ClientException
Calls execute() method on pre-processing filter.

Parameters:
input -
Returns:
Throws:
ClientException

cleanFilter

protected void cleanFilter()
Calls clean() method on pre-processing filter.


compress

protected java.io.File compress(java.io.File file)
Zip input file.

Parameters:
file -
Returns:
Compressed file.

rename

public java.lang.String rename(java.lang.String filename,
                               int attempt)
Apply rename policy. Attempt > 0 means that overwrite template is applied. Attempt <=0 means that rename template is applied.

Parameters:
filename -
attempt -
Returns:

getCRC32

public long getCRC32(java.io.File file,
                     long offset)
Compute CRC32 for a given filename.

Parameters:
file -
offset - data range [0-offset] to compute CRC32, -1 for all data.
Returns:
-1 if cannot compute CRC32.

getMD5

public byte[] getMD5(java.io.File file,
                     long offset)
Compute MD5 for a given filename.

Parameters:
file -
offset - data range [0-offset] to compute MD5, -1 for all data.
Returns:
null if cannot compute MD5.

hexDump

public java.lang.String hexDump(byte[] in)
Dump byte array to hexadecimal string.

Parameters:
in -
Returns:
null if cannot compute

getTmpFolder

protected java.lang.String getTmpFolder()
Returns tmpfolder. It creates it if needed.

Returns:

addTransferListener

public void addTransferListener(TransferListener listener)
Specified by:
addTransferListener in interface TransferController

removeTransferListener

public void removeTransferListener(TransferListener listener)
Specified by:
removeTransferListener in interface TransferController

getTransferListeners

public java.util.List getTransferListeners()
Specified by:
getTransferListeners in interface TransferController

addSplitListener

public void addSplitListener(SplitListener listener)
Specified by:
addSplitListener in interface TransferController

removeSplitListener

public void removeSplitListener(SplitListener listener)
Specified by:
removeSplitListener in interface TransferController

getSplitListeners

public java.util.List getSplitListeners()
Specified by:
getSplitListeners in interface TransferController

addCompressListener

public void addCompressListener(CompressListener listener)
Specified by:
addCompressListener in interface TransferController

removeCompressListener

public void removeCompressListener(CompressListener listener)
Specified by:
removeCompressListener in interface TransferController

getCompressListeners

public java.util.List getCompressListeners()
Specified by:
getCompressListeners in interface TransferController

addFilterListener

public void addFilterListener(FilterListener listener)
Specified by:
addFilterListener in interface TransferController

removeFilterListener

public void removeFilterListener(FilterListener listener)
Specified by:
removeFilterListener in interface TransferController

getFilterListeners

public java.util.List getFilterListeners()
Specified by:
getFilterListeners in interface TransferController

getSource

public java.util.List getSource()
Specified by:
getSource in interface TransferController

getTmpDir

public java.lang.String getTmpDir()
Specified by:
getTmpDir in interface TransferController

getTarget

public java.util.List getTarget()
Specified by:
getTarget in interface TransferController

setSource

public void setSource(java.util.List src)
Specified by:
setSource in interface TransferController

setMaxSize

public void setMaxSize(long size)
Specified by:
setMaxSize in interface TransferController

getMaxSize

public long getMaxSize()
Specified by:
getMaxSize in interface TransferController

setMaxFiles

public void setMaxFiles(long amount)
Specified by:
setMaxFiles in interface TransferController

getMaxFiles

public long getMaxFiles()
Specified by:
getMaxFiles in interface TransferController

setPolicy

public void setPolicy(java.lang.String pol)
Specified by:
setPolicy in interface TransferController

getPolicy

public java.lang.String getPolicy()
Specified by:
getPolicy in interface TransferController

setHidden

public void setHidden(java.lang.String hidden)
Specified by:
setHidden in interface TransferController

getHidden

public java.lang.String getHidden()
Specified by:
getHidden in interface TransferController

setZipOnFly

public void setZipOnFly(java.lang.String zip)
Specified by:
setZipOnFly in interface TransferController

getZipOnFly

public java.lang.String getZipOnFly()
Specified by:
getZipOnFly in interface TransferController

setMaxDepth

public void setMaxDepth(long depth)
Specified by:
setMaxDepth in interface TransferController

getMaxDepth

public long getMaxDepth()
Specified by:
getMaxDepth in interface TransferController

setTimeOut

public void setTimeOut(long timeout)
Description copied from interface: TransferController
Set socket timeout in milliseconds.

Specified by:
setTimeOut in interface TransferController
Parameters:
timeout -

getTimeOut

public long getTimeOut()
Description copied from interface: TransferController
Returns underlying socket timeout.

Specified by:
getTimeOut in interface TransferController
Returns:
timeout in milliseconds.

setWhiteList

public void setWhiteList(java.lang.String string)
Specified by:
setWhiteList in interface TransferController

getWhiteList

public java.lang.String getWhiteList()
Specified by:
getWhiteList in interface TransferController

setTemplate

public void setTemplate(java.lang.String string)
Specified by:
setTemplate in interface TransferController

getTemplate

public java.lang.String getTemplate()
Specified by:
getTemplate in interface TransferController

setOverwrite

public void setOverwrite(java.lang.String string)
Specified by:
setOverwrite in interface TransferController

getOverwrite

public java.lang.String getOverwrite()
Specified by:
getOverwrite in interface TransferController

setResume

public void setResume(java.lang.String string)
Specified by:
setResume in interface TransferController

getResume

public java.lang.String getResume()
Specified by:
getResume in interface TransferController

setTmpDir

public void setTmpDir(java.lang.String string)
Specified by:
setTmpDir in interface TransferController

setTarget

public void setTarget(java.util.List tar)
Specified by:
setTarget in interface TransferController

getParameters

public java.util.HashMap getParameters(java.lang.String section)
Specified by:
getParameters in interface TransferController

setParameters

public void setParameters(java.util.HashMap map)
Specified by:
setParameters in interface TransferController

getEncoding

public java.lang.String getEncoding()
Specified by:
getEncoding in interface TransferController

getParamFile

public java.lang.String getParamFile()
Specified by:
getParamFile in interface TransferController

setEncoding

public void setEncoding(java.lang.String string)
Specified by:
setEncoding in interface TransferController

setParamFile

public void setParamFile(java.lang.String string)
Specified by:
setParamFile in interface TransferController

getChunkSize

public long getChunkSize()
Specified by:
getChunkSize in interface TransferController

setChunkSize

public void setChunkSize(long l)
Specified by:
setChunkSize in interface TransferController

getRootDir

public java.lang.String getRootDir()
Returns:
Returns the rootdir.

setRootDir

public void setRootDir(java.lang.String rootdir)
Parameters:
rootdir - The rootdir to set.

getPassword

public java.lang.String getPassword()
Specified by:
getPassword in interface TransferController
Returns:
Returns the password.

setPassword

public void setPassword(java.lang.String password)
Specified by:
setPassword in interface TransferController
Parameters:
password - The password to set.

getUsername

public java.lang.String getUsername()
Specified by:
getUsername in interface TransferController
Returns:
Returns the username.

setUsername

public void setUsername(java.lang.String username)
Specified by:
setUsername in interface TransferController
Parameters:
username - The username to set.

getServerUrl

public java.net.URL getServerUrl()
Specified by:
getServerUrl in interface TransferController
Returns:
Returns the server url.

setServerUrl

public void setServerUrl(java.net.URL url)
Specified by:
setServerUrl in interface TransferController
Parameters:
url - The server url to set.

getFilter

public TransferFilter getFilter()
Specified by:
getFilter in interface TransferController
Returns:
Returns the filter.

setFilter

public void setFilter(TransferFilter filter)
Specified by:
setFilter in interface TransferController
Parameters:
filter - The filter to set.

getFilterImpl

public java.lang.String getFilterImpl()
Specified by:
getFilterImpl in interface TransferController
Returns:
Returns the filterimpl.

setFilterImpl

public void setFilterImpl(java.lang.String filterimpl)
Specified by:
setFilterImpl in interface TransferController
Parameters:
filterimpl - The filterimpl to set.

getRawConf

public Conf getRawConf()
Specified by:
getRawConf in interface TransferController
Returns:
Returns the rawconf.

setRawConf

public void setRawConf(Conf rawconf)
Specified by:
setRawConf in interface TransferController
Parameters:
rawconf - The rawconf to set.

getExt

public java.lang.Object getExt()
Specified by:
getExt in interface TransferController
Returns:
Returns the ext.

setExt

public void setExt(java.lang.Object ext)
Specified by:
setExt in interface TransferController
Parameters:
ext - The ext to set.

getLong

public long getLong(java.lang.String str)
Parse String to long.

Parameters:
str -
Returns:
-1 if cannot parse.


Copyright © 1999-2005 JavaZOOM.