Package org.moparscape.msc.gs.builders.ls

Source Code of org.moparscape.msc.gs.builders.ls.LSPacketBuilder

package org.moparscape.msc.gs.builders.ls;

import org.moparscape.msc.gs.builders.StaticPacketBuilder;
import org.moparscape.msc.gs.connection.LSPacket;
import org.moparscape.msc.gs.core.LoginConnector;
import org.moparscape.msc.gs.phandler.PacketHandler;
import org.moparscape.msc.gs.tools.DataConversions;

class LSPacketBuilder extends StaticPacketBuilder {
  /**
   * ID of the packet
   */
  private int pID = 0;
  /**
   * UID of the packet
   */
  private long uID = 0;

  /**
   * Sets the handler for this packet.
   *
   * @param handler
   *            The handler of the packet
   */
  LSPacketBuilder setHandler(LoginConnector connector,
      PacketHandler handler) {
    uID = DataConversions.getRandom().nextLong();
    connector.setHandler(uID, handler);
    return this;
  }

  /**
   * Sets the ID for this packet.
   *
   * @param id
   *            The ID of the packet
   */
  LSPacketBuilder setID(int pID) {
    this.pID = pID;
    return this;
  }

  /**
   * Sets the uID for this packet.
   *
   * @param id
   *            The uID of the packet
   */
  LSPacketBuilder setUID(long uID) {
    this.uID = uID;
    return this;
  }

  /**
   * Returns a <code>LSPacket</code> object for the data contained in this
   * builder.
   *
   * @return A <code>LSPacket</code> object
   */
  public LSPacket toPacket() {
    byte[] data = new byte[curLength];
    System.arraycopy(payload, 0, data, 0, curLength);
    return new LSPacket(null, pID, uID, data, bare);
  }

}
TOP

Related Classes of org.moparscape.msc.gs.builders.ls.LSPacketBuilder

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.