Package com.ericsson.otp.erlang
Class OtpErlangMap
java.lang.Object
com.ericsson.otp.erlang.OtpErlangObject
com.ericsson.otp.erlang.OtpErlangMap
- All Implemented Interfaces:
Serializable
,Cloneable
Provides a Java representation of Erlang maps. Maps are created from one or
more arbitrary Erlang terms.
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.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class com.ericsson.otp.erlang.OtpErlangObject
OtpErlangObject.Hash
-
Field Summary
Fields inherited from class com.ericsson.otp.erlang.OtpErlangObject
hashCodeValue
-
Constructor Summary
ConstructorDescriptionCreate 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.Create a map from a stream containing a map encoded in Erlang external format. -
Method Summary
Modifier and TypeMethodDescriptionint
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).clone()
protected int
void
encode
(OtpOutputStream buf) Convert this map to the equivalent Erlang external representation.entrySet()
make Set view of the map key-value pairsboolean
Determine if two maps are equal.get
(OtpErlangObject key) Get the specified value from the map.keys()
Get all the keys from the map as an array.<T> boolean
match
(OtpErlangObject term, T binds) Perform match operation against given term.put
(OtpErlangObject key, OtpErlangObject value) Put value corresponding to key into the map.remove
(OtpErlangObject key) removes mapping for the key if present.toString()
Get the string representation of the map.values()
Get all the values from the map as an array.Methods inherited from class com.ericsson.otp.erlang.OtpErlangObject
decode, hashCode
-
Constructor Details
-
OtpErlangMap
public OtpErlangMap()Create an empty map. -
OtpErlangMap
Create a map from an array of keys and an array of values.- Parameters:
keys
- the array of terms to create the map keys from.values
- the array of terms to create the map values from.- Throws:
IllegalArgumentException
- if any array is empty (null) or contains null elements.
-
OtpErlangMap
public OtpErlangMap(OtpErlangObject[] keys, int kstart, int kcount, OtpErlangObject[] values, int vstart, int vcount) Create a map from an array of terms.- Parameters:
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.- Throws:
IllegalArgumentException
- if any array is empty (null) or contains null elements.IllegalArgumentException
- if kcount and vcount differ.
-
OtpErlangMap
Create a map from a stream containing a map encoded in Erlang external format.- Parameters:
buf
- the stream containing the encoded map.- Throws:
OtpErlangDecodeException
- if the buffer does not contain a valid external representation of an Erlang map.
-
-
Method Details
-
arity
public int arity()Get the arity of the map.- Returns:
- the number of elements contained in the map.
-
put
Put value corresponding to key into the map. For detailed behavior description seeMap.put(Object, Object)
.- Parameters:
key
- key to associate value withvalue
- value to associate with key- Returns:
- previous value associated with key or null
-
remove
removes mapping for the key if present.- Parameters:
key
- key for which mapping is to be remove- Returns:
- value associated with key or null
-
get
Get the specified value from the map.- Parameters:
key
- the key of the requested value.- Returns:
- the requested value, of null if key is not a valid key.
-
keys
Get all the keys from the map as an array.- Returns:
- an array containing all of the map's keys.
-
values
Get all the values from the map as an array.- Returns:
- an array containing all of the map's values.
-
entrySet
make Set view of the map key-value pairs- Returns:
- a set containing key-value pairs
-
toString
Get the string representation of the map.- Specified by:
toString
in classOtpErlangObject
- Returns:
- the string representation of the map.
-
encode
Convert this map to the equivalent Erlang external representation.- Specified by:
encode
in classOtpErlangObject
- Parameters:
buf
- an output stream to which the encoded map should be written.
-
equals
Determine if two maps are equal. Maps are equal if they have the same arity and all of the elements are equal.- Specified by:
equals
in classOtpErlangObject
- Parameters:
o
- the map to compare to.- Returns:
- true if the maps have the same arity and all the elements are equal.
-
match
Description copied from class:OtpErlangObject
Perform match operation against given term.- Overrides:
match
in classOtpErlangObject
- Parameters:
term
- the object to matchbinds
- variable bindings- Returns:
- true if match succeeded
-
bind
Description copied from class:OtpErlangObject
Make new Erlang term replacing variables with the respective values from bindings argument(s).- Overrides:
bind
in classOtpErlangObject
- Parameters:
binds
- variable bindings- Returns:
- new term
- Throws:
OtpErlangException
-
doHashCode
protected int doHashCode()- Overrides:
doHashCode
in classOtpErlangObject
-
clone
- Overrides:
clone
in classOtpErlangObject
-