blob: b417f569d52ccc24a9bf4a4c78defa25eaad42d6 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2002, 2008 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.contentmodel.modelquery.extension;
import org.eclipse.wst.xml.core.internal.contentmodel.CMNode;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
public abstract class ModelQueryExtension
{
protected static final String[] EMPTY_STRING_ARRAY = {};
protected static final CMNode[] EMPTY_CMNODE_ARRAY = {};
/**
* @param ownerElement - the owner element
* @param namespace - the active namespace
* @param name - the name of an attribute node
* @return valid values for the given attribute
*/
public String[] getAttributeValues(Element ownerElement, String namespace, String name)
{
return EMPTY_STRING_ARRAY;
}
public String[] getElementValues(Node parentNode, String namespace, String name)
{
return EMPTY_STRING_ARRAY;
}
/**
* @param parentNode
* @param namespace
* @param name
* @return whether a child element of the given parentNode is valid given the active namespace
*/
public boolean isApplicableChildElement(Node parentNode, String namespace, String name)
{
return true;
}
/**
* @param parentElement - the parent Element when asking for children, the owner Element when asking for attributes
* @param namespace - the active namespace
* @param includeOptions - ModelQuery.INCLUDE_ATTRIBUTES or ModelQuery.INCLUDE_CHILD_NODES
* @return additional valid CMAttributeDeclarations or CMElementDeclarations
*/
public CMNode[] getAvailableElementContent(Element parentElement, String namespace, int includeOptions)
{
return EMPTY_CMNODE_ARRAY;
}
}