org.apache.tools.ant.taskdefs.optional.perforce
Class P4HandlerAdapter

java.lang.Object
  |
  +--org.apache.tools.ant.taskdefs.optional.perforce.P4HandlerAdapter
All Implemented Interfaces:
ExecuteStreamHandler, P4Handler
Direct Known Subclasses:
SimpleP4OutputHandler

public abstract class P4HandlerAdapter
extends java.lang.Object
implements P4Handler

base class to manage streams around the execution of the Perforce command line client


Constructor Summary
P4HandlerAdapter()
           
 
Method Summary
abstract  void process(java.lang.String line)
          subclasses of P4HandlerAdapter must implement this routine processing of one line of stdout or of stderr
 void setOutput(java.lang.String p4Input)
          set any data to be written to P4's stdin
 void setProcessErrorStream(java.io.InputStream is)
          connects the handler to the stderr of the Perforce process
 void setProcessInputStream(java.io.OutputStream os)
          connects the handler to the input stream into Perforce used indirectly by tasks requiring to send specific standard input such as p4label, p4change
 void setProcessOutputStream(java.io.InputStream is)
          connects the handler to the stdout of the Perforce process
 void start()
          this routine gets called by the execute routine of the Execute class it connects the PumpStreamHandler to the input/output/error streams of the process.
 void stop()
          stops the processing of streams called from P4Base#execP4Command(String command, P4Handler handler)
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

P4HandlerAdapter

public P4HandlerAdapter()
Method Detail

setOutput

public void setOutput(java.lang.String p4Input)
set any data to be written to P4's stdin

Specified by:
setOutput in interface P4Handler
Parameters:
p4Input - the text to write to P4's stdin

process

public abstract void process(java.lang.String line)
subclasses of P4HandlerAdapter must implement this routine processing of one line of stdout or of stderr

Specified by:
process in interface P4Handler
Parameters:
line - line of stdout or stderr to process

start

public void start()
           throws BuildException
this routine gets called by the execute routine of the Execute class it connects the PumpStreamHandler to the input/output/error streams of the process.

Specified by:
start in interface ExecuteStreamHandler
Throws:
BuildException
See Also:
Execute.execute()

stop

public void stop()
stops the processing of streams called from P4Base#execP4Command(String command, P4Handler handler)

Specified by:
stop in interface ExecuteStreamHandler
See Also:
P4Base.execP4Command(String, P4Handler)

setProcessInputStream

public void setProcessInputStream(java.io.OutputStream os)
                           throws java.io.IOException
connects the handler to the input stream into Perforce used indirectly by tasks requiring to send specific standard input such as p4label, p4change

Specified by:
setProcessInputStream in interface ExecuteStreamHandler
Parameters:
os - the stream bringing input to the p4 executable
Throws:
java.io.IOException - under unknown circumstances

setProcessErrorStream

public void setProcessErrorStream(java.io.InputStream is)
                           throws java.io.IOException
connects the handler to the stderr of the Perforce process

Specified by:
setProcessErrorStream in interface ExecuteStreamHandler
Parameters:
is - stderr coming from Perforce
Throws:
java.io.IOException - under unknown circumstances

setProcessOutputStream

public void setProcessOutputStream(java.io.InputStream is)
                            throws java.io.IOException
connects the handler to the stdout of the Perforce process

Specified by:
setProcessOutputStream in interface ExecuteStreamHandler
Parameters:
is - stdout coming from Perforce
Throws:
java.io.IOException - under unknown circumstances


Copyright 2000-2005 Apache Software Foundation. All Rights Reserved.