001 package org.apache.ojb.broker.query;
002
003 /* Copyright 2002-2005 The Apache Software Foundation
004 *
005 * Licensed under the Apache License, Version 2.0 (the "License");
006 * you may not use this file except in compliance with the License.
007 * You may obtain a copy of the License at
008 *
009 * http://www.apache.org/licenses/LICENSE-2.0
010 *
011 * Unless required by applicable law or agreed to in writing, software
012 * distributed under the License is distributed on an "AS IS" BASIS,
013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014 * See the License for the specific language governing permissions and
015 * limitations under the License.
016 */
017
018 import java.util.Map;
019
020 /**
021 * Interface for ReportQueries
022 *
023 * @author <a href="mailto:jbraeuchi@gmx.ch">Jakob Braeuchi</a>
024 * @version $Id: ReportQuery.java,v 1.1 2007-08-24 22:17:36 ewestfal Exp $
025 */
026
027 public interface ReportQuery
028 {
029 /**
030 * Gets the columns used for the Report.
031 * @return Returns a String[]
032 * @deprecated use getAttributes()
033 */
034 String[] getColumns();
035
036 /**
037 * Gets the attributes used for the Report.
038 * @return Returns a String[]
039 */
040 String[] getAttributes();
041
042 /**
043 * Gets the Jdbc-Types of the columns used for the Report.
044 * If null the Jdbc-Type is taken from the ResultSet
045 * @return Returns an int[] of Jdbc-Types
046 * @see java.sql.Types
047 */
048 int[] getJdbcTypes();
049
050 /**
051 * Gets the additional attributes used for building the Join.
052 * These Attributes are not appended to the select-clause.
053 * @return Returns a String[]
054 */
055 String[] getJoinAttributes();
056
057 /**
058 * Returns a Map with FieldDescriptors identified by Attribute
059 * @return Map
060 */
061 Map getAttributeFieldDescriptors();
062 }