// Path: driver/src/com/leandog/brazenhead/exceptions/IllegalVariableArgumentException.java
// public class IllegalVariableArgumentException extends RuntimeException {
// 
//     private static final long serialVersionUID = 1L;
//     
//     public IllegalVariableArgumentException() {
//         super("Variable names must be in the form of '@@some_name@@'.");
//     }
// 
// }
// 
// Path: driver/src/com/leandog/brazenhead/util/Objects.java
// public class Objects {
// 
//     public static boolean equal(Object a, Object b) {
//         return a == b || (a != null && a.equals(b));
//     }
// 
//     public static int hashCode(Object... objects) {
//         return Arrays.hashCode(objects);
//     }
// 
// }


import java.util.Arrays;
import com.leandog.brazenhead.exceptions.IllegalVariableArgumentException;
import com.leandog.brazenhead.util.Objects;
        this();
        this.name = name;
        this.arguments = arguments;
    }
    
    public Command(final String name, final Target target, final Object... arguments) {
        this();
        this.name = name;
        this.arguments = arguments;
        setTarget(target);
    }

    public String getName() {
        return name;
    }

    public Object[] getArguments() {
        return arguments;
    }

    public Target getTarget() {
        return target;
    }

    public String variableName() {
        return variable;
    }

    public void setVariable(final String variable) {
        if( null != variable && !variable.matches("@@.*@@")) {
// Path: driver/src/com/leandog/brazenhead/exceptions/IllegalVariableArgumentException.java
// public class IllegalVariableArgumentException extends RuntimeException {
// 
//     private static final long serialVersionUID = 1L;
//     
//     public IllegalVariableArgumentException() {
//         super("Variable names must be in the form of '@@some_name@@'.");
//     }
// 
// }
// 
// Path: driver/src/com/leandog/brazenhead/util/Objects.java
// public class Objects {
// 
//     public static boolean equal(Object a, Object b) {
//         return a == b || (a != null && a.equals(b));
//     }
// 
//     public static int hashCode(Object... objects) {
//         return Arrays.hashCode(objects);
//     }
// 
// }


// Path: driver/src/com/leandog/brazenhead/commands/Command.java
import java.util.Arrays;
import com.leandog.brazenhead.exceptions.IllegalVariableArgumentException;
import com.leandog.brazenhead.util.Objects;

        this();
        this.name = name;
        this.arguments = arguments;
    }
    
    public Command(final String name, final Target target, final Object... arguments) {
        this();
        this.name = name;
        this.arguments = arguments;
        setTarget(target);
    }

    public String getName() {
        return name;
    }

    public Object[] getArguments() {
        return arguments;
    }

    public Target getTarget() {
        return target;
    }

    public String variableName() {
        return variable;
    }

    public void setVariable(final String variable) {
        if( null != variable && !variable.matches("@@.*@@")) {
            throw new IllegalVariableArgumentException();