package br.com.while42.rpgcs.model.equip.weapons; import java.util.List; import java.util.Set; import br.com.while42.rpgcs.model.HitDice; public abstract class AbstractWeapon implements Weapon { private static final long serialVersionUID = 1L; private BasicWeapon base; public AbstractWeapon(BasicWeapon base) { this.base = new BasicWeapon(base); } @Override public int getCodeName() { return base.getCodeName(); } @Override public int getCodeImage() { return base.getCodeImage(); }; @Override public Long getCost() { return base.getCost(); } @Override public void setSize(SizeWeapon size) { base.setSize(size); } @Override public SizeWeapon getSize() { return base.getSize(); } @Override public List<HitDice> getDamage() { return base.getDamage(SizeWeapon.MEDIUM); } @Override public List<HitDice> getDamage(SizeWeapon size) { return base.getDamage(size); } @Override public Integer getCritical() { return base.getCritical(); } @Override public Integer getRangeIncrement() { return base.getRangeIncrement(); } @Override public Double getWeight() { return base.getWeight(); } @Override public Set<TypeWeapon> getType() { return base.getType(); } @Override public String getDescription() { return base.getDescription(); } @Override public void setEquiped(Boolean equiped) { base.setEquiped(equiped); } @Override public Boolean isEquiped() { return base.isEquiped(); } @Override public boolean equals(Object o) { if (this == o) return true; if (!(o instanceof AbstractWeapon)) return false; AbstractWeapon aw = (AbstractWeapon) o; return base.equals(aw.base); } @Override public int hashCode() { return base.hashCode(); } }