1  /*
     2   * Copyright the original author or authors.
     3   * 
     4   * Licensed under the MOZILLA PUBLIC LICENSE, Version 1.1 (the "License");
     5   * you may not use this file except in compliance with the License.
     6   * You may obtain a copy of the License at
     7   * 
     8   *      http://www.mozilla.org/MPL/MPL-1.1.html
     9   * 
    10   * Unless required by applicable law or agreed to in writing, software
    11   * distributed under the License is distributed on an "AS IS" BASIS,
    12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    13   * See the License for the specific language governing permissions and
    14   * limitations under the License.
    15   */
    16  
    17  /**
    18   * {@code Configuration} is intended for general configuration at startup, that
    19   * is the same for Flash, Flex and MTASC.
    20   * 
    21   * <p>{@code Configuration} is a central part of a configuration system. It should
    22   * contain only the not-plattform-specific configuration. If you want to use this
    23   * configuration take a look at {@link org.as2lib.app.conf.FlashoutApplication},
    24   * {@link org.as2lib.app.conf.MtascApplication} and {@link org.as2lib.app.conf.FlashApplication}.
    25   * 
    26   * <p>{@code Configuration} sould be overwritten. Other classes reference to it but
    27   * itself contains no code. If you want to overwrite it you can create the same class
    28   * in your application directory with your configuration code.
    29   * 
    30   * <p>Example:
    31   * <code>
    32   *   import com.domain.app.*;
    33   *   
    34   *   class main.Configuration {
    35   *       public static var app:MyApplication;
    36   *       
    37   *       public static function init(Void);Void {
    38   *           app = new MySuperApplication();
    39   *           app.start();
    40   *       }
    41   *   }
    42   * </code>
    43   * 
    44   * <p>It is important to have a static {@code init} method that does all the needed
    45   * configuration. This method must, as in the above example, be declared in a class
    46   * that has the same namespace ({@code main}) and name ({@code Configuration} as
    47   * this example class. Besides that you can declare any further method in the class
    48   * or extend any class and implement any interface you like.
    49   * 
    50   * <p>If you now want to use this class MTASC you must pay attention to the class
    51   * paths of the compiler to get it to run!
    52   * <br>The Macromedia Flash MX 2004 Compiler takes the topmost as most important so
    53   * you would have to set your classpaths like this:
    54   * <pre>
    55   *   D:\Projects\MyApplication\src\
    56   *   D:\Libraries\as2lib\main\src\
    57   * </pre>
    58   * <br>The MTASC compiler (http://www.mtasc.org) works the opposite way. The tompost
    59   * classpath is less important. So you would have to set your classpaths like this:
    60   * <pre>-cp "D:/Libraries/as2lib/main/src" -cp "D:/Projects/MyApplication/src/"</pre>
    61   * <br>If you work with the eclipse plugin (http://asdt.sf.net) that uses mtasc you
    62   * have to set the classpaths in your project directory in the same way (you can add
    63   * external folders by using alias folders).
    64   * 
    65   * @author Martin Heidegger
    66   * @version 1.0
    67   * @see org.as2lib.app.conf.FlashApplication
    68   * @see org.as2lib.app.conf.MtascApplication
    69   * @see org.as2lib.app.conf.FlashoutApplication
    70   */
    71  class main.Configuration {
    72  	
    73  	/**
    74  	 * This method is used by the {@code main} or {@code init} method of the classes
    75  	 * {@link org.as2lib.app.conf.FlashoutApplication}, {@link org.as2lib.app.conf.FlashApplication}
    76  	 * and {@link org.as2lib.app.conf.MtascApplication}.
    77  	 */
    78  	public static function init(Void):Void {
    79  	}
    80  	
    81  }