Overview | Package | Class | Use | Tree | Deprecated | Index | Help
|  | BEA Systems, Inc.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## weblogic.apache.xpath.objects
Class XObject

    java.lang.Object
      |
      +--weblogic.apache.xpath.Expression
            |
            +--weblogic.apache.xpath.objects.XObject

Direct Known Subclasses:
  XBoolean, XNodeSet, XNull, XNumber, XRTreeFrag, XString, XUnresolvedVariable

public class XObject
extends Expression
implements java.io.Serializable, java.lang.Cloneable

This class represents an XPath object, and is capable of converting the object to various types, such as a string. This class acts as the base class to other XPath type objects, such as XString, and provides polymorphic casting capabilities.

This class is based on an implementation from the Apache XML Project. In future releases the XML parser, XSLT processor, and associated classes will likely be updated to be based on a later version of the Apache implementations. Since Apache does not guarantee backwards compatibility between versions of their software, we cannot guarantee backwards compatibility of any of the classes contained in the weblogic.apache package or sub-packages.

See Also:
  Serialized Form

Field Summary
`static int` | `CLASS_BOOLEAN` Constant for BOOLEAN object type
`static int` | `CLASS_NODESET` Constant for NODESET object type
`static int` | `CLASS_NULL` Constant for NULL object type
`static int` | `CLASS_NUMBER` Constant for NUMBER object type
`static int` | `CLASS_RTREEFRAG` Constant for RESULT TREE FRAGMENT object type
`static int` | `CLASS_STRING` Constant for STRING object type
`static int` | `CLASS_UNKNOWN` Constant for UNKNOWN object type
`static int` | `CLASS_UNRESOLVEDVARIABLE` Represents an unresolved variable type as an integer.
`protected java.lang.Object` | `m_obj` The java object which this object wraps.

Fields inherited from class weblogic.apache.xpath.Expression
`m_slocator`

Constructor Summary
`XObject()` Create an XObject.
`XObject(java.lang.Object obj)` Create an XObject.

Method Summary
`void` | `allowDetachToRelease(boolean allowRelease)` Specify if it's OK for detach to release the iterator for reuse.
`void` | `appendToFsb(FastStringBuffer fsb)` Cast result object to a string.
`boolean` | `bool()` Cast result object to a boolean.
`boolean` | `boolWithSideEffects()` Cast result object to a boolean, but allow side effects, such as the incrementing of an iterator.
`java.lang.Object` | `castToType(int t, XPathContext support)` Cast object to type t.
`static XObject` | `create(java.lang.Object val)` Create the right XObject based on the type of the object passed.
`static XObject` | `create(java.lang.Object val, XPathContext xctxt)` Create the right XObject based on the type of the object passed.
`void` | `destruct()` Forces the object to release it's resources.
`void` | `detach()` Detaches the `DTMIterator` from the set which it iterated over, releasing any computational resources and placing the iterator in the INVALID state.
`void` | `dispatchCharactersEvents(org.xml.sax.ContentHandler ch)` Directly call the characters method on the passed ContentHandler for the string-value.
`boolean` | `equals(XObject obj2)` Tell if two objects are functionally equal.
`protected void` | `error(int msg)` Tell the user of an error, and probably throw an exception.
`protected void` | `error(int msg, java.lang.Object[] args)` Tell the user of an error, and probably throw an exception.
`XObject` | `execute(XPathContext xctxt)` For support of literal objects in xpaths.
`void` | `fixupVariables(java.util.Vector vars, int globalsSize)` XObjects should not normally need to fix up variables.
`int` | `getType()` Tell what kind of class this is.
`java.lang.String` | `getTypeString()` Given a request type, return the equivalent string.
`boolean` | `greaterThan(XObject obj2)` Tell if one object is greater than the other.
`boolean` | `greaterThanOrEqual(XObject obj2)` Tell if one object is greater than or equal to the other.
`weblogic.apache.xml.dtm.DTMIterator` | `iter()` Cast result object to a nodelist.
`boolean` | `lessThan(XObject obj2)` Tell if one object is less than the other.
`boolean` | `lessThanOrEqual(XObject obj2)` Tell if one object is less than or equal to the other.
`NodeSetDTM` | `mutableNodeset()` Cast result object to a nodelist.
`org.w3c.dom.NodeList` | `nodelist()` Cast result object to a nodelist.
`org.w3c.dom.traversal.NodeIterator` | `nodeset()` Cast result object to a nodelist.
`boolean` | `notEquals(XObject obj2)` Tell if two objects are functionally not equal.
`double` | `num()` Cast result object to a number.
`double` | `numWithSideEffects()` Cast result object to a number, but allow side effects, such as the incrementing of an iterator.
`java.lang.Object` | `object()` Return a java object that's closest to the representation that should be handed to an extension.
`int` | `rtf()` For functions to override.
`int` | `rtf(XPathContext support)` Cast result object to a result tree fragment.
`org.w3c.dom.DocumentFragment` | `rtree()` For functions to override.
`org.w3c.dom.DocumentFragment` | `rtree(XPathContext support)` Cast result object to a result tree fragment.
`java.lang.String` | `str()` Cast result object to a string.
`java.lang.String` | `toString()` Return the string representation of the object
`XMLString` | `xstr()` Cast result object to a string.

Methods inherited from class weblogic.apache.xpath.Expression
`asIterator, asNode, assertion, bool, canTraverseOutsideSubtree, error, execute, execute, executeCharsToContentHandler, isNodesetExpr, isStableNumber, num, setSourceLocator, warn, xstr`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### m_obj

    protected java.lang.Object m_obj

  The java object which this object wraps.

### CLASS_NULL

    public static final int CLASS_NULL

  Constant for NULL object type

### CLASS_UNKNOWN

    public static final int CLASS_UNKNOWN

  Constant for UNKNOWN object type

### CLASS_BOOLEAN

    public static final int CLASS_BOOLEAN

  Constant for BOOLEAN object type

### CLASS_NUMBER

    public static final int CLASS_NUMBER

  Constant for NUMBER object type

### CLASS_STRING

    public static final int CLASS_STRING

  Constant for STRING object type

### CLASS_NODESET

    public static final int CLASS_NODESET

  Constant for NODESET object type

### CLASS_RTREEFRAG

    public static final int CLASS_RTREEFRAG

  Constant for RESULT TREE FRAGMENT object type

### CLASS_UNRESOLVEDVARIABLE

    public static final int CLASS_UNRESOLVEDVARIABLE

  Represents an unresolved variable type as an integer.

Constructor Detail

### XObject

    public XObject()

  Create an XObject.

### XObject

    public XObject(java.lang.Object obj)

  Create an XObject.

  Parameters:
    `obj` - Can be any object, should be a specific type for derived classes, or null.

Method Detail

### execute

    public XObject execute(XPathContext xctxt)
                    throws javax.xml.transform.TransformerException

  For support of literal objects in xpaths.

  Parameters:
    `xctxt` - The XPath execution context.
  Returns:
    This object.
  Throws:
    javax.xml.transform.TransformerException -
  Overrides:
    execute in class Expression

### allowDetachToRelease

    public void allowDetachToRelease(boolean allowRelease)

  Specify if it's OK for detach to release the iterator for reuse.

  Parameters:
    `allowRelease` - true if it is OK for detach to release this iterator for pooling.

### detach

    public void detach()

  Detaches the `DTMIterator` from the set which it iterated over, releasing any computational resources and placing the iterator in the INVALID state. After `detach` has been invoked, calls to `nextNode` or `previousNode` will raise a runtime exception.

### destruct

    public void destruct()

  Forces the object to release it's resources. This is more harsh than detach().

### dispatchCharactersEvents

    public void dispatchCharactersEvents(org.xml.sax.ContentHandler ch)
                                  throws org.xml.sax.SAXException

  Directly call the characters method on the passed ContentHandler for the string-value. Multiple calls to the ContentHandler's characters methods may well occur for a single call to this method.

  Parameters:
    `ch` - A non-null reference to a ContentHandler.
  Throws:
    org.xml.sax.SAXException -

### create

    public static XObject create(java.lang.Object val)

  Create the right XObject based on the type of the object passed. This function can not make an XObject that exposes DOM Nodes, NodeLists, and NodeIterators to the XSLT stylesheet as node-sets.

  Parameters:
    `val` - The java object which this object will wrap.
  Returns:
    the right XObject based on the type of the object passed.

### create

    public static XObject create(java.lang.Object val,
                                 XPathContext xctxt)

  Create the right XObject based on the type of the object passed. This function can make an XObject that exposes DOM Nodes, NodeLists, and NodeIterators to the XSLT stylesheet as node-sets.

  Parameters:
    `val` - The java object which this object will wrap.
    `xctxt` - The XPath context.
  Returns:
    the right XObject based on the type of the object passed.

### getType

    public int getType()

  Tell what kind of class this is.

  Returns:
    CLASS_UNKNOWN

### getTypeString

    public java.lang.String getTypeString()

  Given a request type, return the equivalent string. For diagnostic purposes.

  Returns:
    type string "#UNKNOWN" + object class name

### num

    public double num()
               throws javax.xml.transform.TransformerException

  Cast result object to a number. Always issues an error.

  Returns:
    0.0
  Throws:
    javax.xml.transform.TransformerException -

### numWithSideEffects

    public double numWithSideEffects()
                              throws javax.xml.transform.TransformerException

  Cast result object to a number, but allow side effects, such as the incrementing of an iterator.

  Returns:
    numeric value of the string conversion from the next node in the NodeSetDTM, or NAN if no node was found

### bool

    public boolean bool()
                 throws javax.xml.transform.TransformerException

  Cast result object to a boolean. Always issues an error.

  Returns:
    false
  Throws:
    javax.xml.transform.TransformerException -

### boolWithSideEffects

    public boolean boolWithSideEffects()
                                throws javax.xml.transform.TransformerException

  Cast result object to a boolean, but allow side effects, such as the incrementing of an iterator.

  Returns:
    True if there is a next node in the nodeset

### xstr

    public XMLString xstr()

  Cast result object to a string.

  Returns:
    The string this wraps or the empty string if null

### str

    public java.lang.String str()

  Cast result object to a string.

  Returns:
    The object as a string

### toString

    public java.lang.String toString()

  Return the string representation of the object

  Returns:
    the string representation of the object
  Overrides:
    toString in class java.lang.Object

### rtf

    public int rtf(XPathContext support)

  Cast result object to a result tree fragment.

  Parameters:
    `support` - XPath context to use for the conversion
  Returns:
    the objec as a result tree fragment.

### rtree

    public org.w3c.dom.DocumentFragment rtree(XPathContext support)

  Cast result object to a result tree fragment.

  Parameters:
    `support` - XPath context to use for the conversion
  Returns:
    the objec as a result tree fragment.

### rtree

    public org.w3c.dom.DocumentFragment rtree()

  For functions to override.

  Returns:
    null

### rtf

    public int rtf()

  For functions to override.

  Returns:
    null

### object

    public java.lang.Object object()

  Return a java object that's closest to the representation that should be handed to an extension.

  Returns:
    The object that this class wraps

### iter

    public weblogic.apache.xml.dtm.DTMIterator iter()
                                             throws javax.xml.transform.TransformerException

  Cast result object to a nodelist. Always issues an error.

  Returns:
    null
  Throws:
    javax.xml.transform.TransformerException -

### nodeset

    public org.w3c.dom.traversal.NodeIterator nodeset()
                                               throws javax.xml.transform.TransformerException

  Cast result object to a nodelist. Always issues an error.

  Returns:
    null
  Throws:
    javax.xml.transform.TransformerException -

