Skip to content

Most visited

Recently visited

navigation
Added in API level 1

Preferences

public abstract class Preferences
extends Object

java.lang.Object
   ↳ java.util.prefs.Preferences
Known Direct Subclasses


An instance of the class Preferences represents one node in a preference tree, which provides a mechanism to store and access configuration data in a hierarchical way. Two hierarchy trees are maintained, one for system preferences shared by all users and the other for user preferences specific to the user. Preferences hierarchy trees and data are stored in an implementation-dependent back-end.

Every node has one name and one unique absolute path following the same notational conventions as directories in a file system. The root node's name is "", and other node name strings cannot contain the slash character and cannot be empty. The root node's absolute path is "/", and all other nodes' absolute paths are constructed in the standard way: <parent's absolute path> + "/" + <node's name>. Since the set of nodes forms a tree with the root node at its base, all absolute paths start with the slash character. Every node has one relative path to each of its ancestors. The relative path doesn't start with slash: it equals the node's absolute path with leading substring removed corresponding to the ancestor's absolute path and a slash.

Modification to preferences data may be asynchronous, which means that preference update method calls may return immediately instead of blocking. The flush() and sync() methods force the back-end to synchronously perform all pending updates, but the implementation is permitted to perform the modifications on the underlying back-end data at any time between the moment the request is made and the moment the flush() or sync() method returns. Please note that if the JVM exits normally, the implementation must assure all modifications are persisted implicitly.

When invoking a method that retrieves preferences, the user must provide a default value. The default value is returned when the preferences cannot be found or the back-end is unavailable. Some other methods will throw BackingStoreException when the back-end is unavailable.

Preferences can be exported to and imported from an XML files. These documents must have an XML DOCTYPE declaration:


 
This system URI is not really accessed by network, it is only a identification string. Visit the DTD location to see the actual format permitted.

There must be a concrete PreferencesFactory type for every concrete Preferences type developed. Every J2SE implementation must provide a default implementation for every supported platform, and must also provide a means of replacing the default implementation. This implementation uses the system property java.util.prefs.PreferencesFactory to determine which preferences implementation to use.

The methods of this class are thread-safe. If multiple JVMs are using the same back-end concurrently, the back-end won't be corrupted, but no other behavior guarantees are made.

See also:

Summary

Constants

int MAX_KEY_LENGTH

Maximum size in characters allowed for a preferences key.

int MAX_NAME_LENGTH

Maximum size in characters allowed for a preferences name.

int MAX_VALUE_LENGTH

Maximum size in characters allowed for a preferences value.

Protected constructors

Preferences()

Default constructor, for use by subclasses only.

Public methods

abstract String absolutePath()

Gets the absolute path string of this preference node.

abstract void addNodeChangeListener(NodeChangeListener ncl)

Registers a NodeChangeListener instance for this node, which will handle NodeChangeEvents.

abstract void addPreferenceChangeListener(PreferenceChangeListener pcl)

Registers a PreferenceChangeListener instance for this node, which will handle PreferenceChangeEvents.

abstract String[] childrenNames()

Returns the names of all children of this node or an empty array if this node has no children.

abstract void clear()

Removes all preferences of this node.

abstract void exportNode(OutputStream ostream)

Exports all of the preferences of this node to a XML document using the given output stream.

abstract void exportSubtree(OutputStream ostream)

Exports all of the preferences of this node and all its descendants to a XML document using the given output stream.

abstract void flush()

Forces all pending updates to this node and its descendants to be persisted in the backing store.

abstract String get(String key, String deflt)

Gets the String value mapped to the given key or its default value if no value is mapped or no backing store is available.

abstract boolean getBoolean(String key, boolean deflt)

Gets the boolean value mapped to the given key or its default value if no value is mapped, if the backing store is unavailable, or if the value is invalid.

abstract byte[] getByteArray(String key, byte[] deflt)

Gets the byte array value mapped to the given key or its default value if no value is mapped, if the backing store is unavailable, or if the value is an invalid string.

abstract double getDouble(String key, double deflt)

Gets the double value mapped to the given key or its default value if no value is mapped, if the backing store is unavailable, or if the value is an invalid string.

abstract float getFloat(String key, float deflt)

Gets the float value mapped to the given key or its default value if no value is mapped, if the backing store is unavailable, or if the value is an invalid string.

