1 /* 2 * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. 3 * @LastModified: Oct 2017 4 */ 5 /* 6 * Licensed to the Apache Software Foundation (ASF) under one or more 7 * contributor license agreements. See the NOTICE file distributed with 8 * this work for additional information regarding copyright ownership. 9 * The ASF licenses this file to You under the Apache License, Version 2.0 10 * (the "License"); you may not use this file except in compliance with 11 * the License. You may obtain a copy of the License at 12 * 13 * http://www.apache.org/licenses/LICENSE-2.0 14 * 15 * Unless required by applicable law or agreed to in writing, software 16 * distributed under the License is distributed on an "AS IS" BASIS, 17 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 * See the License for the specific language governing permissions and 19 * limitations under the License. 20 */ 21 22 package com.sun.org.apache.xpath.internal; 23 24 import com.sun.org.apache.xpath.internal.functions.FuncExtFunction; 25 import com.sun.org.apache.xpath.internal.objects.XObject; 26 import java.util.List; 27 28 /** 29 * Interface that XPath objects can call to obtain access to an 30 * ExtensionsTable. 31 * 32 */ 33 public interface ExtensionsProvider 34 { 35 /** 36 * Is the extension function available? 37 */ 38 39 public boolean functionAvailable(String ns, String funcName) 40 throws javax.xml.transform.TransformerException; 41 42 /** 43 * Is the extension element available? 44 */ 45 public boolean elementAvailable(String ns, String elemName) 46 throws javax.xml.transform.TransformerException; 47 48 /** 49 * Execute the extension function. 50 */ 51 public Object extFunction(String ns, String funcName, List<XObject> argVec, 52 Object methodKey) 53 throws javax.xml.transform.TransformerException; 54 55 /** 56 * Execute the extension function. 57 */ 58 public Object extFunction(FuncExtFunction extFunction, List<XObject> argVec) 59 throws javax.xml.transform.TransformerException; 60 }