public class OtpErlangMap extends OtpErlangObject
The arity of the map is the number of elements it contains. The keys and values can be retrieved as arrays and the value for a key can be queried.
OtpErlangObject.Hash
hashCodeValue
Constructor and Description |
---|
OtpErlangMap()
Create an empty map.
|
OtpErlangMap(OtpErlangObject[] keys,
int kstart,
int kcount,
OtpErlangObject[] values,
int vstart,
int vcount)
Create a map from an array of terms.
|
OtpErlangMap(OtpErlangObject[] keys,
OtpErlangObject[] values)
Create a map from an array of keys and an array of values.
|
OtpErlangMap(OtpInputStream buf)
Create a map from a stream containing a map encoded in Erlang external
format.
|
Modifier and Type | Method and Description |
---|---|
int |
arity()
Get the arity of the map.
|
<T> OtpErlangObject |
bind(T binds)
Make new Erlang term replacing variables with the respective values from
bindings argument(s).
|
java.lang.Object |
clone() |
protected int |
doHashCode() |
void |
encode(OtpOutputStream buf)
Convert this map to the equivalent Erlang external representation.
|
java.util.Set<java.util.Map.Entry<OtpErlangObject,OtpErlangObject>> |
entrySet()
make Set view of the map key-value pairs
|
boolean |
equals(java.lang.Object o)
Determine if two maps are equal.
|
OtpErlangObject |
get(OtpErlangObject key)
Get the specified value from the map.
|
OtpErlangObject[] |
keys()
Get all the keys from the map as an array.
|
<T> boolean |
match(OtpErlangObject term,
T binds)
Perform match operation against given term.
|
OtpErlangObject |
put(OtpErlangObject key,
OtpErlangObject value)
Put value corresponding to key into the map.
|
OtpErlangObject |
remove(OtpErlangObject key)
removes mapping for the key if present.
|
java.lang.String |
toString()
Get the string representation of the map.
|
OtpErlangObject[] |
values()
Get all the values from the map as an array.
|
decode, hashCode
public OtpErlangMap()
public OtpErlangMap(OtpErlangObject[] keys, OtpErlangObject[] values)
keys
- the array of terms to create the map keys from.values
- the array of terms to create the map values from.java.lang.IllegalArgumentException
- if any array is empty (null) or contains null elements.public OtpErlangMap(OtpErlangObject[] keys, int kstart, int kcount, OtpErlangObject[] values, int vstart, int vcount)
keys
- the array of terms to create the map from.kstart
- the offset of the first key to insert.kcount
- the number of keys to insert.values
- the array of values to create the map from.vstart
- the offset of the first value to insert.vcount
- the number of values to insert.java.lang.IllegalArgumentException
- if any array is empty (null) or contains null elements.java.lang.IllegalArgumentException
- if kcount and vcount differ.public OtpErlangMap(OtpInputStream buf) throws OtpErlangDecodeException
buf
- the stream containing the encoded map.OtpErlangDecodeException
- if the buffer does not contain a valid external
representation of an Erlang map.public int arity()
public OtpErlangObject put(OtpErlangObject key, OtpErlangObject value)
Map.put(Object, Object)
.key
- key to associate value withvalue
- value to associate with keypublic OtpErlangObject remove(OtpErlangObject key)
key
- key for which mapping is to be removepublic OtpErlangObject get(OtpErlangObject key)
key
- the key of the requested value.public OtpErlangObject[] keys()
public OtpErlangObject[] values()
public java.util.Set<java.util.Map.Entry<OtpErlangObject,OtpErlangObject>> entrySet()
public java.lang.String toString()
toString
in class OtpErlangObject
public void encode(OtpOutputStream buf)
encode
in class OtpErlangObject
buf
- an output stream to which the encoded map should be written.public boolean equals(java.lang.Object o)
equals
in class OtpErlangObject
o
- the map to compare to.public <T> boolean match(OtpErlangObject term, T binds)
OtpErlangObject
match
in class OtpErlangObject
term
- the object to matchbinds
- variable bindingspublic <T> OtpErlangObject bind(T binds) throws OtpErlangException
OtpErlangObject
bind
in class OtpErlangObject
binds
- variable bindingsOtpErlangException
protected int doHashCode()
doHashCode
in class OtpErlangObject
public java.lang.Object clone()
clone
in class OtpErlangObject