Top Description Fields Constructors Methods
org.kxml2.wap

public Class WbxmlSerializer

extends Object
implements XmlSerializer
Class Inheritance
All Implemented Interfaces
org.xmlpull.v1.XmlSerializer
Imports
java.io.*, java.util.*, org.xmlpull.v1.*

A class for writing WBXML.

Field Summary

Modifier and TypeField and Description
pack-priv Vector<E>
private int
pack-priv Hashtable<K, V>
pack-priv Hashtable<K, V>
pack-priv ByteArrayOutputStream
pack-priv int
private String
pack-priv String
pack-priv String
pack-priv OutputStream
pack-priv String
pack-priv Hashtable<K, V>
pack-priv ByteArrayOutputStream
private int
pack-priv Hashtable<K, V>

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public XmlSerializer
attribute(String namespace, String name, String value)

Implements org.xmlpull.v1.XmlSerializer.attribute.

Write an attribute.
public void
public void
checkPending(boolean degenerated)

public void
public void
public void
public XmlSerializer
endTag(String namespace, String name)

Implements org.xmlpull.v1.XmlSerializer.endTag.

Write end tag.
public void
public void
flush()

Implements org.xmlpull.v1.XmlSerializer.flush.

ATTENTION: flush cannot work since Wbxml documents require buffering.
public int
getDepth()

Implements org.xmlpull.v1.XmlSerializer.getDepth.

Returns the current depth of the element.
public boolean
getFeature(String
The name of feature to be retrieved.
name
)

Implements org.xmlpull.v1.XmlSerializer.getFeature.

Return the current value of the feature with given name.
public String
getName()

Implements org.xmlpull.v1.XmlSerializer.getName.

Returns the name of the current element as set by startTag().
public String
getNamespace()

Implements org.xmlpull.v1.XmlSerializer.getNamespace.

Returns the namespace URI of the current element as set by startTag().
public String
getPrefix(String nsp, boolean create)

Implements org.xmlpull.v1.XmlSerializer.getPrefix.

Return namespace that corresponds to given prefix If there is no prefix bound to this namespace return null but if generatePrefix is false then return generated prefix.
public Object
getProperty(String
The name of property to be retrieved.
name
)

Implements org.xmlpull.v1.XmlSerializer.getProperty.

Look up the value of a property.
public void
public void
public void
setAttrStartTable(int page, String[] attrStartTable)

Sets the attribute start Table for a given page.

public void
setAttrValueTable(int page, String[] attrValueTable)

Sets the attribute value Table for a given page.

public void
setFeature(String name, boolean value)

Implements org.xmlpull.v1.XmlSerializer.setFeature.

Set feature identified by name (recommended to be URI for uniqueness).
public void
setOutput(Writer writer)

Implements org.xmlpull.v1.XmlSerializer.setOutput.

Set the output to the given writer.
public void
setOutput(OutputStream out, String encoding)

Implements org.xmlpull.v1.XmlSerializer.setOutput.

Set to use binary output stream with given encoding.
public void
setPrefix(String
must be not null (or IllegalArgumentException is thrown)
prefix
,
String
must be not null
nsp
)

Implements org.xmlpull.v1.XmlSerializer.setPrefix.

Binds the given prefix to the given namespace.
public void
setProperty(String property, Object value)

Implements org.xmlpull.v1.XmlSerializer.setProperty.

Set the value of a property.
public void
setTagTable(int page, String[] tagTable)

Sets the tag table for a given page.

public void
startDocument(String s, Boolean b)

Implements org.xmlpull.v1.XmlSerializer.startDocument.

Write <?xml declaration with encoding (if encoding not null) and standalone flag (if standalone not null) This method can only be called just after setOutput.
public XmlSerializer
startTag(String namespace, String name)

Implements org.xmlpull.v1.XmlSerializer.startTag.

Writes a start tag with the given namespace and name.
public XmlSerializer
text(char[] chars, int start, int len)

Implements org.xmlpull.v1.XmlSerializer.text.

Writes text, where special XML chars are escaped automatically
public XmlSerializer
text(String text)

Implements org.xmlpull.v1.XmlSerializer.text.

Writes text, where special XML chars are escaped automatically
pack-priv static void
writeInt(OutputStream out, int i)

private void
writeStr(String text)

Used in text() and attribute() to write text

pack-priv void
private final void
writeStrT(String s, boolean mayPrependSpace)

public void
writeWapExtension(int type, Object data)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

attributesback to summary
pack-priv Vector<E> attributes
attrPageback to summary
private int attrPage
attrStartTableback to summary
pack-priv Hashtable<K, V> attrStartTable
attrValueTableback to summary
pack-priv Hashtable<K, V> attrValueTable
bufback to summary
pack-priv ByteArrayOutputStream buf
depthback to summary
pack-priv int depth
encodingback to summary
private String encoding
nameback to summary
pack-priv String name
namespaceback to summary
pack-priv String namespace
outback to summary
pack-priv OutputStream out
pendingback to summary
pack-priv String pending
stringTableback to summary
pack-priv Hashtable<K, V> stringTable
stringTableBufback to summary
pack-priv ByteArrayOutputStream stringTableBuf
tagPageback to summary
private int tagPage
tagTableback to summary
pack-priv Hashtable<K, V> tagTable