abstract int getInt(String key, int deflt)

Gets the int value mapped to the given key or its default value if no value is mapped, if the backing store is unavailable, or if the value is an invalid string.

abstract long getLong(String key, long deflt)

Gets the long value mapped to the given key or its default value if no value is mapped, if the backing store is unavailable, or if the value is an invalid string.

static void importPreferences(InputStream istream)

Imports all the preferences from an XML document using the given input stream.

abstract boolean isUserNode()

Returns whether this is a user preference node.

abstract String[] keys()

Returns all preference keys stored in this node or an empty array if no key was found.

abstract String name()

Returns the name of this node.

abstract Preferences node(String path)

Returns the preference node with the given path name.

abstract boolean nodeExists(String path)

Returns whether the preference node with the given path name exists.

abstract Preferences parent()

Returns the parent preference node of this node or null if this node is the root node.

abstract void put(String key, String value)

Adds a new preference to this node using the given key and value or updates the value if a preference with the given key already exists.

abstract void putBoolean(String key, boolean value)

Adds a new preference with a boolean value to this node using the given key and value or updates the value if a preference with the given key already exists.

abstract void putByteArray(String key, byte[] value)

Adds a new preference to this node using the given key and the string form of the given value or updates the value if a preference with the given key already exists.

abstract void putDouble(String key, double value)

Adds a new preference to this node using the given key and double value or updates the value if a preference with the given key already exists.

abstract void putFloat(String key, float value)

Adds a new preference to this node using the given key and float value or updates the value if a preference with the given key already exists.

abstract void putInt(String key, int value)

Adds a new preference to this node using the given key and int value or updates the value if a preference with the given key already exists.

abstract void putLong(String key, long value)

Adds a new preference to this node using the given key and long value or updates the value if a preference with the given key already exists.

abstract void remove(String key)

Removes the preference mapped to the given key from this node.

abstract void removeNode()

Removes this preference node with all its descendants.

abstract void removeNodeChangeListener(NodeChangeListener ncl)

Removes the given NodeChangeListener instance from this node.

abstract void removePreferenceChangeListener(PreferenceChangeListener pcl)

Removes the given PreferenceChangeListener instance from this node.

abstract void sync()

Synchronizes the data of this preference node and its descendants with the back-end preference store.

static Preferences systemNodeForPackage(Class<?> c)

Legacy code; do not use.

static Preferences systemRoot()

Legacy code; do not use.

abstract String toString()

Returns a string representation of this node.

static Preferences userNodeForPackage(Class<?> c)

Legacy code; do not use.

static Preferences userRoot()

Legacy code; do not use.

Inherited methods

From class java.lang.Object

Constants

MAX_KEY_LENGTH

Added in API level 1
int MAX_KEY_LENGTH

Maximum size in characters allowed for a preferences key.

Constant Value: 80 (0x00000050)

MAX_NAME_LENGTH

Added in API level 1
int MAX_NAME_LENGTH

Maximum size in characters allowed for a preferences name.

Constant Value: 80 (0x00000050)

MAX_VALUE_LENGTH

Added in API level 1
int MAX_VALUE_LENGTH

Maximum size in characters allowed for a preferences value.

Constant Value: 8192 (0x00002000)

Protected constructors

Preferences

Added in API level 1
Preferences ()

Default constructor, for use by subclasses only.

Public methods

absolutePath

Added in API level 1
String absolutePath ()

Gets the absolute path string of this preference node.

Returns
String the preference node's absolute path string.

addNodeChangeListener

Added in API level 1
void addNodeChangeListener (NodeChangeListener ncl)

Registers a NodeChangeListener instance for this node, which will handle NodeChangeEvents. NodeChangeEvents will be fired when a child node has been added to or removed from this node.

Parameters
ncl NodeChangeListener: the listener to be registered.
Throws
NullPointerException if the given listener is null.
IllegalStateException if this node has been removed.

addPreferenceChangeListener

Added in API level 1
void addPreferenceChangeListener (PreferenceChangeListener pcl)

Registers a PreferenceChangeListener instance for this node, which will handle PreferenceChangeEvents. PreferenceChangeEvents will be fired when a preference has been added to, removed from, or updated for this node.

