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  import org.as2lib.app.exec.Executable;
    18  
    19  /**
    20   * {@code ForEachExecutable} is a extension to {@link Executable} to execute the
    21   * certain executale for all childs within a object.
    22   * 
    23   * @author Martin Heidegger
    24   * @version 1.0
    25   */ 
    26  interface org.as2lib.app.exec.ForEachExecutable extends Executable {
    27  
    28  	/**
    29  	 * Iterates through the passed-in {@code object} and invokes the 
    30  	 * {@link #execute} method for every member passing-in the member itself,
    31  	 * the name of the member and the passed-in {@code object}.
    32  	 *
    33  	 * @param object the object to iterate over
    34  	 * @return list with the result of each execution
    35  	 */
    36  	public function forEach(object):Array;
    37  }