blob: 4e37d5c9d477ea67a664795dafec1d6d01f745c5 [file] [log] [blame]
/*******************************************************************************
* 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.ltk.modelhandler;
import java.util.List;
import org.eclipse.wst.sse.core.internal.ltk.parser.JSPCapableParser;
import org.eclipse.wst.sse.core.internal.model.FactoryRegistry;
/**
*/
public interface EmbeddedTypeHandler {
/**
* These AdapterFactories are NOT added to IStructuredModel's
* IAdapterFactory Registry ... they are for use by "JSP Aware
* AdapterFactories" The are added to the "registry" in the
* PageDirectiveAdapter.
*/
List getAdapterFactories();
/**
* Returns the unique identifier for the content type family this
* ContentTypeDescription belongs to.
*/
String getFamilyId();
/**
* Returns a list of mime types (as Strings) this handler is appropriate
* for
*/
List getSupportedMimeTypes();
/**
* If this hander can handle a given mimeType.
*
* This is a looser check than simply checking if a give mimeType
* in the list of supported types, so it should be used with that
* in mind. That is, the supported mimeType list should ideally be
* checked first.
*
* eg. if a mime type ends with "+xml", like voice+xml
* the EmbeddedXML handler should be able to handle it
*
* @return true if this handler thinks can handle the given mimeType
*/
boolean canHandleMimeType(String mimeType);
/**
* This method is to give the EmbeddedContentType an opportunity to add
* factories directly to the IStructuredModel's IAdapterFactory registry.
*/
void initializeFactoryRegistry(FactoryRegistry registry);
/**
* initializeParser Its purpose is to setBlockTags
*/
void initializeParser(JSPCapableParser parser);
boolean isDefault();
EmbeddedTypeHandler newInstance();
void uninitializeFactoryRegistry(FactoryRegistry registry);
void uninitializeParser(JSPCapableParser parser);
}