
org.enhydra.xml.lazydom.LazyCDATASection Maven / Gradle / Ivy
The newest version!
/*
* Enhydra Java Application Server Project
*
* The contents of this file are subject to the Enhydra Public License
* Version 1.1 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License on
* the Enhydra web site ( http://www.enhydra.org/ ).
*
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific terms governing rights and limitations
* under the License.
*
* The Initial Developer of the Enhydra Application Server is Lutris
* Technologies, Inc. The Enhydra Application Server and portions created
* by Lutris Technologies, Inc. are Copyright Lutris Technologies, Inc.
* All Rights Reserved.
*
* Contributor(s):
*
* $Id: LazyCDATASection.java,v 1.3 2005/01/26 08:29:24 jkjome Exp $
*/
package org.enhydra.xml.lazydom;
import org.enhydra.apache.xerces.dom.CDATASectionImpl;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
/**
* Lazy CDATASection node.
*/
public class LazyCDATASection extends CDATASectionImpl implements LazyNode {
/**
* Constructor.
* @param ownerDoc The document that owns this node.
* @param template If not-null, get the parameters from this template.
* @param data The node data.
*/
protected LazyCDATASection(LazyDocument ownerDoc,
LazyCDATASection template,
String data) {
super(ownerDoc,
(template != null) ? template.getData() : data);
if (template != null) {
fTemplateNode = template;
fNodeId = template.getNodeId();
}
}
//-------------------------------------------------------------------------
// LazyCDATASection specific
//-------------------------------------------------------------------------
/**
* Template for this .
*/
private LazyCDATASection fTemplateNode = null;
/**
* Get the template for this node.
* @see LazyNode#getTemplateNode
*/
public LazyCDATASection getTemplateCDATASection() {
return fTemplateNode;
}
/**
* @see Node#cloneNode
*/
public Node cloneNode(boolean deep) {
// Just creats a new node with the same value
return super.cloneNode(deep);
}
//-------------------------------------------------------------------------
// LazyNode support
//-------------------------------------------------------------------------
/*
* Node id for this element.
*/
private int fNodeId = NULL_NODE_ID;
/**
* Is this a template node?
*/
private boolean fIsTemplateNode;
/*
* @see LazyNode#makeTemplateNode
*/
public void makeTemplateNode(int nodeId) {
fNodeId = nodeId;
fIsTemplateNode = true;
}
/**
* @see LazyNode#getNodeId
*/
public int getNodeId() {
return fNodeId;
}
/**
* @see LazyNode#isTemplateNode
*/
public boolean isTemplateNode() {
return fIsTemplateNode;
}
/**
* @see LazyNode#getTemplateNode
*/
public LazyNode getTemplateNode() {
return fTemplateNode;
}
/**
* @see LazyNode#templateClone
*/
public LazyNode templateClone(Document ownerDocument) {
return new LazyCDATASection((LazyDocument)ownerDocument, this, null);
}
/**
* Set the node value, invalidating the id. All node data is modified
* by this routine.
* @see org.w3c.dom.Node#setNodeValue
*/
public void setNodeValue(String value) {
fNodeId = NULL_NODE_ID;
super.setNodeValue(value);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy