/*
 * SimpleCommand.java
 *
 * Copyright (c) 2014 Graham Howden <graham_howden1 at yahoo.co.uk>.
 *
 * This file is part of UltraHardcore.
 *
 * UltraHardcore is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * UltraHardcore is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with UltraHardcore.  If not, see <http ://www.gnu.org/licenses/>.
 */

package com.publicuhc.ultrahardcore.commands;

import com.publicuhc.pluginframework.configuration.Configurator;
import com.publicuhc.pluginframework.shaded.inject.Inject;
import com.publicuhc.pluginframework.translate.Translate;

import java.util.Map;

public class SimpleCommand {

    private final Configurator m_configManager;
    private final Translate m_translate;

    /**
     * @param configManager the config manager
     * @param translate the translator
     */
    @Inject
    protected SimpleCommand(Configurator configManager, Translate translate){
        m_configManager = configManager;
        m_translate = translate;
    }

    /**
     * @return the config manager
     */
    public Configurator getConfigurator(){
        return m_configManager;
    }

    /**
     * @return the translator
     */
    public Translate getTranslator() {
        return m_translate;
    }

    /**
     * Proxy method for the Translate object method
     */
    public String translate(String key, String locale) {
        return m_translate.translate(key, locale);
    }

    /**
     * Proxy method for the Translate object method
     */
    public String translate(String key, String locale, Map<String, String> vars) {
        return m_translate.translate(key, locale, vars);
    }

    /**
     * Proxy method for the Translate object method
     */
    public String translate(String key, String locale, String var, String value) {
        return m_translate.translate(key, locale, var, value);
    }

    /**
     * Proxy method for the Translate object method getLocaleForSender
     */
    /*public String locale(CommandSender sender) {
        return m_translate.getLocaleForSender(sender);
    }*/
}

@@ -1018,16 +1018,57 @@
 anslate;
+%0Aimport org.bukkit.command.CommandSender;
 %0A%0Aimport
@@ -1760,40 +1760,104 @@
 thod
- for the Translate object method
+.%0A     *%0A     * @see com.publicuhc.pluginframework.translate.Translate#translate(String, String)
 %0A   
@@ -2007,255 +2007,1002 @@
 thod
- for the Translate object method%0A     */%0A    public String translate(String key, String locale, Map%3CString, String%3E vars) %7B%0A        return m_translate.translate(key, locale, vars);%0A    %7D%0A%0A    /**%0A     * Proxy method for the Translate object method
+.%0A     *%0A     * @see com.publicuhc.pluginframework.translate.Translate#translate(String, CommandSender)%0A     */%0A    public String translate(String key, CommandSender sender) %7B%0A        return m_translate.translate(key, sender);%0A    %7D%0A%0A    /**%0A     * Proxy method.%0A     *%0A     * @see com.publicuhc.pluginframework.translate.Translate#translate(String, String, java.util.Map)%0A     */%0A    public String translate(String key, String locale, Map%3CString, String%3E vars) %7B%0A        return m_translate.translate(key, locale, vars);%0A    %7D%0A%0A    /**%0A     * Proxy method.%0A     *%0A     * @see com.publicuhc.pluginframework.translate.Translate#translate(String, org.bukkit.command.CommandSender, java.util.Map)%0A     */%0A    public String translate(String key, CommandSender sender, Map%3CString, String%3E vars) %7B%0A        return m_translate.translate(key, sender, vars);%0A    %7D%0A%0A    /**%0A     * Proxy method.%0A     *%0A     * @see com.publicuhc.pluginframework.translate.Translate#translate(String, String, String, String)
 %0A   
@@ -3071,16 +3071,19 @@
 ring var
+key
 , String
@@ -3145,16 +3145,19 @@
 ale, var
+key
 , value)
@@ -3196,59 +3196,146 @@
 thod
- for the Translate object method getLocaleForSender
+.%0A     *%0A     * @see com.publicuhc.pluginframework.translate.Translate#translate(String, org.bukkit.command.CommandSender, String, String)
 %0A   
@@ -3343,18 +3343,16 @@
  */%0A    
-/*
 public S
@@ -3361,99 +3361,154 @@
 ing 
-locale(CommandSender sender) %7B%0A        return m_translate.getLocaleForSender(sender
+translate(String key, CommandSender sender, String varkey, String value) %7B%0A        return m_translate.translate(key, sender, varkey, value
 );%0A    %7D
 */%0A%7D
@@ -3503,13 +3503,11 @@
 );%0A    %7D
-*/
 %0A%7D%0A

add the rest of the proxy methods and add @see javadoc