ExtensionsProvider.java revision 286
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk/*
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk * reserved comment block
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk * DO NOT REMOVE OR ALTER!
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk */
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk/*
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk * Copyright 1999-2004 The Apache Software Foundation.
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk *
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk * Licensed under the Apache License, Version 2.0 (the "License");
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk * you may not use this file except in compliance with the License.
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk * You may obtain a copy of the License at
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk *
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk * http://www.apache.org/licenses/LICENSE-2.0
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk *
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk * Unless required by applicable law or agreed to in writing, software
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk * distributed under the License is distributed on an "AS IS" BASIS,
dff2cc5646d4437ab9e0cb1dcb59da65462a5938jeff.schenk * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk * See the License for the specific language governing permissions and
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk * limitations under the License.
dff2cc5646d4437ab9e0cb1dcb59da65462a5938jeff.schenk */
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk/*
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk * $Id: ExtensionsProvider.java,v 1.1.2.1 2005/08/01 01:30:08 jeffsuttor Exp $
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk */
dff2cc5646d4437ab9e0cb1dcb59da65462a5938jeff.schenkpackage com.sun.org.apache.xpath.internal;
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenkimport java.util.Vector;
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk
dff2cc5646d4437ab9e0cb1dcb59da65462a5938jeff.schenkimport com.sun.org.apache.xpath.internal.functions.FuncExtFunction;
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk/**
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk * Interface that XPath objects can call to obtain access to an
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk * ExtensionsTable.
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk *
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk */
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenkpublic interface ExtensionsProvider
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk{
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk /**
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk * Is the extension function available?
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk */
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk public boolean functionAvailable(String ns, String funcName)
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk throws javax.xml.transform.TransformerException;
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk /**
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk * Is the extension element available?
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk */
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk public boolean elementAvailable(String ns, String elemName)
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk throws javax.xml.transform.TransformerException;
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk /**
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk * Execute the extension function.
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk */
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk public Object extFunction(String ns, String funcName,
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk Vector argVec, Object methodKey)
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk throws javax.xml.transform.TransformerException;
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk /**
dff2cc5646d4437ab9e0cb1dcb59da65462a5938jeff.schenk * Execute the extension function.
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk */
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk public Object extFunction(FuncExtFunction extFunction,
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk Vector argVec)
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk throws javax.xml.transform.TransformerException;
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk}
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk