|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.io.OutputStream
java.io.FilterOutputStream
org.apache.james.util.stream.CRLFOutputStream
public class CRLFOutputStream
A Filter for use with SMTP or other protocols in which lines must end with CRLF. Converts every "isolated" occourency of \r or \n with \r\n RFC 2821 #2.3.7 mandates that line termination is CRLF, and that CR and LF must not be transmitted except in that pairing. If we get a naked LF, convert to CRLF.
Field Summary | |
---|---|
protected static int |
LAST_WAS_CR
|
protected static int |
LAST_WAS_LF
|
protected static int |
LAST_WAS_OTHER
|
protected boolean |
startOfLine
|
protected int |
statusLast
Counter for number of last (0A or 0D). |
Fields inherited from class java.io.FilterOutputStream |
---|
out |
Constructor Summary | |
---|---|
CRLFOutputStream(java.io.OutputStream out)
Constructor that wraps an OutputStream. |
Method Summary | |
---|---|
void |
checkCRLFTerminator()
Ensure that the stream is CRLF terminated. |
void |
write(byte[] buffer,
int offset,
int length)
|
void |
write(int b)
Writes a byte to the stream Fixes any naked CR or LF to the RFC 2821 mandated CFLF pairing. |
protected void |
writeChunk(byte[] buffer,
int offset,
int length)
Provides an extension point for ExtraDotOutputStream to be able to add dots at the beginning of new lines. |
Methods inherited from class java.io.FilterOutputStream |
---|
close, flush, write |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected int statusLast
protected static final int LAST_WAS_OTHER
protected static final int LAST_WAS_CR
protected static final int LAST_WAS_LF
protected boolean startOfLine
Constructor Detail |
---|
public CRLFOutputStream(java.io.OutputStream out)
out
- the OutputStream to be wrappedMethod Detail |
---|
public void write(int b) throws java.io.IOException
write
in class java.io.FilterOutputStream
b
- the byte to write
java.io.IOException
- if an error occurs writing the byteprotected void writeChunk(byte[] buffer, int offset, int length) throws java.io.IOException
java.io.IOException
FilterOutputStream.write(byte[], int, int)
public void write(byte[] buffer, int offset, int length) throws java.io.IOException
write
in class java.io.FilterOutputStream
java.io.IOException
FilterOutputStream.write(byte[], int, int)
public void checkCRLFTerminator() throws java.io.IOException
java.io.IOException
- if an error occurs writing the byte
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |