diff options
Diffstat (limited to 'forms/qa/org/openoffice/xforms/Instance.java')
-rw-r--r-- | forms/qa/org/openoffice/xforms/Instance.java | 164 |
1 files changed, 164 insertions, 0 deletions
diff --git a/forms/qa/org/openoffice/xforms/Instance.java b/forms/qa/org/openoffice/xforms/Instance.java new file mode 100644 index 000000000000..d068560c5da1 --- /dev/null +++ b/forms/qa/org/openoffice/xforms/Instance.java @@ -0,0 +1,164 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ + +package org.openoffice.xforms; + +import com.sun.star.xml.dom.DOMException; +import com.sun.star.xml.dom.XDocument; +import com.sun.star.xml.dom.XNode; + +/** + * + * @author fs93730 + */ +public class Instance +{ + private Model m_model; + private XDocument m_domInstance; + + protected Instance( Model _model, XDocument _domInstance ) + { + m_model = _model; + m_domInstance = _domInstance; + } + + /** creates a new element in the instance + * + * The element will be inserted immediately below the root node of the instance. + * + * @param _elementName + * the name of the to-be-created element + * @return + * the node of the newly created element + * @throws com.sun.star.xml.dom.DOMException + */ + public XNode createElement( String _elementName ) throws DOMException + { + return createElement( m_domInstance, _elementName, null ); + } + + /** creates a new element in the instance + * + * The element will be inserted immediately below the root node of the instance. + * + * @param _elementName + * the name of the to-be-created element + * @param _initialNodeValue + * the initial value to set at the node. Might be null, in this case no value is set. + * @return + * the node of the newly created element + * @throws com.sun.star.xml.dom.DOMException + */ + public XNode createElement( String _elementName, String _initialNodeValue ) throws DOMException + { + return createElement( m_domInstance, _elementName, _initialNodeValue ); + } + + /** creates a new element in the instance + * + * The element will be inserted immediately below a given XNode. + * + * @param _parentElement + * the node whose child shall be created + * @param _elementName + * the name of the to-be-created element + * @return + * the node of the newly created element + * @throws com.sun.star.xml.dom.DOMException + */ + public XNode createElement( XNode _parentElement, String _elementName ) throws DOMException + { + return createElement( _parentElement, _elementName, null ); + } + + /** creates a new element in the instance + * + * The element will be inserted immediately below a given XNode. + * + * @param _parentElement + * the node whose child shall be created + * @param _elementName + * the name of the to-be-created element + * @param _initialNodeValue + * the initial value to set at the node. Might be null, in this case no value is set. + * @return + * the node of the newly created element + * @throws com.sun.star.xml.dom.DOMException + */ + public XNode createElement( XNode _parentElement, String _elementName, String _initialNodeValue ) throws DOMException + { + XNode node = _parentElement.appendChild( + m_model.getUIHelper().createElement( _parentElement, _elementName ) + ); + if ( _initialNodeValue != null ) + node.setNodeValue( _initialNodeValue ); + return node; + } + + /** creates an attribute for the root node of the instance + * + * @param _attribName + * the name of the to-be-created attribute + * @return + * the DOM node, which has already been inserted into the DOM tree + * @throws com.sun.star.xml.dom.DOMException + */ + public XNode createAttribute( String _attribName ) throws DOMException + { + return createAttribute( m_domInstance, _attribName, null ); + } + + /** creates an attribute for the root node of the instance + * + * @param _attribName + * the name of the to-be-created attribute + * @param _initialNodeValue + * the initial value to set at the node. Might be null, in this case no value is set. + * @return + * the DOM node, which has already been inserted into the DOM tree + * @throws com.sun.star.xml.dom.DOMException + */ + public XNode createAttribute( String _attribName, String _initialNodeValue ) throws DOMException + { + return createAttribute( m_domInstance, _attribName, _initialNodeValue ); + } + + /** creates an attribute for the given node + * + * @param _parentElement + * the element at which the attribute should be created + * @param _attribName + * the name of the to-be-created attribute + * @return + * the DOM node, which has already been inserted into the DOM tree + * @throws com.sun.star.xml.dom.DOMException + */ + public XNode createAttribute( XNode _parentElement, String _attribName ) throws DOMException + { + return createAttribute( _parentElement, _attribName, null ); + } + + /** creates an attribute for the given node + * + * @param _parentElement + * the element at which the attribute should be created + * @param _attribName + * the name of the to-be-created attribute + * @param _initialNodeValue + * the initial value to set at the node. Might be null, in this case no value is set. + * @return + * the DOM node, which has already been inserted into the DOM tree + * @throws com.sun.star.xml.dom.DOMException + */ + public XNode createAttribute( XNode _parentElement, String _attribName, String _initialNodeValue ) throws DOMException + { + XNode node = _parentElement.appendChild( + m_model.getUIHelper().createAttribute( _parentElement, _attribName ) + ); + if ( _initialNodeValue != null ) + node.setNodeValue( _initialNodeValue ); + return node; + } +} |