KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > derby > iapi > sql > LanguageFactory


1 /*
2
3    Derby - Class org.apache.derby.iapi.sql.LanguageFactory
4
5    Licensed to the Apache Software Foundation (ASF) under one or more
6    contributor license agreements. See the NOTICE file distributed with
7    this work for additional information regarding copyright ownership.
8    The ASF licenses this file to you under the Apache License, Version 2.0
9    (the "License"); you may not use this file except in compliance with
10    the License. You may obtain a copy of the License at
11
12       http://www.apache.org/licenses/LICENSE-2.0
13
14    Unless required by applicable law or agreed to in writing, software
15    distributed under the License is distributed on an "AS IS" BASIS,
16    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17    See the License for the specific language governing permissions and
18    limitations under the License.
19
20  */

21
22 package org.apache.derby.iapi.sql;
23
24 import org.apache.derby.iapi.error.StandardException;
25 import org.apache.derby.iapi.services.loader.ClassInspector;
26
27 /**
28  * Factory interface for the Language.Interface protocol.
29  * This is used via the Database API by users, and is presented
30  * as a System Module (not a service module). That could change,
31  * but for now this is valid for any database.
32  *
33  * @author Jeff Lichtman
34  */

35 public interface LanguageFactory
36 {
37     /**
38         Used to locate this factory by the Monitor basic service.
39         There needs to be a language factory per database.
40      */

41     String JavaDoc MODULE = "org.apache.derby.iapi.sql.LanguageFactory";
42
43     /**
44      * Get a ParameterValueSet
45      *
46      * @param numParms The number of parameters in the
47      * ParameterValueSet
48      * @param hasReturnParam true if this parameter set
49      * has a return parameter. The return parameter
50      * is always the 1st parameter in the list. It
51      * is due to a callableStatement like this: <i>
52      * ? = CALL myMethod()</i>
53      *
54      * @return A new ParameterValueSet with the given number of parms
55      */

56     ParameterValueSet newParameterValueSet(ClassInspector ci, int numParms, boolean hasReturnParam);
57
58     /**
59      * Get a new result description from the input result
60      * description. Picks only the columns in the column
61      * array from the inputResultDescription.
62      *
63      * @param inputResultDescription the input rd
64      * @param theCols non null array of ints
65      *
66      * @return ResultDescription the rd
67      */

68     public ResultDescription getResultDescription
69     (
70         ResultDescription inputResultDescription,
71         int[] theCols
72     );
73
74     /**
75      * Get a new result description
76      *
77      * @param cols an array of col descriptors
78      * @param type the statement type
79      *
80      * @return ResultDescription the rd
81      */

82     public ResultDescription getResultDescription
83     (
84         ResultColumnDescriptor[] cols,
85         String JavaDoc type
86     );
87 }
88
Popular Tags