/*
Copyright (C) 2005 David Green <green@couchpotato.net>
All Rights Reserved.

This file is part of Aelfengard.

Aelfengard is proprietary software. You may not redistribute it without
prior written permission from the copyright holder.
*/

package server.command;

import server.Player;
import server.SyntaxException;

public abstract class Command {

    private final String[] helpText;
    private final CommandCategory category;
    
    protected Command(CommandCategory category, String... helpText) {
        this.helpText = helpText;
        this.category = category;
    }
    
    public abstract void run(Player player) throws SyntaxException;
    
    public abstract String[] getSyntax(Player player);

    public final String[] getHelpText() {
        return helpText;
    }
    
    public final CommandCategory getCategory() {
        return category;
    }
    
    public boolean isHidden() {
        return false;
    }

}