| 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()
Locationtrue if this location allows a default value to be assigned
and false otherwise.allowsDefault in interface Locationpublic URL getDefault()
Locationnull is returned. Note that even locations which allow defaults may still
return null.getDefault in interface Locationnullpublic Location getParentLocation()
Locationnull if none is available.getParentLocation in interface Locationnullpublic URL getURL()
LocationURL 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()
Locationtrue if this location has a value and false
otherwise.public boolean isReadOnly()
Locationtrue 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 Locationpublic boolean setURL(URL value, boolean lock) throws IllegalStateException
LocationURL. 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 Locationvalue - 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
LocationURL. 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 Locationvalue - 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
LocationURL 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 Locationvalue - 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
Locationtrue 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 LocationIOException - if there was an unexpected problem while acquiring the lockpublic boolean isLocked()
throws IOException
Locationtrue if this location is locked and false
otherwise.isLocked in interface LocationIOException - if there was an unexpected problem reading the lockpublic void release()
Locationpublic Location createLocation(Location parentLocation, URL defaultLocation, boolean readonly)
LocationcreateLocation in interface LocationparentLocation - 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
LocationThis 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 Locationfilename - the name of the path to get from this locationIOException - if the location URL is not already setCopyright © 2007–2016 The Apache Software Foundation. All rights reserved.