diff options
Diffstat (limited to 'bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodelimpl/NodePool.java')
-rw-r--r-- | bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodelimpl/NodePool.java | 171 |
1 files changed, 0 insertions, 171 deletions
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodelimpl/NodePool.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodelimpl/NodePool.java deleted file mode 100644 index 7d5dd2f2ec..0000000000 --- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodelimpl/NodePool.java +++ /dev/null @@ -1,171 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004 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 - *******************************************************************************/ -package org.eclipse.wst.css.core.internal.metamodelimpl; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -import org.eclipse.wst.css.core.internal.Logger; - - - -class NodePool { - - NodePool() { - super(); - initializeClassNameTable(); - } - - CSSMMNodeImpl getNode(String tagName, String nodeName) { - if (nodeName != null) { - nodeName = nodeName.toLowerCase(); - } - String className = (String) classNames.get(tagName); - if (className == null) { - return null; - } - Map nodes = (Map) nodeRegistry.get(className); - if (nodes == null) { - nodes = new HashMap(); - nodeRegistry.put(className, nodes); - } - CSSMMNodeImpl node = (CSSMMNodeImpl) nodes.get(nodeName); - if (node == null) { - node = createNewNode(className); - nodes.put(nodeName, node); - } - return node; - } - - private CSSMMNodeImpl createNewNode(String className) { - CSSMMNodeImpl node = null; - if (className != null) { - className = getPackageName() + "." + className; //$NON-NLS-1$ - try { - node = (CSSMMNodeImpl) Class.forName(className).newInstance(); - } - catch (IllegalAccessException e) { - Logger.logException(e); - } - catch (InstantiationException e) { - Logger.logException(e); - } - catch (ClassNotFoundException e) { - Logger.logException(e); - } - } - // System.out.println(className + " is Created"); - return node; - } - - /** - * Error check function: find nodes that are not referred by any node - */ - Iterator getStrayNodes() { - List strayNodes = new ArrayList(); - Iterator iMap = nodeRegistry.values().iterator(); - while (iMap.hasNext()) { - Map nodes = (Map) iMap.next(); - Iterator iNode = nodes.values().iterator(); - while (iNode.hasNext()) { - CSSMMNodeImpl node = (CSSMMNodeImpl) iNode.next(); - if (node.getReferenceCount() == 0) { - strayNodes.add(node); - } - } - } - return strayNodes.iterator(); - } - - // This class must not be inner class :) - private String getPackageName() { - if (fPackageName == null) { - String className = getClass().getName(); - int pos = className.lastIndexOf('.'); - if (0 < pos) { - fPackageName = className.substring(0, pos); - } - else { - fPackageName = ""; //$NON-NLS-1$ - } - } - return fPackageName; - } - - void initializeClassNameTable() { - classNames.put(ProfileKeywords.STYLESHEET_DEF, CLASS_STYLE_SHEET); - classNames.put(ProfileKeywords.CHARSET_RULE_DEF, CLASS_CHARSET_RULE); - classNames.put(ProfileKeywords.CHARSET_RULE, CLASS_CHARSET_RULE); - classNames.put(ProfileKeywords.FONTFACE_RULE_DEF, CLASS_FONT_FACE_RULE); - classNames.put(ProfileKeywords.FONTFACE_RULE, CLASS_FONT_FACE_RULE); - classNames.put(ProfileKeywords.IMPORT_RULE_DEF, CLASS_IMPORT_RULE); - classNames.put(ProfileKeywords.IMPORT_RULE, CLASS_IMPORT_RULE); - classNames.put(ProfileKeywords.MEDIA_RULE_DEF, CLASS_MEDIA_RULE); - classNames.put(ProfileKeywords.MEDIA_RULE, CLASS_MEDIA_RULE); - classNames.put(ProfileKeywords.PAGE_RULE_DEF, CLASS_PAGE_RULE); - classNames.put(ProfileKeywords.PAGE_RULE, CLASS_PAGE_RULE); - classNames.put(ProfileKeywords.STYLE_RULE_DEF, CLASS_STYLE_RULE); - classNames.put(ProfileKeywords.STYLE_RULE, CLASS_STYLE_RULE); - classNames.put(ProfileKeywords.PROPERTY_DEF, CLASS_PROPERTY); - classNames.put(ProfileKeywords.PROPERTY, CLASS_PROPERTY); - classNames.put(ProfileKeywords.DESCRIPTOR_DEF, CLASS_DESCRIPTOR); - classNames.put(ProfileKeywords.DESCRIPTOR, CLASS_DESCRIPTOR); - classNames.put(ProfileKeywords.CONTAINER_DEF, CLASS_CONTAINER); - classNames.put(ProfileKeywords.CONTAINER, CLASS_CONTAINER); - classNames.put(ProfileKeywords.NUMBER_DEF, CLASS_NUMBER); - classNames.put(ProfileKeywords.NUMBER, CLASS_NUMBER); - classNames.put(ProfileKeywords.KEYWORD_DEF, CLASS_KEYWORD); - classNames.put(ProfileKeywords.KEYWORD, CLASS_KEYWORD); - classNames.put(ProfileKeywords.UNIT, CLASS_UNIT); - classNames.put(ProfileKeywords.UNIT_DEF, CLASS_UNIT); - classNames.put(ProfileKeywords.FUNCTION, CLASS_FUNCTION); - classNames.put(ProfileKeywords.FUNCTION_DEF, CLASS_FUNCTION); - classNames.put(ProfileKeywords.SELECTOR_EXPRESSION, CLASS_SELECTOR_EXPRESSION); - classNames.put(ProfileKeywords.PSEUDO_ELEMENT, CLASS_PSEUDO_ELEMENT); - classNames.put(ProfileKeywords.PSEUDO_ELEMENT_DEF, CLASS_PSEUDO_ELEMENT); - classNames.put(ProfileKeywords.PSEUDO_CLASS, CLASS_PSEUDO_CLASS); - classNames.put(ProfileKeywords.PSEUDO_CLASS_DEF, CLASS_PSEUDO_CLASS); - classNames.put(ProfileKeywords.STRING, CLASS_STRING); - classNames.put(ProfileKeywords.CATEGORY_DEF, CLASS_CATEGORY); - } - - - private String fPackageName; - /* - * Conversion Tables nodeRegistry : class name -> hash of node instances - * classNames : Profile Tag name -> java class name - */ - private Map nodeRegistry = new HashMap(); - private Map classNames = new HashMap(); - - private final static String CLASS_STYLE_SHEET = "CSSMMStyleSheetImpl"; //$NON-NLS-1$ - private final static String CLASS_CHARSET_RULE = "CSSMMCharsetRuleImpl"; //$NON-NLS-1$ - private final static String CLASS_FONT_FACE_RULE = "CSSMMFontFaceRuleImpl"; //$NON-NLS-1$ - private final static String CLASS_IMPORT_RULE = "CSSMMImportRuleImpl"; //$NON-NLS-1$ - private final static String CLASS_MEDIA_RULE = "CSSMMMediaRuleImpl"; //$NON-NLS-1$ - private final static String CLASS_PAGE_RULE = "CSSMMPageRuleImpl"; //$NON-NLS-1$ - private final static String CLASS_STYLE_RULE = "CSSMMStyleRuleImpl"; //$NON-NLS-1$ - private final static String CLASS_PROPERTY = "CSSMMPropertyImpl"; //$NON-NLS-1$ - private final static String CLASS_DESCRIPTOR = "CSSMMDescriptorImpl"; //$NON-NLS-1$ - private final static String CLASS_CONTAINER = "CSSMMContainerImpl"; //$NON-NLS-1$ - private final static String CLASS_NUMBER = "CSSMMNumberImpl"; //$NON-NLS-1$ - private final static String CLASS_KEYWORD = "CSSMMKeywordImpl"; //$NON-NLS-1$ - private final static String CLASS_UNIT = "CSSMMUnitImpl"; //$NON-NLS-1$ - private final static String CLASS_FUNCTION = "CSSMMFunctionImpl"; //$NON-NLS-1$ - private final static String CLASS_STRING = "CSSMMStringImpl"; //$NON-NLS-1$ - private final static String CLASS_CATEGORY = "CSSMMCategoryImpl"; //$NON-NLS-1$ - private final static String CLASS_SELECTOR_EXPRESSION = "CSSMMSelectorExpressionImpl"; //$NON-NLS-1$ - private final static String CLASS_PSEUDO_CLASS = "CSSMMPseudoClassImpl"; //$NON-NLS-1$ - private final static String CLASS_PSEUDO_ELEMENT = "CSSMMPseudoElementImpl"; //$NON-NLS-1$ -}
\ No newline at end of file |