KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > sun > org > apache > xalan > internal > xsltc > compiler > util > FilterGenerator


1 /*
2  * Copyright 2001-2004 The Apache Software Foundation.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */

16 /*
17  * $Id: FilterGenerator.java,v 1.5 2004/02/16 22:26:44 minchau Exp $
18  */

19
20 package com.sun.org.apache.xalan.internal.xsltc.compiler.util;
21
22 import com.sun.org.apache.bcel.internal.generic.ALOAD;
23 import com.sun.org.apache.bcel.internal.generic.Instruction;
24 import com.sun.org.apache.xalan.internal.xsltc.compiler.Stylesheet;
25
26 /**
27  * This class implements auxliary classes needed to compile
28  * filters (predicates). These classes defined a single method
29  * of type <tt>TestGenerator</tt>.
30  * @author Jacek Ambroziak
31  * @author Santiago Pericas-Geertsen
32  */

33 public final class FilterGenerator extends ClassGenerator {
34     private static int TRANSLET_INDEX = 5; // translet
35
private final Instruction _aloadTranslet;
36
37     public FilterGenerator(String JavaDoc className, String JavaDoc superClassName,
38                String JavaDoc fileName,
39                int accessFlags, String JavaDoc[] interfaces,
40                Stylesheet stylesheet) {
41     super(className, superClassName, fileName,
42           accessFlags, interfaces, stylesheet);
43     
44     _aloadTranslet = new ALOAD(TRANSLET_INDEX);
45     }
46
47     /**
48      * The index of the translet pointer within the execution of
49      * the test method.
50      */

51     public final Instruction loadTranslet() {
52     return _aloadTranslet;
53     }
54     
55     /**
56      * Returns <tt>true</tt> since this class is external to the
57      * translet.
58      */

59     public boolean isExternal() {
60     return true;
61     }
62 }
63
Popular Tags