| /******************************************************************************* |
| * Copyright (c) 2001, 2005 IBM Corporation and others. |
| * 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: |
| * IBM Corporation - initial API and implementation |
| * Jens Lukowski/Innoopract - initial renaming/restructuring |
| * |
| *******************************************************************************/ |
| package org.eclipse.wst.xml.core.internal.provisional.document; |
| |
| |
| |
| import org.w3c.dom.Attr; |
| import org.w3c.dom.DOMException; |
| import org.w3c.dom.Element; |
| |
| /** |
| * This interface provides extensions to corresponding DOM interface to enable |
| * functions for source editing and incremental parsing. |
| * |
| * @plannedfor 1.0 |
| * |
| */ |
| public interface IDOMElement extends IDOMNode, Element { |
| |
| /** |
| * Retuns the start offset of the end tag. |
| * |
| * ISSUE: need to sort out need for this |
| * |
| * @return int - the start offset of the end tag. |
| */ |
| int getEndStartOffset(); |
| |
| /** |
| * Returns the end offset of the |
| * |
| * ISSUE: need to sort out need for this |
| * |
| * @return int - the end offset of the start tag. |
| */ |
| int getStartEndOffset(); |
| |
| /** |
| * Returns true if has an end tag. |
| * |
| * In our source-oriented DOM, sometimes Elements are "ended", even |
| * without an explicit end tag in the source. |
| * |
| * @return true if has an end tag. |
| */ |
| boolean hasEndTag(); |
| |
| /** |
| * returns true if has a start tag. |
| * |
| * In our source-oriented DOM, a lone end tag will cause a node to be |
| * created in the tree, unlike well-formed-only DOMs. |
| * |
| * @return true if has a start tag. |
| */ |
| boolean hasStartTag(); |
| |
| /** |
| * returns true if this element is a comment element |
| * |
| * @return true if this element is a comment element |
| */ |
| boolean isCommentTag(); |
| |
| /** |
| * isEmptyTag method |
| * |
| * @return boolean - true if is empty tag, false otherwise |
| */ |
| boolean isEmptyTag(); |
| |
| /** |
| * Returns true if floating end tag. |
| * |
| * @return true if floating end tag. |
| */ |
| boolean isEndTag(); |
| |
| /** |
| * Returns true for "global tag" (basically, without prefix) |
| * |
| * @return true for "global tag" (basically, without prefix) |
| */ |
| boolean isGlobalTag(); |
| |
| /** |
| * Returns true for no start and the end tags in source. |
| * |
| * Provided for some very special cases when, for example, and HTML tag is |
| * assumed in an HTML document that does not have a literal HTML tag. |
| * |
| * ISSUE: check with clients to see if still needed |
| * |
| * @return true or no start and the end tags in source. |
| */ |
| boolean isImplicitTag(); |
| |
| /** |
| * isJSPTag method |
| * |
| * @return boolean |
| * |
| * ISSUE: change to isContainerLanguageTag(String type); |
| */ |
| boolean isJSPTag(); |
| |
| /** |
| * Returns true if start tag is closed. |
| * |
| * @return true if start tag is closed. |
| */ |
| boolean isStartTagClosed(); |
| |
| /** |
| * returns true if is xml tag |
| * |
| * ISSUE: need to spec this better. |
| * |
| * @return true if is xml tag |
| */ |
| boolean isXMLTag(); |
| |
| /** |
| * NOT CLIENT API |
| * |
| * notifyEndTagChanged |
| * |
| */ |
| void notifyEndTagChanged(); |
| |
| /** |
| * NOT CLIENT API |
| * |
| * notifyStartTagChanged |
| * |
| */ |
| void notifyStartTagChanged(); |
| |
| /** |
| * NOT CLIENT API |
| * |
| * Signify that this tag is a comment |
| * |
| * For use only by parsers. |
| * |
| */ |
| void setCommentTag(boolean isCommentTag); |
| |
| /** |
| * NOT CLIENT API |
| * |
| * Signify that this tag is an empty tag |
| * |
| * For use only by parsers |
| */ |
| void setEmptyTag(boolean isEmptyTag); |
| |
| /** |
| * NOT CLIENT API |
| * |
| * Signify that this tag is a JSP tag |
| * |
| * For use only by parsers |
| * |
| * ISSUE: I have had one non-parsing client who has had to use this ... |
| * need to check |
| * |
| */ |
| void setJSPTag(boolean isJSPTag); |
| |
| /** |
| * NOT IMPLEMENTED. Is defined here in preparation for DOM 3. |
| */ |
| public void setIdAttribute(String name, boolean isId); |
| |
| /** |
| * NOT IMPLEMENTED. Is defined here in preparation for DOM 3. |
| */ |
| public void setIdAttributeNS(String namespaceURI, String localName, boolean isId); |
| |
| /** |
| * NOT IMPLEMENTED. Is defined here in preparation for DOM 3. |
| */ |
| public void setIdAttributeNode(Attr idAttr, boolean isId) throws DOMException; |
| |
| } |