package client.vars;

import java.lang.reflect.Field;

public abstract class BaseVar implements CVar {
	public static interface VarFunction {
	}
	
	protected final String name;
	protected final String display;
	protected final Field field;
	protected final Object object;
	protected final CVarCategory category;
	
	public BaseVar(String name, String display, Field field, Object object, CVarCategory category) {
		this.name = name;
		this.display = display;
		this.field = field;
		this.object = object;
		this.category = category;
	}

	public final String getCVarName() {
		return this.name;
	}

	public final String getDisplay() {
		return this.display;
	}
	
	public final CVarCategory getCategory() {
		return this.category;
	}
	
	public void setDefault() {
		this.parse(this.getDefault());
	}
}
