Skip to main content

This CGIT instance is deprecated, and repositories have been moved to Gitlab or Github. See the repository descriptions for specific locations.

summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/PropertyProviderFactory.java')
-rw-r--r--bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/PropertyProviderFactory.java364
1 files changed, 0 insertions, 364 deletions
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/PropertyProviderFactory.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/PropertyProviderFactory.java
deleted file mode 100644
index 2c7b1b939c..0000000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/PropertyProviderFactory.java
+++ /dev/null
@@ -1,364 +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.html.core.internal.contentmodel.chtml;
-
-import java.util.Hashtable;
-
-import org.eclipse.wst.html.core.internal.HTMLCorePlugin;
-import org.eclipse.wst.html.core.internal.contentmodel.HTMLElementDeclaration;
-import org.eclipse.wst.html.core.internal.contentmodel.HTMLPropertyDeclaration;
-import org.eclipse.wst.html.core.internal.provisional.HTMLCMProperties;
-import org.eclipse.wst.xml.core.internal.contentmodel.annotation.AnnotationMap;
-
-/**
- * The factory object of PropertyProvider.
- */
-final class PropertyProviderFactory {
-
-
- /**
- * DefaultProvider is intended to be used for unknown properties.
- * It always returns null value for any properties.
- */
- class DefaultProvider implements PropertyProvider {
- public DefaultProvider() {
- super();
- }
-
- public boolean supports(HTMLElementDeclaration edecl) {
- return false;
- }
-
- public Object get(HTMLElementDeclaration edecl) {
- return null;
- }
- }
-
- abstract class AbstractElementPropertyProvider implements PropertyProvider {
- protected AbstractElementPropertyProvider() {
- super();
- }
-
- public boolean supports(HTMLElementDeclaration edecl) {
- return (edecl != null);
- }
-
- public Object get(HTMLElementDeclaration edecl) {
- if (!(edecl instanceof HTMLPropertyDeclaration))
- return null;
- return getElementProperty((HTMLPropertyDeclaration)edecl);
- }
-
- abstract protected Object getElementProperty(HTMLPropertyDeclaration decl);
- }
-
- /*
- * "tagInfo"
- * gets documentation for the element
- */
- class PPTagInfo extends AbstractElementPropertyProvider {
- private final static String htmlAnnotationLoc = "data/htmref.xml"; //$NON-NLS-1$
- protected AnnotationMap fAnnotationMap = null;
-
- public PPTagInfo() {
- super();
- }
-
- /**
- * Gets the annotationMap.
- * @return Returns a AnnotationMap
- */
- protected AnnotationMap getAnnotationMap() {
- if (fAnnotationMap == null) {
- fAnnotationMap = new AnnotationMap();
- try {
- fAnnotationMap.load(htmlAnnotationLoc, HTMLCorePlugin.getDefault().getBundle().getSymbolicName());
- }
- catch (Exception e) {
- // no annotation available
- }
- }
- return fAnnotationMap;
- }
-
- protected Object getElementProperty(HTMLPropertyDeclaration decl) {
- if (decl instanceof HTMLElementDeclaration) {
- return getAnnotationMap().getProperty(((HTMLElementDeclaration)decl).getElementName(), "tagInfo"); //$NON-NLS-1$
- } else {
- return null;
- }
- }
- }
-
- /*
- * "shouldKeepSpace"
- */
- class PPShouldKeepSpace extends AbstractElementPropertyProvider {
- public PPShouldKeepSpace() {
- super();
- }
-
- protected Object getElementProperty(HTMLPropertyDeclaration decl) {
- return new Boolean(decl.shouldKeepSpaces());
- }
- }
-
- /*
- * "shouldIndentChildSource"
- */
- class PPShouldIndentChildSource extends AbstractElementPropertyProvider {
- public PPShouldIndentChildSource() {
- super();
- }
-
- protected Object getElementProperty(HTMLPropertyDeclaration decl) {
- return new Boolean(decl.shouldIndentChildSource());
- }
- }
-
- /*
- * "terminators"
- */
- class PPTerminators extends AbstractElementPropertyProvider {
- public PPTerminators() {
- super();
- }
-
- protected Object getElementProperty(HTMLPropertyDeclaration decl) {
- if (decl == null)
- return null;
- if (! (decl instanceof HTMLElemDeclImpl)) return null;
- return ((HTMLElemDeclImpl)decl).getTerminators();
- }
- }
-
- /*
- * "prohibitedAncestors"
- */
- class PPProhibitedAncestors extends AbstractElementPropertyProvider {
- public PPProhibitedAncestors() {
- super();
- }
-
- protected Object getElementProperty(HTMLPropertyDeclaration decl) {
- return decl.getProhibitedAncestors();
- }
- }
-
- /*
- * "isJSP"
- */
- class PPIsJSP extends AbstractElementPropertyProvider {
- public PPIsJSP() {
- super();
- }
-
- protected Object getElementProperty(HTMLPropertyDeclaration decl) {
- return new Boolean(decl.isJSP());
- }
- }
-
- /*
- * "isXHTML"
- * HTMLElementDeclaration itself never represent any XHTML element declaration.
- * So, this property must be always false.
- */
- class PPIsXHTML extends AbstractElementPropertyProvider {
- public PPIsXHTML() {
- super();
- }
-
- protected Object getElementProperty(HTMLPropertyDeclaration decl) {
- return new Boolean(false);
- }
- }
-
- /*
- * "isSSI"
- * Each declaration class for SSI elements must provide this property itself,
- * and then return true. Other declaration must always return false.
- */
- class PPIsSSI extends AbstractElementPropertyProvider {
- public PPIsSSI() {
- super();
- }
-
- protected Object getElementProperty(HTMLPropertyDeclaration decl) {
- return new Boolean(false);
- }
- }
-
- /*
- * "lineBreakHint"
- */
- class PPLineBreakHint extends AbstractElementPropertyProvider {
- public PPLineBreakHint() {
- super();
- }
-
- protected Object getElementProperty(HTMLPropertyDeclaration decl) {
- String hint = HTMLCMProperties.Values.BREAK_NONE;
- switch (decl.getLineBreakHint()) {
- case HTMLElementDeclaration.BREAK_AFTER_START :
- hint = HTMLCMProperties.Values.BREAK_AFTER_START;
- break;
- case HTMLElementDeclaration.BREAK_BEFORE_START_AND_AFTER_END :
- hint = HTMLCMProperties.Values.BREAK_BEFORE_START_AND_AFTER_END;
- break;
- case HTMLElementDeclaration.BREAK_NONE :
- // nothing to do
- default :
- break;
- }
- return hint;
- }
- }
-
- /*
- * "layoutType"
- */
- class PPLayoutType extends AbstractElementPropertyProvider {
- public PPLayoutType() {
- super();
- }
-
- protected Object getElementProperty(HTMLPropertyDeclaration decl) {
- String type = HTMLCMProperties.Values.LAYOUT_NONE;
- switch (decl.getLayoutType()) {
- case HTMLElementDeclaration.LAYOUT_BLOCK :
- type = HTMLCMProperties.Values.LAYOUT_BLOCK;
- break;
- case HTMLElementDeclaration.LAYOUT_BREAK :
- type = HTMLCMProperties.Values.LAYOUT_BREAK;
- break;
- case HTMLElementDeclaration.LAYOUT_HIDDEN :
- type = HTMLCMProperties.Values.LAYOUT_HIDDEN;
- break;
- case HTMLElementDeclaration.LAYOUT_OBJECT :
- type = HTMLCMProperties.Values.LAYOUT_OBJECT;
- break;
- case HTMLElementDeclaration.LAYOUT_WRAP :
- type = HTMLCMProperties.Values.LAYOUT_WRAP;
- break;
- case HTMLElementDeclaration.LAYOUT_NONE :
- // nothing to do.
- default :
- break;
- }
- return type;
- }
- }
-
- /*
- * "omitType"
- */
- class PPOmitType extends AbstractElementPropertyProvider {
- public PPOmitType() {
- super();
- }
-
- protected Object getElementProperty(HTMLPropertyDeclaration decl) {
- String type = HTMLCMProperties.Values.OMIT_NONE;
- switch (decl.getOmitType()) {
- case HTMLElementDeclaration.OMIT_BOTH :
- type = HTMLCMProperties.Values.OMIT_BOTH;
- break;
- case HTMLElementDeclaration.OMIT_END :
- type = HTMLCMProperties.Values.OMIT_END;
- break;
- case HTMLElementDeclaration.OMIT_END_DEFAULT :
- type = HTMLCMProperties.Values.OMIT_END_DEFAULT;
- break;
- case HTMLElementDeclaration.OMIT_END_MUST :
- type = HTMLCMProperties.Values.OMIT_END_MUST;
- break;
- case HTMLElementDeclaration.OMIT_NONE :
- // nothing to do.
- default :
- break;
- }
- return type;
- }
- }
-
- /*
- * "inclusion"
- */
- class PPInclusion extends AbstractElementPropertyProvider {
- public PPInclusion() {
- super();
- }
-
- protected Object getElementProperty(HTMLPropertyDeclaration decl) {
- return decl.getInclusion();
- }
- }
-
- public static PropertyProvider getProvider(String propName) {
- PropertyProviderFactory factory = getInstance();
- PropertyProvider pp = (PropertyProvider) factory.registry.get(propName);
- if (pp != null)
- return pp;
-
- pp = factory.create(propName);
- if (pp == null)
- return factory.defaultProvider;
-
- factory.registry.put(propName, pp);
- return pp;
- }
-
- private static PropertyProviderFactory instance = null;
-
- private synchronized static PropertyProviderFactory getInstance() {
- if (instance != null)
- return instance;
- instance = new PropertyProviderFactory();
- return instance;
- }
-
- private Hashtable registry = new Hashtable();
- private PropertyProvider defaultProvider = new DefaultProvider();
-
- private PropertyProviderFactory() {
- super();
- }
-
- private PropertyProvider create(String propName) {
- PropertyProvider pp = null;
- if (propName.equals(HTMLCMProperties.IS_JSP))
- pp = new PPIsJSP();
- else if (propName.equals(HTMLCMProperties.IS_XHTML))
- pp = new PPIsXHTML();
- else if (propName.equals(HTMLCMProperties.IS_SSI))
- pp = new PPIsSSI();
- else if (propName.equals(HTMLCMProperties.LAYOUT_TYPE))
- pp = new PPLayoutType();
- else if (propName.equals(HTMLCMProperties.LINE_BREAK_HINT))
- pp = new PPLineBreakHint();
- else if (propName.equals(HTMLCMProperties.PROHIBITED_ANCESTORS))
- pp = new PPProhibitedAncestors();
- else if (propName.equals(HTMLCMProperties.SHOULD_KEEP_SPACE))
- pp = new PPShouldKeepSpace();
- else if (propName.equals(HTMLCMProperties.SHOULD_INDENT_CHILD_SOURCE))
- pp = new PPShouldIndentChildSource();
- else if (propName.equals(HTMLCMProperties.TERMINATORS))
- pp = new PPTerminators();
- else if (propName.equals(HTMLCMProperties.TAGINFO))
- pp = new PPTagInfo();
- else if (propName.equals(HTMLCMProperties.OMIT_TYPE))
- pp = new PPOmitType();
- else if (propName.equals(HTMLCMProperties.INCLUSION))
- pp = new PPInclusion();
-
- return pp;
- }
-} \ No newline at end of file

Back to the top