001 /*
002 // $Id: //open/mondrian-release/3.0/src/main/mondrian/olap/NamedSet.java#2 $
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-release/3.0/src/main/mondrian/olap/NamedSet.java#2 $
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