org.apache.chemistry.opencmis.commons.impl
Class MimeHelper

java.lang.Object
  extended by org.apache.chemistry.opencmis.commons.impl.MimeHelper

public class MimeHelper
extends java.lang.Object

MIME helper class.


Nested Class Summary
protected static class MimeHelper.HeaderTokenizer
           
protected static class MimeHelper.ParseException
           
protected static class MimeHelper.Token
           
 
Field Summary
static java.lang.String CONTENT_DISPOSITION
           
static java.lang.String DISPOSITION_ATTACHMENT
           
static java.lang.String DISPOSITION_FILENAME
           
 
Method Summary
static java.lang.String decodeContentDisposition(java.lang.String value, java.util.Map<java.lang.String,java.lang.String> params)
          Decodes the Content-Disposition header value according to RFC 2183 and RFC 2231.
static java.lang.String decodeContentDispositionFilename(java.lang.String value)
          Decodes a filename from the Content-Disposition header value according to RFC 2183 and RFC 2231.
protected static java.lang.String decodeRFC2231value(java.lang.String value)
           
static java.lang.String encodeContentDisposition(java.lang.String disposition, java.lang.String filename)
          Encodes the Content-Disposition header value according to RFC 2183 and RFC 2231.
protected static java.lang.String encodeRFC2231(java.lang.String key, java.lang.String value)
          Encodes a MIME parameter per RFC 2231.
protected static boolean encodeRFC2231value(java.lang.String value, java.lang.StringBuilder buf)
          Encodes a value per RFC 2231.
protected static byte[] fromHex(java.lang.String data)
           
protected static java.lang.String getJavaCharset(java.lang.String mimeCharset)
           
protected static java.util.Map<java.lang.String,java.lang.String> getParameters(java.lang.String list, java.util.Map<java.lang.String,java.lang.String> params)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CONTENT_DISPOSITION

public static final java.lang.String CONTENT_DISPOSITION
See Also:
Constant Field Values

DISPOSITION_ATTACHMENT

public static final java.lang.String DISPOSITION_ATTACHMENT
See Also:
Constant Field Values

DISPOSITION_FILENAME

public static final java.lang.String DISPOSITION_FILENAME
See Also:
Constant Field Values
Method Detail

encodeRFC2231value

protected static boolean encodeRFC2231value(java.lang.String value,
                                            java.lang.StringBuilder buf)
Encodes a value per RFC 2231.

This is used to pass non-ASCII parameters to MIME parameter lists.

This implementation always uses UTF-8 and no language.

See RFC 2231 for details.

Parameters:
value - the value to encode
buf - the buffer to fill
Returns:
true if an encoding was needed, or false if no encoding was actually needed

encodeRFC2231

protected static java.lang.String encodeRFC2231(java.lang.String key,
                                                java.lang.String value)
Encodes a MIME parameter per RFC 2231.

This implementation always uses UTF-8 and no language.

See RFC 2231 for details.

Parameters:
value - the string to encode
Returns:
the encoded string

encodeContentDisposition

public static java.lang.String encodeContentDisposition(java.lang.String disposition,
                                                        java.lang.String filename)
Encodes the Content-Disposition header value according to RFC 2183 and RFC 2231.

See RFC 2231 for details.

Parameters:
disposition - the disposition
filename - the file name
Returns:
the encoded header value

decodeContentDispositionFilename

public static java.lang.String decodeContentDispositionFilename(java.lang.String value)
Decodes a filename from the Content-Disposition header value according to RFC 2183 and RFC 2231.

See RFC 2231 for details.

Parameters:
value - the header value to decode
Returns:
the filename

decodeContentDisposition

public static java.lang.String decodeContentDisposition(java.lang.String value,
                                                        java.util.Map<java.lang.String,java.lang.String> params)
Decodes the Content-Disposition header value according to RFC 2183 and RFC 2231.

Does not deal with continuation lines.

See RFC 2231 for details.

Parameters:
value - the header value to decode
params - the map of parameters to fill
Returns:
the disposition

getParameters

protected static java.util.Map<java.lang.String,java.lang.String> getParameters(java.lang.String list,
                                                                                java.util.Map<java.lang.String,java.lang.String> params)
                                                                         throws MimeHelper.ParseException
Throws:
MimeHelper.ParseException

decodeRFC2231value

protected static java.lang.String decodeRFC2231value(java.lang.String value)

fromHex

protected static byte[] fromHex(java.lang.String data)

getJavaCharset

protected static java.lang.String getJavaCharset(java.lang.String mimeCharset)


Copyright © 2009-2011 The Apache Software Foundation. All Rights Reserved.