001    /*
002    // $Id: //open/mondrian/src/main/mondrian/olap/NamedSet.java#5 $
003    // This software is subject to the terms of the Common Public License
004    // Agreement, available at the following URL:
005    // http://www.opensource.org/licenses/cpl.html.
006    // Copyright (C) 2000-2002 Kana Software, Inc.
007    // Copyright (C) 2001-2006 Julian Hyde and others
008    // All Rights Reserved.
009    // You must accept the terms of that agreement to use this software.
010    */
011    
012    package mondrian.olap;
013    
014    import mondrian.olap.type.Type;
015    
016    /**
017     * A named set of members or tuples.
018     *
019     * <p>A set can be defined in a query, using a <code>WITH SET</code> clause,
020     * or in a schema. Named sets in a schema can be defined against a particular
021     * cube or virtual cube, or shared between all cubes.</p>
022     *
023     * @author jhyde
024     * @since 6 August, 2001
025     * @version $Id: //open/mondrian/src/main/mondrian/olap/NamedSet.java#5 $
026     */
027    public interface NamedSet extends OlapElement {
028        /**
029         * Sets the name of this named set.
030         */
031        void setName(String newName);
032    
033        /**
034         * Returns the type of this named set.
035         */
036        Type getType();
037    
038        /**
039         * Returns the expression used to derive this named set.
040         */
041        Exp getExp();
042    
043        NamedSet validate(Validator validator);
044    }
045    
046    // End NamedSet.java