diff options
Diffstat (limited to 'bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/modelhandler/EmbeddedTypeRegistryImpl.java')
-rw-r--r-- | bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/modelhandler/EmbeddedTypeRegistryImpl.java | 132 |
1 files changed, 0 insertions, 132 deletions
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/modelhandler/EmbeddedTypeRegistryImpl.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/modelhandler/EmbeddedTypeRegistryImpl.java deleted file mode 100644 index cfa88ae0ac..0000000000 --- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/modelhandler/EmbeddedTypeRegistryImpl.java +++ /dev/null @@ -1,132 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2001, 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 - * Jens Lukowski/Innoopract - initial renaming/restructuring - * - *******************************************************************************/ -package org.eclipse.wst.sse.core.internal.modelhandler; - -import java.util.HashSet; -import java.util.Iterator; - -import org.eclipse.wst.sse.core.internal.ltk.modelhandler.EmbeddedTypeHandler; -import org.eclipse.wst.sse.core.internal.ltk.modelhandler.IDocumentTypeHandler; - - -/** - * - */ -public class EmbeddedTypeRegistryImpl implements EmbeddedTypeRegistry { - - private static EmbeddedTypeRegistry instance = null; - - public synchronized static EmbeddedTypeRegistry getInstance() { - if (instance == null) { - instance = new EmbeddedTypeRegistryImpl(); - } - return instance; - } - - private HashSet hashSet = null; - private EmbeddedTypeHandler registryDefaultHandler = null; - - /* - * @see ContentTypeRegistry#getTypeFor(String) - */ - /** - * Constructor for ContentTypeRegistryImpl. - */ - private EmbeddedTypeRegistryImpl() { - super(); - hashSet = new HashSet(); - new EmbeddedTypeRegistryReader().readRegistry(hashSet); - } - - /** - * @see ContentTypeRegistry#add(ContentTypeDescription) - */ - void add(IDocumentTypeHandler contentTypeDescription) { - hashSet.add(contentTypeDescription); - } - - private EmbeddedTypeHandler getJSPDefaultEmbeddedType() { - return getTypeFor("text/html"); //$NON-NLS-1$ - } - - /** - * Method getRegistryDefault. We cache the default handler, since can't - * change once plugin descriptors are loaded. - * - * @return EmbeddedTypeHandler - */ - private EmbeddedTypeHandler getRegistryDefault() { - if (registryDefaultHandler == null) { - Iterator it = hashSet.iterator(); - while ((registryDefaultHandler == null) && (it.hasNext())) { // safe - // cast - // since - // 'add' - // requires - // EmbeddedContentTypeDescription - EmbeddedTypeHandler item = (EmbeddedTypeHandler) it.next(); - if ((item != null) && (item.isDefault())) { - registryDefaultHandler = item; - break; - } - } - } - return registryDefaultHandler; - } - - /** - * Finds the contentTypeDescription based on literal id. Its basically a - * "first found first returned". Note the order is fairly unpredictable, - * so non-unique ids would cause problems. - */ - public EmbeddedTypeHandler getTypeFor(String mimeType) { - // Note: the reason we have this precondition is that the - // default is different inside the registry than when called, - // for example, from the JSPLoader. For the JSPLoader, if there - // is no mimetype, the default should be HTML. Here, if there is - // some mimetype, but it is not recognized, we return a default - // for XML. This is required for various voice xml types, etc. - EmbeddedTypeHandler found = null; - if (mimeType == null || mimeType.trim().length() == 0) { - found = getJSPDefaultEmbeddedType(); - } else { - Iterator it = hashSet.iterator(); - while ((found == null) && (it.hasNext())) { // safe cast since - // 'add' requires - // EmbeddedContentTypeDescription - EmbeddedTypeHandler item = (EmbeddedTypeHandler) it.next(); - if ((item != null) && (item.getSupportedMimeTypes().contains(mimeType))) { - found = item; - break; - } - } - // if no exact match, do the "looser" check - if(found == null) { - it = hashSet.iterator(); - while ((found == null) && (it.hasNext())) { - EmbeddedTypeHandler item = (EmbeddedTypeHandler) it.next(); - if ((item != null) && (item.canHandleMimeType(mimeType))) { - found = item; - break; - } - } - } - } - // no matches, use default - if (found == null) { - found = getRegistryDefault(); - } - return found; - } - -} |