/*******************************************************************************
 * Copyright (c) 2015 - 2016, Andreas Hefti, inarisoft@yahoo.de 
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 ******************************************************************************/ 
package com.inari.firefly.animation.event;

import com.inari.commons.event.Event;

public final class AnimationEvent extends Event<AnimationEventListener> {
    
    public static final EventTypeKey TYPE_KEY = createTypeKey( AnimationEvent.class );
    
    public enum Type {
        START_ANIMATION,
        STOP_ANIMATION,
        FINISH_ANIMATION
    }
    
    public final int animationId;
    public final Type type;

    public AnimationEvent( Type type, int animationId ) {
        super( TYPE_KEY );
        this.animationId = animationId;
        this.type = type;
    }

    @Override
    public final void notify( AnimationEventListener listener ) {
        listener.onAnimationEvent( this );
    }

}

@@ -863,16 +863,153 @@
 Event;%0A%0A
+/** Event to operate Animation's%0A *  Use this to operate Animation's of all types. Animations can be started, stopped and finished. %0A */%0A
 public f
@@ -1075,24 +1075,78 @@
 ner%3E %7B%0A    %0A
+    /** The type key for AnimationEvent event type */%0A
     public s
@@ -1233,174 +1233,754 @@
     
-public enum Type %7B%0A        START_ANIMATION,%0A        STOP_ANIMATION,%0A        FINISH_ANIMATION%0A    %7D%0A    %0A    public final int animationId;%0A    public final Type type;%0A
+/** The available and supported types of AnimationEvent */%0A    public enum Type %7B%0A        /** Starts an Animation ( if not already started ) */%0A        START_ANIMATION,%0A        /** Stops a running Animation */%0A        STOP_ANIMATION,%0A        /** Finishes an Animation wheter it is running or not. Finished Animations are celand up and removed/deleted */%0A        FINISH_ANIMATION%0A    %7D%0A    %0A    /** The id of the Animation to do the action event */%0A    public final int animationId;%0A    /** The type of AnimationEvent */ %0A    public final Type type;%0A%0A    /** Create a new AnimationEvent with specifed type and animationId.%0A     *  @param type the type of AnimationEvent%0A     *  @param animationId the id of Animation instance to operate on%0A     */
 %0A   
@@ -2134,16 +2134,129 @@
 %0A    %7D%0A%0A
+    /** NOTE: this is called by the EventDispatcher on specified AnimationEvent. No need to call dis directly */%0A
     @Ove

Update AnimationEvent.java