Coverage report

  %line %branch
org.apache.commons.jexl.util.BooleanPropertyExecutor
68% 
70% 

 1  
 /*
 2  
  * Copyright 2000-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  
 package org.apache.commons.jexl.util;
 18  
 
 19  
 import org.apache.commons.logging.Log;
 20  
 /**
 21  
  *  Handles discovery and valuation of a
 22  
  *  boolean object property, of the
 23  
  *  form public boolean is<property> when executed.
 24  
  *
 25  
  *  We do this separately as to preserve the current
 26  
  *  quasi-broken semantics of get<as is property>
 27  
  *  get< flip 1st char> get("property") and now followed
 28  
  *  by is<Property>
 29  
  *
 30  
  *  @author <a href="geirm@apache.org">Geir Magnusson Jr.</a>
 31  
  *  @version $Id: BooleanPropertyExecutor.java,v 1.4 2004/02/28 13:45:21 yoavs Exp $
 32  
  */
 33  
 public class BooleanPropertyExecutor extends PropertyExecutor
 34  
 {
 35  
     public BooleanPropertyExecutor(Log rlog, org.apache.commons.jexl.util.introspection.Introspector is, Class clazz, String property)
 36  
     {
 37  30
         super(rlog, is, clazz, property);
 38  30
     }
 39  
 
 40  
     protected void discover(Class clazz, String property)
 41  
     {
 42  
         try
 43  
         {
 44  
             char c;
 45  
             StringBuffer sb;
 46  
 
 47  30
             Object[] params = {  };
 48  
 
 49  
             /*
 50  
              *  now look for a boolean isFoo
 51  
              */
 52  
 
 53  30
             sb = new StringBuffer("is");
 54  30
             sb.append(property);
 55  
 
 56  30
             c = sb.charAt(2);
 57  
 
 58  30
             if (Character.isLowerCase(c))
 59  
             {
 60  30
                 sb.setCharAt(2, Character.toUpperCase(c));
 61  
             }
 62  
 
 63  30
             methodUsed = sb.toString();
 64  30
             method = introspector.getMethod(clazz, methodUsed, params);
 65  
 
 66  30
             if (method != null)
 67  
             {
 68  
                 /*
 69  
                  *  now, this has to return a boolean
 70  
                  */
 71  
 
 72  30
                 if (method.getReturnType() == Boolean.TYPE)
 73  30
                     return;
 74  
 
 75  0
                 method = null;
 76  
             }
 77  0
         }
 78  
         catch(Exception e)
 79  
         {
 80  0
             rlog.error("PROGRAMMER ERROR : BooleanPropertyExector() : " + e);
 81  
         }
 82  0
     }
 83  
 }

This report is generated by jcoverage, Maven and Maven JCoverage Plugin.