001    /*
002    // $Id: //open/mondrian/src/main/mondrian/olap/Scenario.java#4 $
003    // This software is subject to the terms of the Eclipse Public License v1.0
004    // Agreement, available at the following URL:
005    // http://www.eclipse.org/legal/epl-v10.html.
006    // Copyright (C) 2009-2009 Julian Hyde and others
007    // All Rights Reserved.
008    // You must accept the terms of that agreement to use this software.
009    */
010    package org.olap4j;
011    
012    /**
013     * Context for a set of writeback operations.
014     *
015     * <p>An analyst performing a what-if analysis would first create a scenario,
016     * or open an existing scenario, then modify a sequence of cell values.
017     *
018     * <p>Some OLAP engines allow scenarios to be saved (to a file, or perhaps to
019     * the database) and restored in a future session.
020     *
021     * <p>Multiple scenarios may be open at the same time, by different users of
022     * the OLAP engine.
023     *
024     * @see OlapConnection#createScenario()
025     * @see OlapConnection#setScenario(Scenario)
026     * @see OlapConnection#getScenario()
027     * @see Cell#setValue(Object, AllocationPolicy, Object[])
028     * @see AllocationPolicy
029     *
030     * @author jhyde
031     * @since 24 April, 2009
032     * @version $Id: //open/mondrian/src/main/mondrian/olap/Scenario.java#4 $
033     */
034    public interface Scenario {
035        /**
036         * Returns the unique identifier of this Scenario.
037         *
038         * <p>The format of the string returned is implementation defined. Client
039         * applications must not make any assumptions about the structure or
040         * contents of such strings.
041         *
042         * @return Unique identifier of this Scenario.
043         */
044        String getId();
045    }
046    
047    // End Scenario.java