| /* |
| * Copyright (C) 2007 The Android Open Source Project |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| #ifndef __CHARACTER_IMPL__
|
| #define __CHARACTER_IMPL__
|
|
|
| #include "NodeImpl.h"
|
| #include "DOMString.h"
|
|
|
| class CharacterDataImpl : public NodeImpl
|
| {
|
| private:
|
| DOMString* charData;
|
| public:
|
|
|
| /**
|
| * Default Constructor for CharacterDataImpl.
|
| */
|
| CharacterDataImpl();
|
|
|
| /**
|
| * Constructor for CharacterDataImpl.
|
| * @param data The specify character data.
|
| */
|
| CharacterDataImpl(const DOMString* data);
|
|
|
| /**
|
| * The character data of the node that implements this interface. The DOM
|
| * implementation may not put arbitrary limits on the amount of data
|
| * that may be stored in a <code>CharacterData</code> node. However,
|
| * implementation limits may mean that the entirety of a node's data may
|
| * not fit into a single <code>DOMString</code>. In such cases, the user
|
| * may call <code>substringData</code> to retrieve the data in
|
| * appropriately sized pieces.
|
| * @exception DOMException
|
| * NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly.
|
| * @exception DOMException
|
| * DOMSTRING_SIZE_ERR: Raised when it would return more characters than
|
| * fit in a <code>DOMString</code> variable on the implementation
|
| * platform.
|
| * @return the character data.
|
| */
|
| const DOMString* getData() const throw (DOMException);
|
|
|
| /**
|
| * The character data of the node that implements this interface. The DOM
|
| * implementation may not put arbitrary limits on the amount of data
|
| * that may be stored in a <code>CharacterData</code> node. However,
|
| * implementation limits may mean that the entirety of a node's data may
|
| * not fit into a single <code>DOMString</code>. In such cases, the user
|
| * may call <code>substringData</code> to retrieve the data in
|
| * appropriately sized pieces.
|
| * @param data the specify character data.
|
| * @exception DOMException
|
| * NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly.
|
| * @exception DOMException
|
| * DOMSTRING_SIZE_ERR: Raised when it would return more characters than
|
| * fit in a <code>DOMString</code> variable on the implementation
|
| * platform.
|
| */
|
| void setData(const DOMString* data) throw (DOMException);
|
|
|
| /**
|
| * The number of 16-bit units that are available through <code>data</code>
|
| * and the <code>substringData</code> method below. This may have the
|
| * value zero, i.e., <code>CharacterData</code> nodes may be empty.
|
| * @return the size of characters data.
|
| */
|
| int getLength() const;
|
|
|
| /**
|
| * Append the string to the end of the character data of the node. Upon
|
| * success, <code>data</code> provides access to the concatenation of
|
| * <code>data</code> and the <code>DOMString</code> specified.
|
| * @param arg The <code>DOMString</code> to append.
|
| * @exception DOMException
|
| * NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
|
| */
|
| void appendData(const DOMString* arg) throw(DOMException);
|
|
|
| /** Override getNodeValue() method in NodeImpl.h.*/
|
| const DOMString* getNodeValue() const throw(DOMException);
|
|
|
| /** Override setNodeValue() method in NodeImpl.h */
|
| void setNodeValue(DOMString* nodeValue) throw(DOMException);
|
|
|
| ~CharacterDataImpl();
|
| };
|
| #endif /*__CHARACTER_IMPL__*/
|
|
|