Modifier and Type | Field and Description |
---|---|
static boolean |
DEBUG |
static String |
PROP_OSGI_LOCKING |
CONFIGURATION_FILTER, ECLIPSE_HOME_FILTER, INSTALL_FILTER, INSTANCE_FILTER, USER_FILTER
Constructor and Description |
---|
BasicLocation(String property,
URL defaultValue,
boolean isReadOnly,
String dataAreaPrefix) |
Modifier and Type | Method and Description |
---|---|
boolean |
allowsDefault()
Returns
true if this location allows a default value to be assigned
and false otherwise. |
Location |
createLocation(Location parentLocation,
URL defaultLocation,
boolean readonly)
Constructs a new location.
|
static Locker |
createLocker(File lock,
String lockMode) |
URL |
getDataArea(String filename)
Returns a URL to the specified path within this location.
|
URL |
getDefault()
Returns the default value of this location if any.
|
Location |
getParentLocation()
Returns the parent of this location or
null if none is available. |
URL |
getURL()
Returns the actual
URL of this location. |
boolean |
isLocked()
Returns
true if this location is locked and false
otherwise. |
boolean |
isReadOnly()
Returns
true if this location represents a read only location and
false otherwise. |
boolean |
isSet()
Returns
true if this location has a value and false
otherwise. |
boolean |
lock()
Attempts to lock this location with a canonical locking mechanism and return
true if the lock could be acquired. |
void |
release()
Releases the lock on this location.
|
boolean |
set(URL value,
boolean lock)
Sets and optionally locks the location's value to the given
URL . |
boolean |
set(URL value,
boolean lock,
String lockFilePath)
Sets and optionally locks the location's value to the given
URL using the given lock file. |
void |
setParent(Location value) |
boolean |
setURL(URL value,
boolean lock)
Deprecated.
|
public static final String PROP_OSGI_LOCKING
public static boolean DEBUG
public boolean allowsDefault()
Location
true
if this location allows a default value to be assigned
and false
otherwise.allowsDefault
in interface Location
public URL getDefault()
Location
null
is returned. Note that even locations which allow defaults may still
return null
.getDefault
in interface Location
null
public Location getParentLocation()
Location
null
if none is available.getParentLocation
in interface Location
null
public URL getURL()
Location
URL
of this location. If the location's value has been set,
that value is returned. If the value is not set and the location allows defaults,
the value is set to the default and returned. In all other cases null
is returned.public boolean isSet()
Location
true
if this location has a value and false
otherwise.public boolean isReadOnly()
Location
true
if this location represents a read only location and
false
otherwise. The read only character
of a location is not in enforced in any way but rather expresses the intention of the
location's creator.isReadOnly
in interface Location
public boolean setURL(URL value, boolean lock) throws IllegalStateException
Location
URL
. If the location
already has a value an exception is thrown. If locking is requested and fails, false
is returned and the URL
of this location is not set.setURL
in interface Location
value
- the value of this locationlock
- whether or not to lock this locationIllegalStateException
- if the location's value is already setpublic boolean set(URL value, boolean lock) throws IllegalStateException, IOException
Location
URL
. If the location
already has a value an exception is thrown. If locking is requested and fails, false
is returned and the URL
of this location is not set.set
in interface Location
value
- the value of this locationlock
- whether or not to lock this locationIllegalStateException
- if the location's value is already setIOException
- if there was an unexpected problem while acquiring the lockpublic boolean set(URL value, boolean lock, String lockFilePath) throws IllegalStateException, IOException
Location
URL
using the given lock file. If the location
already has a value an exception is thrown. If locking is requested and fails, false
is returned and the URL
of this location is not set.set
in interface Location
value
- the value of this locationlock
- whether or not to lock this locationlockFilePath
- the path to the lock file. This path will be used to establish locks on this location.
The path may be an absolute path or it may be relative to the given URL. If a null
value is used then a default lock path will be used for this location.IllegalStateException
- if the location's value is already setIOException
- if there was an unexpected problem while acquiring the lockpublic void setParent(Location value)
public boolean lock() throws IOException
Location
true
if the lock could be acquired. Not all locations can be
locked.
Locking a location is advisory only. That is, it does not prevent other applications from modifying the same location
lock
in interface Location
IOException
- if there was an unexpected problem while acquiring the lockpublic boolean isLocked() throws IOException
Location
true
if this location is locked and false
otherwise.isLocked
in interface Location
IOException
- if there was an unexpected problem reading the lockpublic void release()
Location
public Location createLocation(Location parentLocation, URL defaultLocation, boolean readonly)
Location
createLocation
in interface Location
parentLocation
- the parent location. A null
value is allowed.defaultLocation
- the default value of the location. A null
value is allowed.readonly
- true if the location is read-only.public URL getDataArea(String filename) throws IOException
Location
This method can be used to obtain a private area within the given location. For example use the symbolic name of a bundle to obtain a data area specific to that bundle.
Clients should check if the location is read only before writing anything
to the returned data area. An IOException
will be thrown if
this method is called and the location URL has not been set and there is
no default value for this location.
getDataArea
in interface Location
filename
- the name of the path to get from this locationIOException
- if the location URL is not already setCopyright © 2007–2018 The Apache Software Foundation. All rights reserved.