Constructor Detail

WbxmlSerializerback to summary
public WbxmlSerializer()

Method Detail

attributeback to summary
public XmlSerializer attribute(String namespace, String name, String value)

Implements org.xmlpull.v1.XmlSerializer.attribute.

Doc from org.xmlpull.v1.XmlSerializer.attribute.

Write an attribute. Calls to attribute() MUST follow a call to startTag() immediately. If there is no prefix defined for the given namespace, a prefix will be defined automatically. If namespace is null or empty string no namespace prefix is printed but just name.

cdsectback to summary
public void cdsect(String cdsect) throws IOException

Implements org.xmlpull.v1.XmlSerializer.cdsect.

checkPendingback to summary
public void checkPending(boolean degenerated) throws IOException
commentback to summary
public void comment(String comment)

Implements org.xmlpull.v1.XmlSerializer.comment.

docdeclback to summary
public void docdecl(String docdecl)

Implements org.xmlpull.v1.XmlSerializer.docdecl.

endDocumentback to summary
public void endDocument() throws IOException

Implements org.xmlpull.v1.XmlSerializer.endDocument.

Doc from org.xmlpull.v1.XmlSerializer.endDocument.

Finish writing. All unclosed start tags will be closed and output will be flushed. After calling this method no more output can be serialized until next call to setOutput()

endTagback to summary
public XmlSerializer endTag(String namespace, String name) throws IOException

Implements org.xmlpull.v1.XmlSerializer.endTag.

Doc from org.xmlpull.v1.XmlSerializer.endTag.

Write end tag. Repetition of namespace and name is just for avoiding errors.

Background: in kXML endTag had no arguments, and non matching tags were very difficult to find... If namespace is null no namespace prefix is printed but just name. If namespace is empty string then serialzier will make sure that default empty namespace is declared (in XML 1.0 xmlns='').

entityRefback to summary
public void entityRef(String er)

Implements org.xmlpull.v1.XmlSerializer.entityRef.

flushback to summary
public void flush()

Implements org.xmlpull.v1.XmlSerializer.flush.

ATTENTION: flush cannot work since Wbxml documents require buffering. Thus, this call does nothing.

getDepthback to summary
public int getDepth()

Implements org.xmlpull.v1.XmlSerializer.getDepth.

Doc from org.xmlpull.v1.XmlSerializer.getDepth.

Returns the current depth of the element. Outside the root element, the depth is 0. The depth is incremented by 1 when startTag() is called. The depth is decremented after the call to endTag() event was observed.

<!-- outside -->     0
<root>               1
  sometext                 1
    <foobar>         2
    </foobar>        2
</root>              1
<!-- outside -->     0
getFeatureback to summary
public boolean getFeature(String name)

Implements org.xmlpull.v1.XmlSerializer.getFeature.

Doc from org.xmlpull.v1.XmlSerializer.getFeature.

Return the current value of the feature with given name.

Note

unknown properties are always returned as null

Parameters
name:String

The name of feature to be retrieved.

Returns:boolean

The value of named feature.

getNameback to summary
public String getName()

Implements org.xmlpull.v1.XmlSerializer.getName.

Doc from org.xmlpull.v1.XmlSerializer.getName.

Returns the name of the current element as set by startTag(). It can only be null before first call to startTag() or when last endTag() is called to close first startTag().

Returns:String

namespace set by startTag() that is currently in scope

getNamespaceback to summary
public String getNamespace()

Implements org.xmlpull.v1.XmlSerializer.getNamespace.

Doc from org.xmlpull.v1.XmlSerializer.getNamespace.

Returns the namespace URI of the current element as set by startTag().

NOTE: that measn in particaulr that:

  • if there was startTag("", ...) then getNamespace() returns ""
  • if there was startTag(null, ...) then getNamespace() returns null
Returns:String

namespace set by startTag() that is currently in scope

getPrefixback to summary
public String getPrefix(String nsp, boolean create)

Implements org.xmlpull.v1.XmlSerializer.getPrefix.

Doc from org.xmlpull.v1.XmlSerializer.getPrefix.

Return namespace that corresponds to given prefix If there is no prefix bound to this namespace return null but if generatePrefix is false then return generated prefix.

Note

if the prefix is empty string "" and defualt namespace is bound to this prefix then empty string ("") is returned.

Note

prefixes "xml" and "xmlns" are already bound will have values as defined Namespaces in XML specification

getPropertyback to summary
public Object getProperty(String name)

Implements org.xmlpull.v1.XmlSerializer.getProperty.

Doc from org.xmlpull.v1.XmlSerializer.getProperty.

Look up the value of a property. The property name is any fully-qualified URI. I

Note

unknown properties are always returned as null

Parameters
name:String

The name of property to be retrieved.

Returns:Object

The value of named property.

ignorableWhitespaceback to summary
public void ignorableWhitespace(String sp)

Implements org.xmlpull.v1.XmlSerializer.ignorableWhitespace.

