content: package btools.mapcreator;
  
  import java.io.DataInputStream;
  import java.io.DataOutputStream;
  
  import btools.util.LongList;
  
  /**
   * Container for waydata on the preprocessor level
   *
   * @author ab
   */
  public class WayData extends MapCreatorBase {
    public long wid;
    public byte[] description;
    public LongList nodes;
  
    public WayData(long id) {
      wid = id;
      nodes = new LongList(16);
    }
  
    public WayData(long id, LongList nodes) {
      wid = id;
      this.nodes = nodes;
    }
  
    public WayData(DataInputStream di) throws Exception {
      nodes = new LongList(16);
      wid = readId(di);
      int dlen = di.readByte();
      description = new byte[dlen];
      di.readFully(description);
      for (; ; ) {
        long nid = readId(di);
        if (nid == -1) break;
        nodes.add(nid);
      }
    }
  
    public void writeTo(DataOutputStream dos) throws Exception {
      writeId(dos, wid);
      dos.writeByte(description.length);
      dos.write(description);
      int size = nodes.size();
      for (int i = 0; i < size; i++) {
        writeId(dos, nodes.get(i));
      }
      writeId(dos, -1); // stopbyte
    }
  }
  