### nodelist

    public org.w3c.dom.NodeList nodelist()
                                  throws javax.xml.transform.TransformerException

  Cast result object to a nodelist. Always issues an error.

  Returns:
    null
  Throws:
    javax.xml.transform.TransformerException -

### mutableNodeset

    public NodeSetDTM mutableNodeset()
                              throws javax.xml.transform.TransformerException

  Cast result object to a nodelist. Always issues an error.

  Returns:
    The object as a NodeSetDTM.
  Throws:
    javax.xml.transform.TransformerException -

### castToType

    public java.lang.Object castToType(int t,
                                       XPathContext support)
                                throws javax.xml.transform.TransformerException

  Cast object to type t.

  Parameters:
    `t` - Type of object to cast this to
    `support` - XPath context to use for the conversion
  Returns:
    This object as the given type t
  Throws:
    javax.xml.transform.TransformerException -

### lessThan

    public boolean lessThan(XObject obj2)
                     throws javax.xml.transform.TransformerException

  Tell if one object is less than the other.

  Parameters:
    `obj2` - Object to compare this to
  Returns:
    True if this object is less than the given object
  Throws:
    javax.xml.transform.TransformerException -

### lessThanOrEqual

    public boolean lessThanOrEqual(XObject obj2)
                            throws javax.xml.transform.TransformerException

  Tell if one object is less than or equal to the other.

  Parameters:
    `obj2` - Object to compare this to
  Returns:
    True if this object is less than or equal to the given object
  Throws:
    javax.xml.transform.TransformerException -

### greaterThan

    public boolean greaterThan(XObject obj2)
                        throws javax.xml.transform.TransformerException

  Tell if one object is greater than the other.

  Parameters:
    `obj2` - Object to compare this to
  Returns:
    True if this object is greater than the given object
  Throws:
    javax.xml.transform.TransformerException -

### greaterThanOrEqual

    public boolean greaterThanOrEqual(XObject obj2)
                               throws javax.xml.transform.TransformerException

  Tell if one object is greater than or equal to the other.

  Parameters:
    `obj2` - Object to compare this to
  Returns:
    True if this object is greater than or equal to the given object
  Throws:
    javax.xml.transform.TransformerException -

### equals

    public boolean equals(XObject obj2)

  Tell if two objects are functionally equal.

  Parameters:
    `obj2` - Object to compare this to
  Returns:
    True if this object is equal to the given object
  Throws:
    javax.xml.transform.TransformerException -

### notEquals

    public boolean notEquals(XObject obj2)
                      throws javax.xml.transform.TransformerException

  Tell if two objects are functionally not equal.

  Parameters:
    `obj2` - Object to compare this to
  Returns:
    True if this object is not equal to the given object
  Throws:
    javax.xml.transform.TransformerException -

### error

    protected void error(int msg)
                  throws javax.xml.transform.TransformerException

  Tell the user of an error, and probably throw an exception.

  Parameters:
    `msg` - Error message to issue
  Throws:
    javax.xml.transform.TransformerException -

### error

    protected void error(int msg,
                         java.lang.Object[] args)
                  throws javax.xml.transform.TransformerException

  Tell the user of an error, and probably throw an exception.

  Parameters:
    `msg` - Error message to issue
    `args` - Arguments to use in the message
  Throws:
    javax.xml.transform.TransformerException -

### fixupVariables

    public void fixupVariables(java.util.Vector vars,
                               int globalsSize)

  XObjects should not normally need to fix up variables.

  Overrides:
    fixupVariables in class Expression

### appendToFsb

    public void appendToFsb(FastStringBuffer fsb)

  Cast result object to a string. NEEDSDOC @param fsb

  Returns:
    The string this wraps or the empty string if null

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Documentation is available at http://e-docs.bea.com/wls/docs70
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2004 BEA Systems, Inc. All Rights Reserved.
WebLogic Server 7.0 API Reference