Coverage Report - org.apache.ojb.broker.query.ReportQueryByCriteria
 
Classes in this File Line Coverage Branch Coverage Complexity
ReportQueryByCriteria
N/A
N/A
1.267
 
 1  
 package org.apache.ojb.broker.query;
 2  
 
 3  
 /* Copyright 2002-2005 The Apache Software Foundation
 4  
  *
 5  
  * Licensed under the Apache License, Version 2.0 (the "License");
 6  
  * you may not use this file except in compliance with the License.
 7  
  * You may obtain a copy of the License at
 8  
  *
 9  
  *     http://www.apache.org/licenses/LICENSE-2.0
 10  
  *
 11  
  * Unless required by applicable law or agreed to in writing, software
 12  
  * distributed under the License is distributed on an "AS IS" BASIS,
 13  
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 14  
  * See the License for the specific language governing permissions and
 15  
  * limitations under the License.
 16  
  */
 17  
  
 18  
 import java.util.Map;
 19  
 
 20  
 /**
 21  
  * Query for Reports. 
 22  
  * Supports selection of a subset of attributes.
 23  
  * 
 24  
  * @author <a href="mailto:jbraeuchi@gmx.ch">Jakob Braeuchi</a>
 25  
  * @version $Id: ReportQueryByCriteria.java,v 1.1 2007-08-24 22:17:36 ewestfal Exp $
 26  
  */
 27  
 public class ReportQueryByCriteria extends QueryByCriteria implements ReportQuery
 28  
 {
 29  
         // define the attributes (columns) to be selected for reports
 30  
         private String[] m_attributes = null;
 31  
 
 32  
     // define the Jdbc-Types of the columns to be selected for reports
 33  
     private int[] m_jdbcTypes = null;
 34  
 
 35  
     // define the additional attributes (columns) to be used for the join
 36  
     private String[] m_joinAttributes = null;
 37  
     
 38  
     // attribute -> FieldDescriptor
 39  
     private Map m_attrToFld = null;
 40  
 
 41  
         /**
 42  
          * Constructor for ReportQueryByCriteria.
 43  
          * @param targetClass
 44  
          * @param attributes[]
 45  
          * @param criteria
 46  
          * @param distinct
 47  
          */
 48  
         public ReportQueryByCriteria(Class targetClass, String[] attributes, Criteria criteria, boolean distinct)
 49  
         {
 50  
                 super(targetClass, criteria, distinct);
 51  
                 setAttributes(attributes);
 52  
         }
 53  
 
 54  
         /**
 55  
          * Constructor for ReportQueryByCriteria.
 56  
          * @param targetClass
 57  
          * @param attributes[]
 58  
          * @param criteria
 59  
          */
 60  
         public ReportQueryByCriteria(Class targetClass, String[] attributes, Criteria criteria)
 61  
         {
 62  
                 this(targetClass, attributes, criteria, false);
 63  
         }
 64  
 
 65  
         /**
 66  
          * Constructor for ReportQueryByCriteria.
 67  
          * @param targetClass
 68  
          * @param criteria
 69  
          */
 70  
         public ReportQueryByCriteria(Class targetClass, Criteria criteria)
 71  
         {
 72  
                 this(targetClass, null, criteria, false);
 73  
         }
 74  
 
 75  
         /**
 76  
          * Constructor for ReportQueryByCriteria.
 77  
          * @param targetClass
 78  
          * @param criteria
 79  
          * @param distinct
 80  
          */
 81  
         public ReportQueryByCriteria(Class targetClass, Criteria criteria, boolean distinct)
 82  
         {
 83  
                 this(targetClass, null, criteria, distinct);
 84  
         }
 85  
 
 86  
         /**
 87  
          * Gets the columns.
 88  
          * @return Returns a String[]
 89  
      * @deprecated use getAttributes()
 90  
          */
 91  
         public String[] getColumns()
 92  
         {
 93  
                 return getAttributes();
 94  
         }
 95  
 
 96  
         /**
 97  
          * Sets the columns.
 98  
          * @param columns The columns to set
 99  
      * @deprecated use setAttributes()
 100  
          */
 101  
         public void setColumns(String[] columns)
 102  
         {
 103  
                 setAttributes(columns);
 104  
         }
 105  
 
 106  
     /**
 107  
      * Gets the attributes to be selected.</br>
 108  
      * Attributes are translated into db-columns
 109  
      * @return the attributes to be selected
 110  
      */
 111  
     public String[] getAttributes()
 112  
     {
 113  
         return m_attributes;
 114  
     }
 115  
 
 116  
     /**
 117  
      * Sets the attributes to be selected.</br>
 118  
      * Attributes are translated into db-columns
 119  
      * @param attributes The attributes to set
 120  
      */
 121  
     public void setAttributes(String[] attributes)
 122  
     {
 123  
         m_attributes = attributes;
 124  
     }
 125  
     
 126  
     /**
 127  
      * @return Returns the jdbcTypes.
 128  
      */
 129  
     public int[] getJdbcTypes()
 130  
     {
 131  
         return m_jdbcTypes;
 132  
     }
 133  
 
 134  
     /**
 135  
      * @param jdbcTypes The jdbcTypes to set.
 136  
      */
 137  
     public void setJdbcTypes(int[] jdbcTypes)
 138  
     {
 139  
         this.m_jdbcTypes = jdbcTypes;
 140  
     }
 141  
 
 142  
     /**
 143  
      * @return Returns the joinAttributes.
 144  
      */
 145  
     public String[] getJoinAttributes()
 146  
     {
 147  
         return m_joinAttributes;
 148  
     }
 149  
 
 150  
     /**
 151  
      * @param joinAttributes The joinAttributes to set.
 152  
      */
 153  
     public void setJoinAttributes(String[] joinAttributes)
 154  
     {
 155  
         m_joinAttributes = joinAttributes;
 156  
     }
 157  
     
 158  
     /**
 159  
      * @see java.lang.Object#toString()
 160  
      */
 161  
     public String toString()
 162  
     {
 163  
         String[] cols = getAttributes();
 164  
         StringBuffer buf = new StringBuffer("ReportQuery from ");
 165  
         buf.append(getSearchClass() + " ");
 166  
         if (cols != null)
 167  
         {
 168  
             for (int i = 0; i < cols.length; i++)
 169  
             {
 170  
                 buf.append(cols[i] + " ");
 171  
             }
 172  
         }
 173  
         if (getCriteria() != null && !getCriteria().isEmpty())
 174  
         {
 175  
             buf.append(" where " + getCriteria());
 176  
         }
 177  
 
 178  
         return buf.toString();
 179  
     }
 180  
 
 181  
     public Map getAttributeFieldDescriptors()
 182  
     {
 183  
         return m_attrToFld;
 184  
     }
 185  
 
 186  
     public void setAttributeFieldDescriptors(Map attrToFld)
 187  
     {
 188  
         m_attrToFld = attrToFld;
 189  
     }
 190  
 
 191  
 
 192  
     
 193  
 }