Package org.simpleframework.xml.core
Class Session
java.lang.Object
org.simpleframework.xml.core.Session
- All Implemented Interfaces:
Map
The
Session
object represents a session with name
value pairs. The persister uses this to allow objects to add
or remove name value pairs to an from an internal map. This is
done so that the deserialized objects can set template values
as well as share information. In particular this is useful for
any Strategy
implementation as it allows it so
store persistence state during the persistence process.
Another important reason for the session map is that it is used to wrap the map that is handed to objects during callback methods. This opens the possibility for those objects to grab a reference to the map, which will cause problems for any of the strategy implementations that wanted to use the session reference for weakly storing persistence artifacts.
- See Also:
-
Nested Class Summary
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
clear()
Theclear
method is used to wipe out all the currently existing pairs from the collection.boolean
containsKey
(Object name) This is used to determine whether a value representing the name of a pair has been inserted into the internal map.boolean
containsValue
(Object value) This method is used to determine whether any pair that has been inserted into the internal map had the presented value.entrySet()
This method is used to acquire the name and value pairs that have currently been collected by this session.Theget
method is used to acquire the value for a named pair.getMap()
This returns the inner map used by the session object.boolean
isEmpty()
This method is used to determine whether the session has any pairs available.boolean
isStrict()
This is used to determine if the deserialization mode is strict or not.keySet()
This is used to acquire the names for all the pairs that have currently been collected by this session.Theput
method is used to insert the name and value provided into the internal session map.void
This method is used to insert a collection of mappings into the session map.Theremove
method is used to remove the named mapping from the internal session map.int
size()
This obviously enough provides the number of pairs that have been inserted into the internal map.values()
This method is used to acquire the value for all pairs that have currently been collected by this session.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface java.util.Map
compute, computeIfAbsent, computeIfPresent, equals, forEach, getOrDefault, hashCode, merge, putIfAbsent, remove, replace, replace, replaceAll
-
Field Details
-
map
This is the internal map that provides storage for pairs. -
strict
private final boolean strictThis is used to determine if this session is a strict one.
-
-
Constructor Details
-
Session
public Session()Constructor for theSession
object. This is used to create a new session that makes use of a hash map to store key value pairs which are maintained throughout the duration of the persistence process this is used in. -
Session
public Session(boolean strict) Constructor for theSession
object. This is used to create a new session that makes use of a hash map to store key value pairs which are maintained throughout the duration of the persistence process this is used in.- Parameters:
strict
- this is used to determine the strictness
-
-
Method Details
-
isStrict
public boolean isStrict()This is used to determine if the deserialization mode is strict or not. If this is not strict then deserialization will be done in such a way that additional elements and attributes can be ignored. This allows external XML formats to be used without having to match the object structure to the XML fully.- Returns:
- this returns true if the deserialization is strict
-
getMap
This returns the inner map used by the session object. The internal map is theMap
instance that is used for persister callbacks, a reference to this map can be safely made by any object receiving a callback.- Returns:
- this returns the internal session map used
-
size
public int size()This obviously enough provides the number of pairs that have been inserted into the internal map. This acts as a proxy method for the internal mapsize
. -
isEmpty
public boolean isEmpty()This method is used to determine whether the session has any pairs available. If thesize
is zero then the session is empty and this returns true. The is acts as a proxy the theisEmpty
of the internal map. -
containsKey
This is used to determine whether a value representing the name of a pair has been inserted into the internal map. The object passed into this method is typically a string which references a template variable but can be any object.- Specified by:
containsKey
in interfaceMap
- Parameters:
name
- this is the name of a pair within the map- Returns:
- this returns true if the pair of that name exists
-
containsValue
This method is used to determine whether any pair that has been inserted into the internal map had the presented value. If one or more pairs within the collected mappings contains the value provided then this method will return true.- Specified by:
containsValue
in interfaceMap
- Parameters:
value
- this is the value that is to be searched for- Returns:
- this returns true if any value is equal to this
-
get
Theget
method is used to acquire the value for a named pair. So if a mapping for the specified name exists within the internal map the mapped entry value is returned. -
put
Theput
method is used to insert the name and value provided into the internal session map. The inserted value will be available to all objects receiving callbacks. -
remove
Theremove
method is used to remove the named mapping from the internal session map. This ensures that the mapping is no longer available for persister callbacks. -
putAll
This method is used to insert a collection of mappings into the session map. This is used when another source of pairs is required to populate the collection currently maintained within this sessions internal map. Any pairs that currently exist with similar names will be overwritten by this. -
keySet
This is used to acquire the names for all the pairs that have currently been collected by this session. This is used to determine which mappings are available within the map. -
values
This method is used to acquire the value for all pairs that have currently been collected by this session. This is used to determine the values that are available in the session. -
entrySet
This method is used to acquire the name and value pairs that have currently been collected by this session. This is used to determine which mappings are available within the session. -
clear
public void clear()Theclear
method is used to wipe out all the currently existing pairs from the collection. This is used when all mappings within the session should be erased.
-