// Near Infinity - An Infinity Engine Browser and Editor // Copyright (C) 2001 - 2005 Jon Olav Hauglid // See LICENSE.txt for license information package org.infinity.resource; import java.nio.ByteBuffer; import java.util.List; import org.infinity.datatype.Readable; public interface StructEntry extends Comparable<StructEntry>, Cloneable, Writeable, Readable { Object clone() throws CloneNotSupportedException; void copyNameAndOffset(StructEntry fromEntry); String getName(); int getOffset(); StructEntry getParent(); int getSize(); /** Attempts to retrieve the data of this datatype and returns it as ByteBuffer object. */ ByteBuffer getDataBuffer(); /** Creates a list of StructEntry object, starting from root up to this object. */ List<StructEntry> getStructChain(); void setOffset(int newoffset); void setParent(StructEntry parent); }