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    }