| java.lang.Object com.sun.portal.desktop.encode.Encoder
Encoder | public class Encoder (Code) | | This class provides a device-unaware means of encoding markup and
other text. It is the front end for an encoder SPI, allowing different
encoding schemes to be plugged in to the system.
To decode text, use the Decoder class.
The pluggable components used by this class are called
type encoders. A type encoder is a class that implements
the simple TypeEncoder interface.
For cases where the encoding type is fixed and does not
change with the markup type, the four static type encoders
may be used: XML_ENCODER, HTML_ENCODER, FORMNAME_ENCODER,
and COOKIE_ENCODER .
When the encoding type is dependent on the accessing client device,
use the get() or encode() methods. These
methods accept a string type encoder class name and return an
instance of that type encoder or use that type encoder to perform
encoding, respectively. The argument encoderClassName
to these methods should be dynamically varied based on the client
device type. This class does not care how the mapping from client
device type to encode class name happens, but here is an example
of how it might be done. Using client type properties, associate
a new client type property, "encoderClassName" with each client
device type. The type encoder class specified by the class name should
implement encoding that is proper for the associated device type.
Use this client type property as an arugment to either the
get() or encode() methods. For example:
String unencoded = "";
String encoderClassName = providerContext.getEncoderClassName();
String encoded = Encoder.encode(encoderClassName, unencoded);
To add a new type encoder to the system, do the following:
- Author a class that implements the
TypeEncoder
interface.
- Add the class to the web container's class path.
Now, the new type encoder may be referenced by naming its
class name in either of the two methods in this class. Going
by the above example usage, client type properties can be
modified to include the new class name as a value of the
encoderClassName client type property.
The public methods and members in this class are static. This class
may not be instantiated.
See Also: com.sun.portal.providers.context.ProviderContext.getEncoderClassName See Also: com.sun.portal.desktop.encode.TypeEncoder See Also: com.sun.portal.desktop.encode.Decoder |
Method Summary | |
public static String | encode(String encoderClassName, String text) Encodes text with the named type encoder. | public static TypeEncoder | get(String encoderClassName) Gets an instance for the named type encoder.
Parameters: encoderClassName - a String value indicating the type encoder class name. |
FORMNAME_ENCODER | public static TypeEncoder FORMNAME_ENCODER(Code) | | Form name type encoder.
|
encode | public static String encode(String encoderClassName, String text) throws EncoderException(Code) | | Encodes text with the named type encoder. This method is a
convenience wrapper for calling get() and
TypeEncoder.encode() .
Parameters: encoderClassName - a String value indicating the type encoder class name. The named class must implementthe TypeEncoder interface. Parameters: text - a String value, the text to beencoded. a String value, the encoded text. exception: EncoderException - if an error occurs instantiating the namedtype encoder. |
get | public static TypeEncoder get(String encoderClassName) throws EncoderException(Code) | | Gets an instance for the named type encoder.
Parameters: encoderClassName - a String value indicating the type encoder class name. The named class must implementthe TypeEncoder interface. a TypeEncoder value, the type encoder instance. exception: EncoderException - if there is an error instantiating the type encoder object. |
|
|