public final class NSDefaults extends java.lang.Object implements java.util.SortedMap<java.lang.String,NSObject>
NSDefaults
is an implementation of the defaults system used in Mac OS X.
The defaults system provides every program that uses it with a key/value store. Keys are String
s, values are NSObject
s.
NSDefaults
behaves like NSDictionary
in the sense that both represent key/value pairs in property list files,
but NSDictionary
is linked to a specific file and is editable.NSDefaults
but this is discouraged.
The preferred way to instantiate NSDefaults
is by using the getInstance(Object, Scope)
method,
which will instantiate NSDefaults
for the domain the Object
belongs to.addDomain(String)
method,
which will cause the domain to be "learned".Modifier and Type | Field and Description |
---|---|
static net.sf.plist.defaults.OperatingSystemPath |
OSPATH
Instance of
OperatingSystemPath for current operating system |
Constructor and Description |
---|
NSDefaults(java.io.File file)
Construct using a fixed file.
|
Modifier and Type | Method and Description |
---|---|
static void |
addDomain(java.lang.String domain)
"Learn" a domain
|
void |
clear() |
void |
commit()
Write all changes to the Property List file
|
java.util.Comparator<? super java.lang.String> |
comparator() |
boolean |
containsKey(java.lang.Object key) |
boolean |
containsValue(java.lang.Object value) |
java.util.Set<java.util.Map.Entry<java.lang.String,NSObject>> |
entrySet() |
java.lang.String |
firstKey() |
NSObject |
get(java.lang.Object key) |
static java.lang.String |
getDomainForName(java.lang.String canonicalName)
Translate a canonicalName to a domain
|
static java.lang.String[] |
getDomains()
Return an array of all domains known to
NSDefaults
This includes both domains added through addDomain(String)
as well as domains already in used on the local computer |
static NSDefaults |
getGlobalInstance(Scope scope)
Get the global domain instance
|
static NSDefaults |
getInstance(java.lang.Class<?> baseClass,
Scope scope)
Get instance for a given class
|
static NSDefaults |
getInstance(java.lang.Object baseObject,
Scope scope)
Get instance for a given object
|
static NSDefaults |
getInstance(java.lang.String domain,
Scope scope)
Get instance for a given domain
|
Scope |
getScope()
Get the scope for this instance.
|
java.util.SortedMap<java.lang.String,NSObject> |
headMap(java.lang.String toKey) |
static void |
initDomains() |
boolean |
isEmpty() |
java.util.Set<java.lang.String> |
keySet() |
java.lang.String |
lastKey() |
static void |
main(java.lang.String... args) |
NSObject |
put(java.lang.String key,
NSObject value) |
void |
putAll(java.util.Map<? extends java.lang.String,? extends NSObject> m) |
void |
refresh()
Re-read all information from the Property List file
|
NSObject |
remove(java.lang.Object key) |
int |
size() |
java.util.SortedMap<java.lang.String,NSObject> |
subMap(java.lang.String fromKey,
java.lang.String toKey) |
java.util.SortedMap<java.lang.String,NSObject> |
tailMap(java.lang.String fromKey) |
NSDictionary |
toDictionary()
Get the root of this
NSDefaults as NSDictionary |
java.util.Collection<NSObject> |
values() |
public static final net.sf.plist.defaults.OperatingSystemPath OSPATH
OperatingSystemPath
for current operating systempublic NSDefaults(java.io.File file)
getInstance(Object, Scope)
instead.file
- The PList file used, the file may be overwrittenpublic static void initDomains()
public static void main(java.lang.String... args)
public void commit() throws PropertyListException, java.io.IOException
PropertyListException
- constructing the Property List file failedjava.io.IOException
- writing the file failedpublic void refresh()
public static final NSDefaults getGlobalInstance(Scope scope)
scope
- the scopepublic static final NSDefaults getInstance(java.lang.String domain, Scope scope)
domain
- the domain, null for the global preferencesscope
- the scopepublic static final NSDefaults getInstance(java.lang.Class<?> baseClass, Scope scope)
baseClass
- the classscope
- the scopepublic static final NSDefaults getInstance(java.lang.Object baseObject, Scope scope)
baseObject
- the objectscope
- the scopepublic static java.lang.String getDomainForName(java.lang.String canonicalName)
canonicalName
- the canonical namepublic static void addDomain(java.lang.String domain)
domain
- the domainpublic static java.lang.String[] getDomains()
NSDefaults
This includes both domains added through addDomain(String)
as well as domains already in used on the local computerpublic NSDictionary toDictionary()
NSDefaults
as NSDictionary
public Scope getScope()
public int size()
size
in interface java.util.Map<java.lang.String,NSObject>
public boolean isEmpty()
isEmpty
in interface java.util.Map<java.lang.String,NSObject>
public boolean containsKey(java.lang.Object key)
containsKey
in interface java.util.Map<java.lang.String,NSObject>
public boolean containsValue(java.lang.Object value)
containsValue
in interface java.util.Map<java.lang.String,NSObject>
public NSObject get(java.lang.Object key)
get
in interface java.util.Map<java.lang.String,NSObject>
public NSObject put(java.lang.String key, NSObject value)
put
in interface java.util.Map<java.lang.String,NSObject>
public NSObject remove(java.lang.Object key)
remove
in interface java.util.Map<java.lang.String,NSObject>
public void putAll(java.util.Map<? extends java.lang.String,? extends NSObject> m)
putAll
in interface java.util.Map<java.lang.String,NSObject>
public void clear()
clear
in interface java.util.Map<java.lang.String,NSObject>
public java.util.Comparator<? super java.lang.String> comparator()
comparator
in interface java.util.SortedMap<java.lang.String,NSObject>
public java.util.SortedMap<java.lang.String,NSObject> subMap(java.lang.String fromKey, java.lang.String toKey)
subMap
in interface java.util.SortedMap<java.lang.String,NSObject>
public java.util.SortedMap<java.lang.String,NSObject> headMap(java.lang.String toKey)
headMap
in interface java.util.SortedMap<java.lang.String,NSObject>
public java.util.SortedMap<java.lang.String,NSObject> tailMap(java.lang.String fromKey)
tailMap
in interface java.util.SortedMap<java.lang.String,NSObject>
public java.lang.String firstKey()
firstKey
in interface java.util.SortedMap<java.lang.String,NSObject>
public java.lang.String lastKey()
lastKey
in interface java.util.SortedMap<java.lang.String,NSObject>
public java.util.Set<java.lang.String> keySet()
public java.util.Collection<NSObject> values()