# Class Payload

java.lang.Object
com.codename1.nearby.transport.Payload

public final class Payload extends Object

Something to send to a connected endpoint: either a block of bytes or a file.

Bytes are the simple case and are capped at `NearbyTransport.getMaxPayloadSize()`, which is a few kilobytes on both platforms. Anything larger goes as a file, which streams and reports progress.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final int`
  `TYPE_BYTES`
  This payload carries bytes; `getBytes()` has them.
  `static final int`
  `TYPE_FILE`
  This payload carries a file; `getPath()` names it.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static Payload`
  `fromBytes(byte[] bytes)`
  Wraps a block of bytes.
  `static Payload`
  `fromFile(String path)`
  Wraps a file, which is streamed rather than loaded.
  `byte[]`
  `getBytes()`
  The bytes, or `null` for a file payload.
  `int`
  `getId()`
  The id progress updates and `NearbyTransport.cancel(int)` use.
  `String`
  `getPath()`
  The file path, or `null` for a byte payload.
  `int`
  `getType()`
  `TYPE_BYTES` or `TYPE_FILE`.
  `String`
  `toString()`
  Returns a string representation of the object.

  ### Methods inherited from class Object

  `clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- ## Field Details

  - ### TYPE_BYTES

    public static final int TYPE_BYTES
    This payload carries bytes; `getBytes()` has them.
    See Also:
      - Constant Field Values

  - ### TYPE_FILE

    public static final int TYPE_FILE
    This payload carries a file; `getPath()` names it.
    See Also:
      - Constant Field Values

- ## Method Details

  - ### fromBytes

    public static Payload fromBytes(byte[] bytes)

    Wraps a block of bytes.

    ###### Parameters

    - `bytes`: the payload, no larger than `NearbyTransport.getMaxPayloadSize()`

    ###### Returns

    the payload

  - ### fromFile

    public static Payload fromFile(String path)

    Wraps a file, which is streamed rather than loaded.

    ###### Parameters

    - `path`: a `com.codename1.io.FileSystemStorage` path

    ###### Returns

    the payload

  - ### getId

    public int getId()
    The id progress updates and `NearbyTransport.cancel(int)` use.

  - ### getType

    public int getType()
    `TYPE_BYTES` or `TYPE_FILE`.

  - ### getBytes

    public byte[] getBytes()
    The bytes, or `null` for a file payload. The array is not copied -- do not mutate it while the payload is in flight.

  - ### getPath

    public String getPath()
    The file path, or `null` for a byte payload. On a received file payload this names a file the port already wrote, in the app's storage.

  - ### toString

    public String toString()
    Description copied from class: `Object`
    Returns a string representation of the object. In general, the toString method returns a string that "textually represents" this object. The result should be a concise but informative representation that is easy for a person to read. It is recommended that all subclasses override this method. The toString method for class Object returns a string consisting of the name of the class of which the object is an instance, the at-sign character `@', and the unsigned hexadecimal representation of the hash code of the object. In other words, this method returns a string equal to the value of: getClass().getName() + '@' + Integer.toHexString(hashCode())
    Overrides:
      `toString` in class `Object`