package provider.nx; import provider.MapleDataEntity; import provider.MapleDataEntry; import provider.pkgnx.format.NXNode; /** * @author Aaron * @version 1.0 * @since 6/8/13 */ public class NXDataEntry implements MapleDataEntry { private final NXNode node; private final NXData parent; public NXDataEntry(NXNode node, NXData parent) { this.node = node; this.parent = parent; } @Override public String getName() { return node.getName(); } @Override public MapleDataEntity getParent() { return new NXDataEntity(parent.getNode(), parent.getParentAsNX()); } @Override public int getSize() { return 20; // ALL NODES ARE 20-BYTES. } @Override public int getChecksum() { return -1; // NOT USED ANYWHERE IN THE SOURCE. } @Override public int getOffset() { int i = 0; NXNode[] nodes = node.getFile().getNodes(); for (; i < nodes.length; i++) if (nodes[i] == node) break; return (int) (node.getFile().getHeader().getNodeOffset() + (20 * i)); } }