/
area/
classes/net/sourceforge/pain/logic/
classes/net/sourceforge/pain/logic/event/
classes/net/sourceforge/pain/logic/fn/util/
classes/net/sourceforge/pain/network/console/
classes/net/sourceforge/pain/plugin/
classes/net/sourceforge/pain/plugin/reset/
classes/net/sourceforge/pain/plugin/shutdown/
classes/net/sourceforge/pain/plugin/social/
classest/net/sourceforge/pain/db/data/
doc/
doc/paindb/resources/
src/net/sourceforge/pain/logic/
src/net/sourceforge/pain/logic/event/
src/net/sourceforge/pain/logic/fn/util/
src/net/sourceforge/pain/network/console/
src/net/sourceforge/pain/network/console/telnet/
src/net/sourceforge/pain/plugin/
src/net/sourceforge/pain/plugin/command/
src/net/sourceforge/pain/plugin/reset/
src/net/sourceforge/pain/plugin/shutdown/
src/net/sourceforge/pain/plugin/social/
src/net/sourceforge/pain/util/
tests/
tests/net/sourceforge/pain/db/data/
package net.sourceforge.pain.data.type;

import net.sourceforge.pain.data.*;
import net.sourceforge.pain.db.*;

/**
 * User: fmike  Date: Oct 12, 2003   Time: 1:01:39 AM
 */
public final class Wear extends Role {

	public static int WEAR_LIGHT = 1;
	public static int WEAR_FINGER_L = 2;
	public static int WEAR_FINGER_R = 3;
	public static int WEAR_NECK_1 = 4;
	public static int WEAR_NECK_2 = 5;
	public static int WEAR_BODY = 6;
	public static int WEAR_HEAD = 7;
	public static int WEAR_LEGS = 8;
	public static int WEAR_FEET = 9;
	public static int WEAR_HANDS = 10;
	public static int WEAR_ARMS = 11;
	public static int WEAR_SHIELD = 12;
	public static int WEAR_ABOUT = 13;
	public static int WEAR_WAIST = 14;
	public static int WEAR_WRIST_L = 15;
	public static int WEAR_WRIST_R = 16;
	public static int WEAR_HOLD_L = 17;
	public static int WEAR_HOLD_R = 18;

	public static final int WEAR_SLOT = 1 + LAST_BASE_FIELD_INDEX;;
	public static final int OWNER = 2 + LAST_BASE_FIELD_INDEX;;
	public static final int NFIELDS = 3 + LAST_BASE_FIELD_INDEX;;

	public final static Class[] superroles = new Class[]{Physical.class};

	public Wear(PainDB db) {
		super(db);
	}

	public Wear() {
	}

	public Class[] getSuperroles() {
		return superroles;
	}

	public DbClassSchema provideSchema() {
		byte types[] = new byte[NFIELDS];
		String names[] = new String[NFIELDS];

		fillSuperSchema(types, names);

		types[WEAR_SLOT] = DbType.INT;
		names[WEAR_SLOT] = "wear_slot";

		types[OWNER] = DbType.REFERENCE;
		names[OWNER] = "owner";

		return new DbClassSchema(types, names);
	}

	public void setType(int value) {
		setInt(WEAR_SLOT, value);
	}

	public void setOwner(Equipped owner) {
		setReference(OWNER, owner);
	}

	public int getType() {
		return getInt(WEAR_SLOT);
	}

	public Equipped getOwner() {
		return (Equipped) getReference(OWNER);
	}

}