001    /*
002    // This software is subject to the terms of the Common Public License
003    // Agreement, available at the following URL:
004    // http://www.opensource.org/licenses/cpl.html.
005    // Copyright (C) 2004-2005 TONBELLER AG
006    // All Rights Reserved.
007    // You must accept the terms of that agreement to use this software.
008    */
009    package mondrian.rolap.sql;
010    
011    /**
012     * restricts the members that are fetched by SqlMemberSource.
013     * <p>
014     * @see mondrian.rolap.SqlMemberSource
015     *
016     * @author av
017     * @since Nov 2, 2005
018     */
019    public interface SqlConstraint {
020    
021       /**
022        * Returns a key that becomes part of the key for caching the
023        * result of the SQL query. So SqlConstraint instances that
024        * produce the same SQL resultset must return equal keys
025        * in terms of equal() and hashCode().
026        * @return valid key or null to prevent the result from being cached
027        */
028        Object getCacheKey();
029    }
030    
031    // End SqlConstraint.java