diff options
Diffstat (limited to 'bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/commentelement/impl/CommentElementConfiguration.java')
-rw-r--r-- | bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/commentelement/impl/CommentElementConfiguration.java | 237 |
1 files changed, 0 insertions, 237 deletions
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/commentelement/impl/CommentElementConfiguration.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/commentelement/impl/CommentElementConfiguration.java deleted file mode 100644 index 78d900d615..0000000000 --- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/commentelement/impl/CommentElementConfiguration.java +++ /dev/null @@ -1,237 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2001, 2010 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.commentelement.impl; - - - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import org.eclipse.core.runtime.IConfigurationElement; -import org.eclipse.core.runtime.InvalidRegistryObjectException; -import org.eclipse.wst.xml.core.internal.Logger; -import org.eclipse.wst.xml.core.internal.commentelement.CommentElementAdapter; -import org.eclipse.wst.xml.core.internal.commentelement.CommentElementHandler; -import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement; -import org.w3c.dom.Document; -import org.w3c.dom.Element; - - -/** - */ -public class CommentElementConfiguration { - private Map fAttributes = null; - private boolean fCustom; - private IConfigurationElement fElement = null; - - private boolean fEmpty; - private CommentElementHandler fHandler = null; - private String fID = null; - private boolean fJSPComment; - private String[] fPrefix = null; - private boolean fXMLComment; - - CommentElementConfiguration(IConfigurationElement element) { - super(); - fElement = element; - fCustom = "handler-custom".equalsIgnoreCase(element.getName()); //$NON-NLS-1$ - - fillAttributes(element); - - fXMLComment = fJSPComment = false; - String commentType = getProperty("commenttype"); //$NON-NLS-1$ - if ("xml".equalsIgnoreCase(commentType)) { //$NON-NLS-1$ - fXMLComment = true; - } else if ("jsp".equalsIgnoreCase(commentType)) { //$NON-NLS-1$ - fJSPComment = true; - } else if ("both".equalsIgnoreCase(commentType)) { //$NON-NLS-1$ - fXMLComment = fJSPComment = true; - } - String empty = getProperty("isempty"); //$NON-NLS-1$ - fEmpty = Boolean.valueOf(empty).booleanValue(); //$NON-NLS-1$ - } - - public boolean acceptJSPComment() { - return fJSPComment; - } - - public boolean acceptXMLComment() { - return fXMLComment; - } - - public Element createElement(Document document, String data, boolean isJSPTag) { - IDOMElement element = (IDOMElement) getHandler().createElement(document, data, isJSPTag); - if (element != null) { - CommentElementAdapter adapter = (CommentElementAdapter) element.getAdapterFor(CommentElementAdapter.class); - if (adapter != null) { - adapter.setConfiguration(this); - } - } - return element; - } - - private void fillAttributes(IConfigurationElement element) { - if (fAttributes == null) { - fAttributes = new HashMap(); - } else { - fAttributes.clear(); - } - String[] names = element.getAttributeNames(); - if (names == null) { - return; - } - int length = names.length; - for (int i = 0; i < length; i++) { - String name = names[i]; - fAttributes.put(name.toLowerCase(), element.getAttribute(name)); - } - } - - public CommentElementHandler getHandler() { - if (fHandler == null) { - if (fElement != null) { - try { - if (isCustom()) { - fHandler = (CommentElementHandler) fElement.createExecutableExtension("class"); //$NON-NLS-1$ - } else { - String elementName = getProperty("elementname"); //$NON-NLS-1$ - if (elementName != null) { - fHandler = new BasicCommentElementHandler(elementName, fEmpty); - } - } - // ((AbstractCommentElementHandler)fHandler).setElementPrefix(fElement.getAttribute("prefix")); - } catch (Exception e) { - // catch and log (and ignore) ANY exception created - // by executable extension. - Logger.logException(e); - fHandler = null; - } - } - if (fHandler == null) { - fHandler = new CommentElementHandler() { - public Element createElement(Document document, String data, boolean isJSPTag) { - return null; - } - - public String generateEndTagContent(IDOMElement element) { - return null; - } - - public String generateStartTagContent(IDOMElement element) { - return null; - } - -// removed in RC2, ro removed "unused" error/warning -// public String getElementPrefix() { -// return null; -// } - - public boolean isCommentElement(IDOMElement element) { - return false; - } - - public boolean isEmpty() { - return false; - } - }; - } - } - return fHandler; - } - - public String getHandlerID() { - if (fID == null) { - fID = getProperty("id"); //$NON-NLS-1$ - if (fID == null) { - if (isCustom()) { - fID = getProperty("class"); //$NON-NLS-1$ - } else { - StringBuffer buf = new StringBuffer(); - buf.append(fElement.getDeclaringExtension().getNamespace()); - buf.append('.'); - buf.append(getProperty("elementname")); //$NON-NLS-1$ - fID = buf.toString(); - } - } - } - return fID; - } - - - public String[] getPrefix() { - if (fPrefix == null) { - if (fElement != null) { - if (isCustom()) { // custom - IConfigurationElement[] prefixes = fElement.getChildren("startwith"); //$NON-NLS-1$ - if (prefixes != null) { - List prefixValues = new ArrayList(prefixes.length); - for (int i = 0; i < prefixes.length; i++) { - String prefix = prefixes[i].getAttribute("prefix"); //$NON-NLS-1$ - if (prefix != null) { - prefixValues.add(prefix); - } - else { - try { - Logger.log(Logger.WARNING, "misconfigured comment element in" + fElement.getContributor().getName(), new IllegalArgumentException("startwith")); //$NON-NLS-1$ //$NON-NLS-2$ - } - catch (InvalidRegistryObjectException e) { - // stale bundle? - } - } - } - if (!prefixValues.isEmpty()) { - fPrefix = (String[]) prefixValues.toArray(new String[prefixValues.size()]); - } - } - } else { // basic - String name = getProperty("elementname"); //$NON-NLS-1$ - if (name != null) { - if (isEmpty()) { - fPrefix = new String[1]; - fPrefix[0] = name; - } else { - fPrefix = new String[2]; - fPrefix[0] = name; - fPrefix[1] = '/' + name; - } - } - } - } - } - if (fPrefix == null) { - fPrefix = new String[0]; - } - return fPrefix; - } - - public String getProperty(String name) { - return (fAttributes != null) ? (String) fAttributes.get(name) : null; - } - - private boolean isCustom() { - return fCustom; - } - - private boolean isEmpty() { - return fEmpty; - } - - void setupCommentElement(IDOMElement element) { - element.setCommentTag(true); - CommentElementAdapter adapter = new CommentElementAdapter(false, fHandler); - adapter.setConfiguration(this); - element.addAdapter(adapter); - } -} |