Parameters
pcl PreferenceChangeListener: the listener to be registered.
Throws
NullPointerException if the given listener is null.
IllegalStateException if this node has been removed.

childrenNames

Added in API level 1
String[] childrenNames ()

Returns the names of all children of this node or an empty array if this node has no children.

Returns
String[] the names of all children of this node.
Throws
BackingStoreException if backing store is unavailable or causes an operation failure.
IllegalStateException if this node has been removed.

clear

Added in API level 1
void clear ()

Removes all preferences of this node.

Throws
BackingStoreException if backing store is unavailable or causes an operation failure.
IllegalStateException if this node has been removed.

exportNode

Added in API level 1
void exportNode (OutputStream ostream)

Exports all of the preferences of this node to a XML document using the given output stream.

This XML document uses the UTF-8 encoding and is written according to the DTD in its DOCTYPE declaration, which is the following:

 <!DOCTYPE preferences SYSTEM "http://java.sun.com/dtd/preferences.dtd">
 
Please note that (unlike the methods of this class that don't concern serialization), this call is not thread-safe.

Parameters
ostream OutputStream: the output stream to write the XML-formatted data to.
Throws
IOException if an error occurs while exporting.
BackingStoreException if the backing store is unavailable or causes an operation failure.
IllegalStateException if this node has been removed.

exportSubtree

Added in API level 1
void exportSubtree (OutputStream ostream)

Exports all of the preferences of this node and all its descendants to a XML document using the given output stream.

This XML document uses the UTF-8 encoding and is written according to the DTD in its DOCTYPE declaration, which is the following:

 <!DOCTYPE preferences SYSTEM "http://java.sun.com/dtd/preferences.dtd">
 
Please note that (unlike the methods of this class that don't concern serialization), this call is not thread-safe.

Parameters
ostream OutputStream: the output stream to write the XML-formatted data to.
Throws
IOException if an error occurs while exporting.
BackingStoreException if the backing store is unavailable or causes an operation failure.
IllegalStateException if this node has been removed.

flush

Added in API level 1
void flush ()

Forces all pending updates to this node and its descendants to be persisted in the backing store.

If this node has been removed, the invocation of this method only flushes this node, not its descendants.

Throws
BackingStoreException if the backing store is unavailable or causes an operation failure.

get

Added in API level 1
String get (String key, 
                String deflt)

Gets the String value mapped to the given key or its default value if no value is mapped or no backing store is available.

Some implementations may store default values in backing stores. In this case, if there is no value mapped to the given key, the stored default value is returned.

Parameters
key String: the preference key.
deflt String: the default value, which will be returned if no value is mapped to the given key or no backing store is available.
Returns
String the preference value mapped to the given key.
Throws
IllegalStateException if this node has been removed.
NullPointerException if the parameter key is null.

getBoolean

Added in API level 1
boolean getBoolean (String key, 
                boolean deflt)

Gets the boolean value mapped to the given key or its default value if no value is mapped, if the backing store is unavailable, or if the value is invalid.

The only valid values are the String "true", which represents true and "false", which represents false, ignoring case.

Some implementations may store default values in backing stores. In this case, if there is no value mapped to the given key, the stored default value is returned.

Parameters
key String: the preference key.
deflt boolean: the default value, which will be returned if no value is mapped to the given key, if the backing store is unavailable, or if the value is invalid.
Returns
boolean the boolean value mapped to the given key.
Throws
IllegalStateException if this node has been removed.
NullPointerException if the parameter key is null.

getByteArray

Added in API level 1
byte[] getByteArray (String key, 
                byte[] deflt)

Gets the byte array value mapped to the given key or its default value if no value is mapped, if the backing store is unavailable, or if the value is an invalid string.

To be valid, the value string must be Base64-encoded binary data. The Base64 encoding is as defined in RFC 2045, section 6.8.

Some implementations may store default values in backing stores. In this case, if there is no value mapped to the given key, the stored default value is returned.

Parameters
key String: the preference key.
deflt byte: the default value, which will be returned if no value is mapped to the given key, if the backing store is unavailable, or if the value is invalid.
Returns
byte[] the byte array value mapped to the given key.
Throws
IllegalStateException if this node has been removed.
NullPointerException if the parameter key is null.

getDouble

Added in API level 1
double getDouble (String key, 
                double deflt)

Gets the double value mapped to the given key or its default value if no value is mapped, if the backing store is unavailable, or if the value is an invalid string.

To be valid, the value string must be a string that can be converted to a double by Double.parseDouble(String).

Some implementations may store default values in backing stores. In this case, if there is no value mapped to the given key, the stored default value is returned.

Parameters
key String: the preference key.
deflt double: the default value, which will be returned if no value is mapped to the given key, if the backing store is unavailable, or if the value is invalid.
Returns
double the double value mapped to the given key.
Throws
IllegalStateException if this node has been removed.
NullPointerException if the parameter key is null.

getFloat

Added in API level 1
float getFloat (String key, 
                float deflt)

Gets the float value mapped to the given key or its default value if no value is mapped, if the backing store is unavailable, or if the value is an invalid string.

To be valid, the value string must be a string that can be converted to a float by Float.parseFloat(String).

Some implementations may store default values in backing stores. In this case, if there is no value mapped to the given key, the stored default value is returned.

Parameters
key String: the preference key.
deflt float: the default value, which will be returned if no value is mapped to the given key, if the backing store is unavailable, or if the value is invalid.
Returns
float the float value mapped to the given key.
Throws
IllegalStateException if this node has been removed.
NullPointerException if the parameter key is null.

getInt

Added in API level 1
int getInt (String key, 
                int deflt)

Gets the int value mapped to the given key or its default value if no value is mapped, if the backing store is unavailable, or if the value is an invalid string.

To be valid, the value string must be a string that can be converted to an int by Integer.parseInt(String).

Some implementations may store default values in backing stores. In this case, if there is no value mapped to the given key, the stored default value is returned.

Parameters
key String: the preference key.
deflt int: the default value, which will be returned if no value is mapped to the given key, if the backing store is unavailable, or if the value is invalid.
Returns
int the integer value mapped to the given key.
Throws
IllegalStateException if this node has been removed.
NullPointerException if the parameter key is null.

getLong

Added in API level 1
long getLong (String key, 
                long deflt)

Gets the long value mapped to the given key or its default value if no value is mapped, if the backing store is unavailable, or if the value is an invalid string.

To be valid, the value string must be a string that can be converted to a long by Long.parseLong(String).

Some implementations may store default values in backing stores. In this case, if there is no value mapped to the given key, the stored default value is returned.

Parameters
key String: the preference key.
deflt long: the default value, which will be returned if no value is mapped to the given key, if the backing store is unavailable, or if the value is invalid.
Returns
long the long value mapped to the given key.
Throws
IllegalStateException if this node has been removed.
NullPointerException if the parameter key is null.

importPreferences

Added in API level 1
void importPreferences (InputStream istream)

Imports all the preferences from an XML document using the given input stream.

This XML document uses the UTF-8 encoding and must be written according to the DTD in its DOCTYPE declaration, which must be the following:

 <!DOCTYPE preferences SYSTEM "http://java.sun.com/dtd/preferences.dtd">
 
Please note that (unlike the methods of this class that don't concern serialization), this call is not thread-safe.

Parameters
istream InputStream: the input stream to read the data from.
Throws
InvalidPreferencesFormatException if the data read from the given input stream is not from a valid XML document.
IOException if an error occurs while importing.

isUserNode

Added in API level 1
boolean isUserNode ()

Returns whether this is a user preference node.

Returns
boolean true, if this is a user preference node, false if this is a system preference node.

keys

Added in API level 1
String[] keys ()

Returns all preference keys stored in this node or an empty array if no key was found.

Returns
String[] the list of all preference keys of this node.
Throws
BackingStoreException if the backing store is unavailable or causes an operation failure.
IllegalStateException if this node has been removed.

name

Added in API level 1
String name ()

Returns the name of this node.

Returns
String the name of this node.

node

Added in API level 1
Preferences node (String path)

Returns the preference node with the given path name. The path name can be relative or absolute. The requested node and its ancestors will be created if they do not exist.

The path is treated as relative to this node if it doesn't start with a slash, otherwise it will be treated as an absolute path.

Parameters
path String: the path name of the requested preference node.
Returns
Preferences the requested preference node.
Throws
IllegalStateException if this node has been removed.
IllegalArgumentException if the path name is invalid.
NullPointerException if the given path is null.

nodeExists

Added in API level 1
boolean nodeExists (String path)

Returns whether the preference node with the given path name exists. The path is treated as relative to this node if it doesn't start with a slash, otherwise it is treated as an absolute path.

Please note that if this node has been removed, an invocation of this node will throw an IllegalStateException unless the given path is an empty string, which will return false.

Parameters
path String: the path name of the preference node to query.
Returns
boolean true, if the queried preference node exists, false otherwise.
Throws
IllegalStateException if this node has been removed and the path is not an empty string.
IllegalArgumentException if the path name is invalid.
NullPointerException if the given path is null.
BackingStoreException if the backing store is unavailable or causes an operation failure.

parent

Added in API level 1
Preferences parent ()

Returns the parent preference node of this node or null if this node is the root node.

Returns
Preferences the parent preference node of this node.
Throws
IllegalStateException if this node has been removed.

put

Added in API level 1
void put (String key, 
                String value)

Adds a new preference to this node using the given key and value or updates the value if a preference with the given key already exists.

Parameters
key String: the preference key to be added or updated.
value String: the preference value for the given key.
Throws
NullPointerException if the given key or value is null.
IllegalArgumentException if the given key's length is bigger than MAX_KEY_LENGTH or the value's length is bigger than MAX_VALUE_LENGTH.
IllegalStateException if this node has been removed.

putBoolean

Added in API level 1
void putBoolean (String key, 
                boolean value)

Adds a new preference with a boolean value to this node using the given key and value or updates the value if a preference with the given key already exists.

Parameters
key String: the preference key to be added or updated.
value boolean: the preference boolean value for the given key.
Throws
NullPointerException if the given key is null.
IllegalArgumentException if the given key's length is bigger than MAX_KEY_LENGTH.
IllegalStateException if this node has been removed.

putByteArray

Added in API level 1
void putByteArray (String key, 
                byte[] value)

Adds a new preference to this node using the given key and the string form of the given value or updates the value if a preference with the given key already exists.

The string form of the value is the Base64-encoded binary data of the given byte array. The Base64 encoding is as defined in RFC 2045, section 6.8.

Parameters
key String: the preference key to be added or updated.
value byte: the preference value for the given key.
Throws
NullPointerException if the given key or value is null.
IllegalArgumentException if the given key's length is bigger than MAX_KEY_LENGTH or value's length is bigger than three quarters of MAX_KEY_LENGTH.
IllegalStateException if this node has been removed.

putDouble

Added in API level 1
void putDouble (String key, 
                double value)

Adds a new preference to this node using the given key and double value or updates the value if a preference with the given key already exists.

The value is stored in its string form, which is the result of invoking Double.toString(double).

Parameters
key String: the preference key to be added or updated.
value double: the preference value for the given key.
Throws
NullPointerException if the given key is null.
IllegalArgumentException if the given key's length is bigger than MAX_KEY_LENGTH.
IllegalStateException if this node has been removed.

putFloat

Added in API level 1
void putFloat (String key, 
                float value)

Adds a new preference to this node using the given key and float value or updates the value if a preference with the given key already exists.

The value is stored in its string form, which is the result of invoking Float.toString(float).

Parameters
key String: the preference key to be added or updated.
value float: the preference value for the given key.
Throws
NullPointerException if the given key is null.
IllegalArgumentException if the given key's length is bigger than MAX_KEY_LENGTH.
IllegalStateException if this node has been removed.

putInt

Added in API level 1
void putInt (String key, 
                int value)

Adds a new preference to this node using the given key and int value or updates the value if a preference with the given key already exists.

The value is stored in its string form, which is the result of invoking Integer.toString(int).

Parameters
key String: the preference key to be added or updated.
value int: the preference value for the given key.
Throws
NullPointerException if the given key is null.
IllegalArgumentException if the given key's length is bigger than MAX_KEY_LENGTH.
IllegalStateException if this node has been removed.

putLong

Added in API level 1
void putLong (String key, 
                long value)

Adds a new preference to this node using the given key and long value or updates the value if a preference with the given key already exists.

The value is stored in its string form, which is the result of invoking Long.toString(long).

Parameters
key String: the preference key to be added or updated.
value long: the preference value for the given key.
Throws
NullPointerException if the given key is null.
IllegalArgumentException if the given key's length is bigger than MAX_KEY_LENGTH.
IllegalStateException if this node has been removed.

remove

Added in API level 1
void remove (String key)

Removes the preference mapped to the given key from this node.

Parameters
key String: the key of the preference to be removed.
Throws
NullPointerException if the given key is null.
IllegalStateException if this node has been removed.

removeNode

Added in API level 1
void removeNode ()

Removes this preference node with all its descendants. The removal won't necessarily be persisted until the method flush() is invoked.

Throws
BackingStoreException if the backing store is unavailable or causes an operation failure.
IllegalStateException if this node has been removed.
UnsupportedOperationException if this is a root node.

removeNodeChangeListener

Added in API level 1
void removeNodeChangeListener (NodeChangeListener ncl)

Removes the given NodeChangeListener instance from this node.

Parameters
ncl NodeChangeListener: the listener to be removed.
Throws
IllegalArgumentException if the given listener is null.
IllegalStateException if this node has been removed.

removePreferenceChangeListener

Added in API level 1
void removePreferenceChangeListener (PreferenceChangeListener pcl)

Removes the given PreferenceChangeListener instance from this node.

Parameters
pcl PreferenceChangeListener: the listener to be removed.
Throws
IllegalArgumentException if the given listener is null.
IllegalStateException if this node has been removed.

sync

Added in API level 1
void sync ()

Synchronizes the data of this preference node and its descendants with the back-end preference store. Any changes found in the back-end data should be reflected in this node and its descendants, and at the same time any local changes to this node and descendants should be persisted.

Throws
BackingStoreException if the backing store is unavailable or causes an operation failure.
IllegalStateException if this node has been removed.

systemNodeForPackage

Added in API level 1
Preferences systemNodeForPackage (Class<?> c)

Legacy code; do not use. On Android, the Preference nodes corresponding to the "system" and "user" preferences are stored in sections of the file system that are inaccessible to apps. Further, allowing apps to set "system wide" preferences is contrary to android's security model. Returns the system preference node for the package of the given class. The absolute path of the returned node is one slash followed by the given class's full package name, replacing each period character ('.') with a slash. For example, the absolute path of the preference associated with the class Object would be "/java/lang". As a special case, the unnamed package is associated with a preference node "/<unnamed>". This method will create the node and its ancestors as needed. Any nodes created by this method won't necessarily be persisted until the method flush() is invoked.

Parameters
c Class: the given class.
Returns
Preferences the system preference node for the package of the given class.
Throws
NullPointerException if the given class is null.

systemRoot

Added in API level 1
Preferences systemRoot ()

Legacy code; do not use. On Android, the Preference nodes corresponding to the "system" and "user" preferences are stored in sections of the file system that are inaccessible to apps. Further, allowing apps to set "system wide" preferences is contrary to android's security model. Returns the root node of the system preference hierarchy.

Returns
Preferences the system preference hierarchy root node.

toString

Added in API level 1
String toString ()

Returns a string representation of this node. The format is "User/System Preference Node: " followed by this node's absolute path.

Returns
String the string representation of this node.

userNodeForPackage

Added in API level 1
Preferences userNodeForPackage (Class<?> c)

Legacy code; do not use. On Android, the Preference nodes corresponding to the "system" and "user" preferences are stored in sections of the file system that are inaccessible to apps. Further, allowing apps to set "system wide" preferences is contrary to android's security model.

Returns the user preference node for the package of the given class. The absolute path of the returned node is one slash followed by the given class's full package name, replacing each period character ('.') with a slash. For example, the absolute path of the preference associated with the class Object would be "/java/lang". As a special case, the unnamed package is associated with a preference node "/<unnamed>". This method will create the node and its ancestors as needed. Any nodes created by this method won't necessarily be persisted until the method flush() is invoked.

Parameters
c Class
Returns
Preferences the user preference node for the package of the given class.
Throws
NullPointerException if the given class is null.

userRoot

Added in API level 1
Preferences userRoot ()

Legacy code; do not use. On Android, the Preference nodes corresponding to the "system" and "user" preferences are stored in sections of the file system that are inaccessible to apps. Further, allowing apps to set "system wide" preferences is contrary to android's security model. Returns the root node of the user preference hierarchy.

Returns
Preferences the user preference hierarchy root node.
This site uses cookies to store your preferences for site-specific language and display options.

Hooray!

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.