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 TypeMethodDescriptionvoidclear()Theclearmethod is used to wipe out all the currently existing pairs from the collection.booleancontainsKey(Object name) This is used to determine whether a value representing the name of a pair has been inserted into the internal map.booleancontainsValue(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.Thegetmethod is used to acquire the value for a named pair.getMap()This returns the inner map used by the session object.booleanisEmpty()This method is used to determine whether the session has any pairs available.booleanisStrict()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.Theputmethod is used to insert the name and value provided into the internal session map.voidThis method is used to insert a collection of mappings into the session map.Theremovemethod is used to remove the named mapping from the internal session map.intsize()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, waitMethods 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 theSessionobject. 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 theSessionobject. 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 theMapinstance 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 thesizeis zero then the session is empty and this returns true. The is acts as a proxy the theisEmptyof 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:
containsKeyin 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:
containsValuein 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
Thegetmethod 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
Theputmethod 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
Theremovemethod 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()Theclearmethod 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.
-