|
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||||
java.lang.Object | +--intradoc.serialize.DataBinderSerializer
| Field Summary | |
protected DataBinderProtocolInterface |
m_dataBinderProtocol
|
protected IsoJavaEncodingMap |
m_encodingMap
|
protected boolean |
m_failOnReplacementCharacter
|
protected boolean |
m_isMultiMode
|
protected java.lang.String |
m_systemEncoding
|
protected boolean |
m_useClientEncoding
|
protected boolean |
m_verboseEncodingTracing
|
protected java.lang.String |
m_webEncoding
|
| Constructor Summary | |
DataBinderSerializer()
Default constructor. |
|
| Method Summary | |
protected void |
closeStream(java.io.OutputStream outStream)
|
void |
continueParse(DataBinder data,
ExecutionContext cxt)
|
java.lang.String |
decode(DataBinder data,
java.lang.String in,
ExecutionContext cxt)
Implements the DataDecode interface. |
protected java.lang.String |
decodeEx(DataBinder data,
java.lang.String in)
|
java.lang.String |
detectEncoding(DataBinder data,
java.io.BufferedInputStream bstream,
ExecutionContext cxt)
Detects the encoding of the input stream. |
int |
determineContentType(DataBinder data,
ExecutionContext cxt)
Evaluates the contents of the environment variables of the DataBinder to determine the protocol to use when parsing the request body. |
java.lang.String |
determineEncoding(DataBinder data,
ExecutionContext cxt)
Determines which character encoding to be used. |
protected void |
determineParameterizedLocalization(DataBinder data,
java.util.Vector rsetList)
|
java.lang.String |
encode(DataBinder data,
java.lang.String in,
ExecutionContext cxt)
Encodes a string using hda style encoding for a value. |
protected java.lang.String |
encodeEx(DataBinder data,
java.lang.String in)
|
protected byte[] |
getConvertedBytes(DataBinder data,
java.lang.String in,
java.lang.String encoding)
|
protected java.lang.String |
getConvertedString(DataBinder data,
byte[] byteArray,
int offset,
int length,
java.lang.String encoding)
|
DataBinderProtocolInterface |
getDataBinderProtocol()
|
java.lang.String |
getIsoEncoding(java.lang.String javaEncoding)
|
java.lang.String |
getJavaEncoding(java.lang.String isoEncoding)
|
java.lang.String |
getSystemEncoding()
|
java.lang.String |
getWebEncoding()
|
java.lang.String |
getWebEncodingEx()
|
protected boolean |
isClientEncoding(DataBinder data)
|
boolean |
isMultiMode()
|
protected boolean |
isRawData(DataBinder data)
|
java.lang.String |
packageEncodingHeader(DataBinder data,
ExecutionContext cxt)
Formats encoding header if encoding is specified. |
protected void |
packageOptionList(DataBinder data,
java.io.Writer writer,
java.util.Vector options,
java.lang.String name)
|
protected void |
packageProperties(DataBinder data,
java.io.Writer writer,
java.util.Properties props,
java.lang.String name)
|
protected void |
packageResultSet(DataBinder data,
java.io.Writer writer,
ResultSet aSet,
java.lang.String name)
|
protected java.lang.String |
parseDataValue(DataBinder data,
java.lang.String name)
|
protected java.lang.String |
parseFile(DataBinder data,
java.lang.String name,
java.lang.String fileName)
|
protected java.lang.String |
parseForData(DataBinder data)
|
int |
parseFormat(DataBinder data,
java.io.BufferedInputStream bis,
ExecutionContext cxt)
|
java.lang.String |
parseHdaEncoding(java.lang.String line)
Detects the encoding of the hda header. |
java.lang.String |
parseHdaEncodingEx(DataBinder data,
java.lang.String line)
Detects the encoding of the hda header. |
void |
parseLocalParameters(DataBinder data,
java.lang.String params,
java.lang.String delimiter,
ExecutionContext cxt)
|
protected void |
parseLocalParametersEx(DataBinder data,
java.lang.String params,
java.lang.String delimiter,
boolean allowRaw)
|
protected void |
parseMultiContent(DataBinder data)
|
protected void |
parseNameValue(DataBinder data,
java.lang.String envPair,
java.lang.String delimiter,
boolean allowRaw)
|
protected void |
parseOptionList(DataBinder data,
java.lang.String name,
java.io.Reader reader)
|
protected void |
parsePost(DataBinder data,
java.lang.String delimiter)
|
protected void |
parseProperties(DataBinder data,
java.lang.String name,
java.io.BufferedReader reader)
|
protected void |
parseReaderData(DataBinder data,
java.io.BufferedReader reader,
java.util.Vector rsetList,
boolean isHeaderOnly)
|
void |
parseRequest(DataBinder data,
java.io.BufferedInputStream inStream,
ExecutionContext cxt)
Parse data received from a browser request (either a "GET", "POST", or "MULTIPART-POST"). |
void |
parseRequestBody(DataBinder data,
ExecutionContext cxt)
Parses the data of a POST (or MULTIPART-POST) or URL parameters of a GET request. |
protected DataResultSet |
parseResultSet(DataBinder data,
java.lang.String name,
java.io.Reader reader,
boolean isHeaderOnly)
|
protected void |
prepareParseMultiContent(DataBinder data)
|
void |
prepareParseRequest(DataBinder data,
java.io.BufferedInputStream inStream,
ExecutionContext cxt)
Parses the CGI style environment variables at beginning of stream. |
void |
readFile(DataBinder data,
java.lang.String originalFilePath,
java.lang.String key)
|
protected java.lang.String |
readInputLine(DataBinder data,
boolean isBytes)
|
protected java.lang.String |
readLine(java.io.BufferedReader reader)
|
int |
readLineBytes(DataBinder data,
byte[] inBytes,
boolean doCount,
int start,
int length,
int[] newOffset)
|
java.lang.String |
readLineEx(DataBinder data,
java.io.BufferedInputStream inStream,
boolean doCount,
boolean allowRaw,
ExecutionContext cxt)
|
protected java.lang.String |
readLineRaw(DataBinder data,
java.io.BufferedInputStream inStream,
boolean doCount)
|
protected void |
readProperties(DataBinder data,
java.util.Properties props,
java.lang.String endMark,
boolean isJava,
boolean isBytes)
|
protected byte[] |
readStreamLineByteEx(DataBinder data,
java.io.BufferedInputStream inStream,
boolean doCount)
|
protected java.lang.String |
readStreamLineEx(DataBinder data,
java.io.BufferedInputStream inStream,
boolean doCount,
ExecutionContext cxt)
|
void |
receiveEx(DataBinder data,
java.io.BufferedReader reader,
boolean isHeaderOnly,
ExecutionContext cxt)
Parses a stream and loads it into attributes of this object. |
void |
resetMultiContentFlags(DataBinder data,
ExecutionContext cxt)
|
protected void |
resetMultiContentFlagsEx(DataBinder data)
|
protected void |
retrieveExecutionContextInfo(DataBinder data,
ExecutionContext cxt)
|
void |
send(DataBinder data,
java.io.Writer writer,
ExecutionContext cxt)
Writes out the header, local data, and result sets in hda format (see documentation on basic component architecture for a description of this format). |
byte[] |
sendBytes(DataBinder data,
java.lang.String javaEncoding,
boolean sendHeader,
ExecutionContext cxt)
Allows sending the response in bytes rather than as a string. |
void |
sendEx(DataBinder data,
java.io.Writer writer,
boolean sendHeader,
ExecutionContext cxt)
Writes out the local data and result sets in hda format (see documentation on basic component architecture for a description of this format). |
protected void |
sendResult(java.io.Writer writer,
java.lang.String resultStr)
|
void |
setDataBinderProtocol(DataBinderProtocolInterface dataBinderProtocol)
|
void |
setEncodingMap(ResultSet rset)
|
void |
setMultiMode(boolean flag)
|
void |
setSystemEncoding(java.lang.String systemEncoding)
|
void |
setUseClientEncoding(boolean flag)
|
void |
setWebEncoding(java.lang.String newEncoding)
|
protected void |
translateEnvironment(DataBinder data)
|
boolean |
useClientEncoding()
|
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
protected IsoJavaEncodingMap m_encodingMap
protected java.lang.String m_systemEncoding
protected java.lang.String m_webEncoding
protected boolean m_isMultiMode
protected boolean m_useClientEncoding
protected boolean m_verboseEncodingTracing
protected boolean m_failOnReplacementCharacter
protected DataBinderProtocolInterface m_dataBinderProtocol
| Constructor Detail |
public DataBinderSerializer()
| Method Detail |
public void send(DataBinder data,
java.io.Writer writer,
ExecutionContext cxt)
throws java.io.IOException
java.io.IOException
public void sendEx(DataBinder data,
java.io.Writer writer,
boolean sendHeader,
ExecutionContext cxt)
throws java.io.IOException
sendEx in interface DataSerializejava.io.IOException
public byte[] sendBytes(DataBinder data,
java.lang.String javaEncoding,
boolean sendHeader,
ExecutionContext cxt)
throws java.io.IOException
sendBytes in interface DataSerializejava.io.IOException
protected void sendResult(java.io.Writer writer,
java.lang.String resultStr)
throws java.io.IOException
java.io.IOException
protected void packageProperties(DataBinder data,
java.io.Writer writer,
java.util.Properties props,
java.lang.String name)
throws java.io.IOException
java.io.IOException
protected void packageResultSet(DataBinder data,
java.io.Writer writer,
ResultSet aSet,
java.lang.String name)
throws java.io.IOException
java.io.IOException
protected void packageOptionList(DataBinder data,
java.io.Writer writer,
java.util.Vector options,
java.lang.String name)
throws java.io.IOException
java.io.IOException
public void receiveEx(DataBinder data,
java.io.BufferedReader reader,
boolean isHeaderOnly,
ExecutionContext cxt)
throws java.io.IOException
receiveEx in interface DataSerializereader - The stream being parsed. Note: this method assumes that 'reader'
will provide a clean termination point for consumption. This method does
not provide for partial reads based on expected response length
or for issues such as persisting connections (i.e. keep alive logic). Such complex
issues must be negotiated by the underlying input source (for example, the input
stream from a response to an Http request using the java.net.HttpUrlConnection
object has a built in termination point created from the Content-Length HTTP response
header).isHeaderOnly - If set to true, then only the local data and the field names
of the first result set are read in. This allows sampling of a very large hda
file.
java.io.IOException - Thrown if there is an error reading from the stream.
DataException - Thrown if there is a data integrity error.#m_isCgi,
parseRequest(intradoc.data.DataBinder, java.io.BufferedInputStream, intradoc.common.ExecutionContext),
#receive,
send(intradoc.data.DataBinder, java.io.Writer, intradoc.common.ExecutionContext)
protected void parseReaderData(DataBinder data,
java.io.BufferedReader reader,
java.util.Vector rsetList,
boolean isHeaderOnly)
throws java.io.IOException
java.io.IOException
protected void determineParameterizedLocalization(DataBinder data,
java.util.Vector rsetList)
throws java.io.IOException
java.io.IOException
protected void parseOptionList(DataBinder data,
java.lang.String name,
java.io.Reader reader)
throws java.io.IOException
java.io.IOException
protected DataResultSet parseResultSet(DataBinder data,
java.lang.String name,
java.io.Reader reader,
boolean isHeaderOnly)
throws java.io.IOException
java.io.IOException
protected void parseProperties(DataBinder data,
java.lang.String name,
java.io.BufferedReader reader)
throws java.io.IOException
java.io.IOException
protected void readProperties(DataBinder data,
java.util.Properties props,
java.lang.String endMark,
boolean isJava,
boolean isBytes)
throws java.io.IOException
java.io.IOException
public java.lang.String decode(DataBinder data,
java.lang.String in,
ExecutionContext cxt)
decode in interface DataSerializein - The string to decode.
DataDecode,
encode(intradoc.data.DataBinder, java.lang.String, intradoc.common.ExecutionContext),
#m_isCgi
protected java.lang.String decodeEx(DataBinder data,
java.lang.String in)
public java.lang.String encode(DataBinder data,
java.lang.String in,
ExecutionContext cxt)
| \ -> \\ |
| cr -> \r |
| lf -> \n |
| @ -> \@ |
encode in interface DataSerializein - The string to encode.
decode(intradoc.data.DataBinder, java.lang.String, intradoc.common.ExecutionContext)
protected java.lang.String encodeEx(DataBinder data,
java.lang.String in)
protected byte[] getConvertedBytes(DataBinder data,
java.lang.String in,
java.lang.String encoding)
throws java.io.IOException
java.io.IOException
protected java.lang.String getConvertedString(DataBinder data,
byte[] byteArray,
int offset,
int length,
java.lang.String encoding)
throws java.io.IOException
java.io.IOExceptionprotected boolean isRawData(DataBinder data)
protected boolean isClientEncoding(DataBinder data)
public void parseRequest(DataBinder data,
java.io.BufferedInputStream inStream,
ExecutionContext cxt)
throws java.io.IOException,
DataException
parseRequest in interface DataSerializeinStream - The stream containing data from the browser. This method
calls the methods prepareParseRequest and parseRequestBody to do the actual parsing.
java.io.IOException - Thrown if there is an error reading from the stream.
DataException - Thrown if there is a data integrity error.prepareParseRequest(intradoc.data.DataBinder, java.io.BufferedInputStream, intradoc.common.ExecutionContext),
parseRequestBody(intradoc.data.DataBinder, intradoc.common.ExecutionContext)
public void prepareParseRequest(DataBinder data,
java.io.BufferedInputStream inStream,
ExecutionContext cxt)
throws java.io.IOException,
DataException
prepareParseRequest in interface DataSerializeinStream - The stream containing data from the browser. Before the data from
the browser is sent to the Content Server, the web server prepends the CGI
environment variables as name value pairs terminated by a "$$$$" on a single line. This
method parses out the CGI environment variables storing it into the environment
data of this object. If browser request is a "POST"
initiated by an applet, then the data following the "POST" name value pairs is assumed
to be data in hda style format and is parsed using the 'receive(...)' method
with 'm_isCgi' set to false.
java.io.IOException - Thrown if there is an error reading from the stream.
DataException - Thrown if there is a data integrity error.
public void parseRequestBody(DataBinder data,
ExecutionContext cxt)
throws java.io.IOException,
DataException
parseRequestBody in interface DataSerializejava.io.IOException - Thrown if there is an error reading from the stream.
DataException - Thrown if there is a data integrity error.#receive,
decode(intradoc.data.DataBinder, java.lang.String, intradoc.common.ExecutionContext)
public int determineContentType(DataBinder data,
ExecutionContext cxt)
throws DataException
determineContentType in interface DataSerializeDataException - Thrown if wrong semantics were used to specify
content type.parseRequestBody(intradoc.data.DataBinder, intradoc.common.ExecutionContext)
public void resetMultiContentFlags(DataBinder data,
ExecutionContext cxt)
resetMultiContentFlags in interface DataSerializeprotected void resetMultiContentFlagsEx(DataBinder data)
public void continueParse(DataBinder data,
ExecutionContext cxt)
throws java.io.IOException,
DataException
continueParse in interface DataSerializejava.io.IOException
DataException
protected void prepareParseMultiContent(DataBinder data)
throws java.io.IOException,
DataException
java.io.IOException
DataException
protected void parseMultiContent(DataBinder data)
throws java.io.IOException,
DataException
java.io.IOException
DataException
protected java.lang.String parseForData(DataBinder data)
throws java.io.IOException,
DataException
java.io.IOException
DataException
protected java.lang.String parseDataValue(DataBinder data,
java.lang.String name)
throws java.io.IOException
java.io.IOException
protected java.lang.String readLine(java.io.BufferedReader reader)
throws java.io.IOException
java.io.IOException
protected java.lang.String readInputLine(DataBinder data,
boolean isBytes)
throws java.io.IOException
java.io.IOException
public int readLineBytes(DataBinder data,
byte[] inBytes,
boolean doCount,
int start,
int length,
int[] newOffset)
public java.lang.String readLineEx(DataBinder data,
java.io.BufferedInputStream inStream,
boolean doCount,
boolean allowRaw,
ExecutionContext cxt)
throws java.io.IOException
readLineEx in interface DataSerializejava.io.IOException
protected java.lang.String readLineRaw(DataBinder data,
java.io.BufferedInputStream inStream,
boolean doCount)
throws java.io.IOException
java.io.IOException
protected java.lang.String readStreamLineEx(DataBinder data,
java.io.BufferedInputStream inStream,
boolean doCount,
ExecutionContext cxt)
throws java.io.IOException
java.io.IOException
protected byte[] readStreamLineByteEx(DataBinder data,
java.io.BufferedInputStream inStream,
boolean doCount)
throws java.io.IOException
java.io.IOException
protected void translateEnvironment(DataBinder data)
throws java.io.IOException
java.io.IOException
protected void parsePost(DataBinder data,
java.lang.String delimiter)
throws java.io.IOException,
DataException,
java.io.UnsupportedEncodingException
java.io.IOException
DataException
java.io.UnsupportedEncodingException
public void parseLocalParameters(DataBinder data,
java.lang.String params,
java.lang.String delimiter,
ExecutionContext cxt)
parseLocalParameters in interface DataSerialize
protected void parseLocalParametersEx(DataBinder data,
java.lang.String params,
java.lang.String delimiter,
boolean allowRaw)
protected void parseNameValue(DataBinder data,
java.lang.String envPair,
java.lang.String delimiter,
boolean allowRaw)
public int parseFormat(DataBinder data,
java.io.BufferedInputStream bis,
ExecutionContext cxt)
throws ServiceException
ServiceException
protected java.lang.String parseFile(DataBinder data,
java.lang.String name,
java.lang.String fileName)
throws java.io.IOException,
DataException
java.io.IOException
DataException
public void readFile(DataBinder data,
java.lang.String originalFilePath,
java.lang.String key)
throws java.io.IOException,
DataException
java.io.IOException
DataExceptionprotected void closeStream(java.io.OutputStream outStream)
public java.lang.String detectEncoding(DataBinder data,
java.io.BufferedInputStream bstream,
ExecutionContext cxt)
throws java.io.IOException
detectEncoding in interface DataSerializejava.io.IOException
public java.lang.String parseHdaEncodingEx(DataBinder data,
java.lang.String line)
parseHdaEncodingEx in interface DataSerializepublic java.lang.String parseHdaEncoding(java.lang.String line)
parseHdaEncoding in interface DataSerialize
public java.lang.String packageEncodingHeader(DataBinder data,
ExecutionContext cxt)
throws java.io.IOException
packageEncodingHeader in interface DataSerializejava.io.IOException
public java.lang.String determineEncoding(DataBinder data,
ExecutionContext cxt)
determineEncoding in interface DataSerialize
protected void retrieveExecutionContextInfo(DataBinder data,
ExecutionContext cxt)
public void setEncodingMap(ResultSet rset)
throws DataException
setEncodingMap in interface DataSerializeDataExceptionpublic java.lang.String getIsoEncoding(java.lang.String javaEncoding)
getIsoEncoding in interface DataSerializepublic java.lang.String getJavaEncoding(java.lang.String isoEncoding)
getJavaEncoding in interface DataSerializepublic void setMultiMode(boolean flag)
setMultiMode in interface DataSerializepublic boolean isMultiMode()
isMultiMode in interface DataSerializepublic void setUseClientEncoding(boolean flag)
setUseClientEncoding in interface DataSerializepublic boolean useClientEncoding()
useClientEncoding in interface DataSerializepublic java.lang.String getSystemEncoding()
getSystemEncoding in interface DataSerializepublic void setSystemEncoding(java.lang.String systemEncoding)
setSystemEncoding in interface DataSerializepublic java.lang.String getWebEncoding()
getWebEncoding in interface DataSerializepublic java.lang.String getWebEncodingEx()
public void setWebEncoding(java.lang.String newEncoding)
setWebEncoding in interface DataSerializepublic void setDataBinderProtocol(DataBinderProtocolInterface dataBinderProtocol)
setDataBinderProtocol in interface DataSerializepublic DataBinderProtocolInterface getDataBinderProtocol()
getDataBinderProtocol in interface DataSerialize
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
(c) 1996-2005 All rights reserved. Stellent, Inc. |