/* This file is part of GenericsLib for Bukkit, licensed under the MIT License (MIT).
 *
 * Copyright (c) JCThePants (www.jcwhatever.com)
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 */


package com.jcwhatever.bukkit.generic.views.triggers;

import com.jcwhatever.bukkit.generic.storage.IDataNode;
import com.jcwhatever.bukkit.generic.storage.settings.ISettingsManager;
import com.jcwhatever.bukkit.generic.views.IView;
import com.jcwhatever.bukkit.generic.views.ViewManager;

public interface IViewTrigger {

    void init(IView view, IDataNode triggerNode, ViewManager viewManager);

    TriggerType getType();

    ISettingsManager getSettingsManager();

    void dispose();

}

@@ -1267,16 +1267,73 @@
 ggers;%0A%0A
+import com.jcwhatever.bukkit.generic.mixins.IDisposable;%0A
 import c
@@ -1563,89 +1563,571 @@
 r;%0A%0A
-public interface IViewTrigger %7B%0A%0A    void init(IView view, IDataNode triggerNode,
+/**%0A * Represents a type that triggers a view%0A * to show to a player.%0A */%0Apublic interface IViewTrigger extends IDisposable %7B%0A%0A    /**%0A     * Initialize the view trigger.%0A     *%0A     * @param view         The view that is triggered.%0A     * @param dataNode     The triggers data node.%0A     * @param viewManager  The owning view manager.%0A     */%0A    void init(IView view, IDataNode dataNode, ViewManager viewManager);%0A%0A    /**%0A     * Get the view that is triggered.%0A     */%0A    public IView getView();%0A%0A    /**%0A     * Get the owning view manager.%0A     */%0A    public
  Vie
@@ -2127,33 +2127,36 @@
 lic ViewManager 
-v
+getV
 iewManager);%0A%0A  
@@ -2149,24 +2149,25 @@
 wManager
+(
 );%0A%0A    
 TriggerT
@@ -2162,75 +2162,251 @@
     
-TriggerType getType();%0A%0A    ISettingsManager getSettingsManager();%0A
+/**%0A     * Get the trigger type.%0A     */%0A    TriggerType getType();%0A%0A    /**%0A     * Get the triggers settings manager.%0A     */%0A    ISettingsManager getSettingsManager();%0A%0A    /**%0A     * Release resources used by the view.%0A     */%0A    @Override
 %0A   

Add comments, add getView and getViewManager methods, extend IDisposable mixin