diff options
Diffstat (limited to 'jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/CopyAllAttributesOperation.java')
-rw-r--r-- | jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/CopyAllAttributesOperation.java | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/CopyAllAttributesOperation.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/CopyAllAttributesOperation.java new file mode 100644 index 000000000..bd64766be --- /dev/null +++ b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/CopyAllAttributesOperation.java @@ -0,0 +1,42 @@ +/******************************************************************************* + * Copyright (c) 2005 Oracle Corporation. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Ian Trimble - initial API and implementation + *******************************************************************************/ +package org.eclipse.jst.pagedesigner.dtmanager.converter.operations; + +import org.w3c.dom.Attr; +import org.w3c.dom.Element; +import org.w3c.dom.NamedNodeMap; + +/** + * ITransformOperation implementation that copies all attributes from the + * source Element instance to the current Element instance. + * + * @author Ian Trimble - Oracle + * API: should this be public or should we restrict so can only be constructed + * through a factory? + */ +public class CopyAllAttributesOperation extends AbstractTransformOperation { + + /* + * (non-Javadoc) + * @see org.eclipse.jst.pagedesigner.dtmanager.converter.operations.internal.provisional.AbstractTransformOperation#transform(org.w3c.dom.Element, org.w3c.dom.Element) + */ + public Element transform(Element srcElement, Element curElement) { + if (srcElement != null && curElement != null) { + NamedNodeMap attributes = srcElement.getAttributes(); + for (int i = 0; i < attributes.getLength(); i++) { + Attr attribute = (Attr)attributes.item(i); + curElement.setAttribute(attribute.getName(), attribute.getValue()); + } + } + return curElement; + } + +} |