# Class OtpErlangFun

java.lang.Object
com.ericsson.otp.erlang.OtpErlangObject
com.ericsson.otp.erlang.OtpErlangFun

All Implemented Interfaces:
  `Serializable, Cloneable`

public class OtpErlangFun extends OtpErlangObject

See Also:
  - Serialized Form

## Nested Class Summary

### Nested classes/interfaces inherited from class OtpErlangObject

`OtpErlangObject.Hash`

## Field Summary

### Fields inherited from class OtpErlangObject

`hashCodeValue`

## Constructor Summary

Constructors
Constructor
Description
`OtpErlangFun(OtpErlangPid pid, String module, int arity, byte[] md5, int index, long old_index, long uniq, OtpErlangObject[] freeVars)`
`OtpErlangFun(OtpErlangPid pid, String module, long index, long uniq, OtpErlangObject[] freeVars)`
`OtpErlangFun(OtpInputStream buf)`

## Method Summary

Modifier and Type
Method
Description
`protected int`
`doHashCode()`
`void`
`encode(OtpOutputStream buf)`
Convert the object according to the rules of the Erlang external format.
`boolean`
`equals(Object o)`
Determine if two Erlang objects are equal.
`String`
`toString()`

### Methods inherited from class OtpErlangObject

`bind, clone, decode, hashCode, match`

### Methods inherited from class Object

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

## Constructor Details

### OtpErlangFun

public OtpErlangFun(OtpInputStream buf) throws OtpErlangDecodeException

Throws:
  `OtpErlangDecodeException`

### OtpErlangFun

public OtpErlangFun(OtpErlangPid pid, String module, long index, long uniq, OtpErlangObject[] freeVars)

### OtpErlangFun

public OtpErlangFun(OtpErlangPid pid, String module, int arity, byte[] md5, int index, long old_index, long uniq, OtpErlangObject[] freeVars)

## Method Details

### encode

public void encode(OtpOutputStream buf)
Description copied from class: `OtpErlangObject`
Convert the object according to the rules of the Erlang external format. This is mainly used for sending Erlang terms in messages, however it can also be used for storing terms to disk.

Specified by:
  `encode` in class `OtpErlangObject`
Parameters:
  `buf` - an output stream to which the encoded term should be written.

### equals

public boolean equals(Object o)
Description copied from class: `OtpErlangObject`
Determine if two Erlang objects are equal. In general, Erlang objects are equal if the components they consist of are equal.

Specified by:
  `equals` in class `OtpErlangObject`
Parameters:
  `o` - the object to compare to.
Returns:
  true if the objects are identical.

### doHashCode

protected int doHashCode()

Overrides:
  `doHashCode` in class `OtpErlangObject`

### toString

public String toString()

Specified by:
  `toString` in class `OtpErlangObject`
Returns:
  the printable representation of the object. This is usually similar to the representation used by Erlang for the same type of object.