1 /* 2 * Copyright 2002,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 package org.apache.commons.jexl.util; 17 18 import org.apache.commons.jexl.util.introspection.Uberspect; 19 import org.apache.commons.jexl.util.introspection.UberspectImpl; 20 import org.apache.commons.jexl.util.introspection.UberspectLoggable; 21 import org.apache.commons.logging.Log; 22 import org.apache.commons.logging.LogFactory; 23 24 /** 25 * Little class to manage a Velocity uberspector (Vel 1.4+) for instrospective 26 * services. 27 * 28 * @since 1.0 29 * @author <a HREF="mailto:geirm@apache.org">Geir Magnusson Jr.</a> 30 * @version $Id: Introspector.java 398171 2006-04-29 14:57:29Z dion $ 31 */ 32 public class Introspector { 33 /** 34 * The uberspector from Velocity that handles all instrospection patterns. 35 */ 36 private static Uberspect uberSpect; 37 38 static { 39 40 Log logger = LogFactory.getLog(Introspector.class); 41 42 uberSpect = new UberspectImpl(); 43 ((UberspectLoggable) uberSpect).setRuntimeLogger(logger); 44 } 45 46 /** 47 * For now, expose the raw uberspector to the AST. 48 * 49 * @return Uberspect The Velocity uberspector. 50 */ 51 public static Uberspect getUberspect() { 52 return uberSpect; 53 } 54 } 55