processingInstructionback to summary
public void processingInstruction(String pi)

Implements org.xmlpull.v1.XmlSerializer.processingInstruction.

setAttrStartTableback to summary
public void setAttrStartTable(int page, String[] attrStartTable)

Sets the attribute start Table for a given page. The first string in the array defines attribute 5, the second attribute 6 etc. Please use the character '=' (without quote!) as delimiter between the attribute name and the (start of the) value

setAttrValueTableback to summary
public void setAttrValueTable(int page, String[] attrValueTable)

Sets the attribute value Table for a given page. The first string in the array defines attribute value 0x85, the second attribute value 0x86 etc.

setFeatureback to summary
public void setFeature(String name, boolean value)

Implements org.xmlpull.v1.XmlSerializer.setFeature.

Doc from org.xmlpull.v1.XmlSerializer.setFeature.

Set feature identified by name (recommended to be URI for uniqueness). Some well known optional features are defined in http://www.xmlpull.org/v1/doc/features.html. If feature is not recocgnized or can not be set then IllegalStateException MUST be thrown.

setOutputback to summary
public void setOutput(Writer writer)

Implements org.xmlpull.v1.XmlSerializer.setOutput.

Doc from org.xmlpull.v1.XmlSerializer.setOutput.

Set the output to the given writer.

Warning

no information about encoding is available!

setOutputback to summary
public void setOutput(OutputStream out, String encoding) throws IOException

Implements org.xmlpull.v1.XmlSerializer.setOutput.

Doc from org.xmlpull.v1.XmlSerializer.setOutput.

Set to use binary output stream with given encoding.

setPrefixback to summary
public void setPrefix(String prefix, String nsp)

Implements org.xmlpull.v1.XmlSerializer.setPrefix.

Doc from org.xmlpull.v1.XmlSerializer.setPrefix.

Binds the given prefix to the given namespace. This call is valid for the next element including child elements. The prefix and namespace MUST be always declared even if prefix is not used in element (startTag() or attribute()) - for XML 1.0 it must result in declaring xmlns:prefix='namespace' (or xmlns:prefix="namespace" depending what character is used to quote attribute value).

Note

this method MUST be called directly before startTag() and if anything but startTag() or setPrefix() is called next there will be exception.

Note

prefixes "xml" and "xmlns" are already bound and can not be redefined see: Namespaces in XML Errata.

Note

to set default namespace use as prefix empty string.

Parameters
prefix:String

must be not null (or IllegalArgumentException is thrown)

nsp:String

must be not null

setPropertyback to summary
public void setProperty(String property, Object value)

Implements org.xmlpull.v1.XmlSerializer.setProperty.

Doc from org.xmlpull.v1.XmlSerializer.setProperty.

Set the value of a property. (the property name is recommened to be URI for uniqueness). Some well known optional properties are defined in http://www.xmlpull.org/v1/doc/properties.html. If property is not recocgnized or can not be set then IllegalStateException MUST be thrown.

setTagTableback to summary
public void setTagTable(int page, String[] tagTable)

Sets the tag table for a given page. The first string in the array defines tag 5, the second tag 6 etc.

startDocumentback to summary
public void startDocument(String s, Boolean b) throws IOException

Implements org.xmlpull.v1.XmlSerializer.startDocument.

Doc from org.xmlpull.v1.XmlSerializer.startDocument.

Write <?xml declaration with encoding (if encoding not null) and standalone flag (if standalone not null) This method can only be called just after setOutput.

startTagback to summary
public XmlSerializer startTag(String namespace, String name) throws IOException

Implements org.xmlpull.v1.XmlSerializer.startTag.

Doc from org.xmlpull.v1.XmlSerializer.startTag.

Writes a start tag with the given namespace and name. If there is no prefix defined for the given namespace, a prefix will be defined automatically. The explicit prefixes for namespaces can be established by calling setPrefix() immediately before this method. If namespace is null no namespace prefix is printed but just name. If namespace is empty string then serialzier will make sure that default empty namespace is declared (in XML 1.0 xmlns='') or throw IllegalStateException if default namespace is already bound to non-empty string.

textback to summary
public XmlSerializer text(char[] chars, int start, int len) throws IOException

Implements org.xmlpull.v1.XmlSerializer.text.

Doc from org.xmlpull.v1.XmlSerializer.text.

Writes text, where special XML chars are escaped automatically

textback to summary
public XmlSerializer text(String text) throws IOException

Implements org.xmlpull.v1.XmlSerializer.text.

Doc from org.xmlpull.v1.XmlSerializer.text.

Writes text, where special XML chars are escaped automatically

writeIntback to summary
pack-priv static void writeInt(OutputStream out, int i) throws IOException
writeStrback to summary
private void writeStr(String text) throws IOException

Used in text() and attribute() to write text

writeStrIback to summary
pack-priv void writeStrI(OutputStream out, String s) throws IOException
writeStrTback to summary
private final void writeStrT(String s, boolean mayPrependSpace) throws IOException
writeWapExtensionback to summary
public void writeWapExtension(int type, Object data) throws IOException