# Class OtpErlangBinary

java.lang.Object
com.ericsson.otp.erlang.OtpErlangObject
com.ericsson.otp.erlang.OtpErlangBitstr
com.ericsson.otp.erlang.OtpErlangBinary

All Implemented Interfaces:
  `Serializable, Cloneable`

public class OtpErlangBinary extends OtpErlangBitstr
Provides a Java representation of Erlang binaries. Anything that can be represented as a sequence of bytes can be made into an Erlang binary.

See Also:
  - Serialized Form

## Nested Class Summary

### Nested classes/interfaces inherited from class OtpErlangObject

`OtpErlangObject.Hash`

## Field Summary

### Fields inherited from class OtpErlangBitstr

`bin, pad_bits`

### Fields inherited from class OtpErlangObject

`hashCodeValue`

## Constructor Summary

Constructors
Constructor
Description
`OtpErlangBinary(byte[] bin)`
Create a binary from a byte array
`OtpErlangBinary(OtpInputStream buf)`
Create a binary from a stream containing a binary encoded in Erlang external format.
`OtpErlangBinary(Object o)`
Create a binary from an arbitrary Java Object.

## Method Summary

Modifier and Type
Method
Description
`Object`
`clone()`
`void`
`encode(OtpOutputStream buf)`
Convert this binary to the equivalent Erlang external representation.

### Methods inherited from class OtpErlangBitstr

`binaryValue, doHashCode, equals, getObject, pad_bits, size, toString`

### Methods inherited from class OtpErlangObject

`bind, decode, hashCode, match`

### Methods inherited from class Object

`finalize, getClass, notify, notifyAll, wait, wait, wait`

## Constructor Details

### OtpErlangBinary

public OtpErlangBinary(byte[] bin)
Create a binary from a byte array

Parameters:
  `bin` - the array of bytes from which to create the binary.

### OtpErlangBinary

public OtpErlangBinary(OtpInputStream buf) throws OtpErlangDecodeException
Create a binary from a stream containing a binary encoded in Erlang external format.

Parameters:
  `buf` - the stream containing the encoded binary.
Throws:
  `OtpErlangDecodeException` - if the buffer does not contain a valid external representation of an Erlang binary.

### OtpErlangBinary

public OtpErlangBinary(Object o)
Create a binary from an arbitrary Java Object. The object must implement java.io.Serializable or java.io.Externalizable.

Parameters:
  `o` - the object to serialize and create this binary from.

## Method Details

### encode

public void encode(OtpOutputStream buf)
Convert this binary to the equivalent Erlang external representation.

Overrides:
  `encode` in class `OtpErlangBitstr`
Parameters:
  `buf` - an output stream to which the encoded binary should be written.

### clone

public Object clone()

Overrides:
  `clone` in class `OtpErlangBitstr`