public interface Location
This interface is not intended to be implemented by clients.
Modifier and Type | Field and Description |
---|---|
static String |
CONFIGURATION_FILTER
Constant which defines the filter string for acquiring the service which
specifies the configuration location.
|
static String |
ECLIPSE_HOME_FILTER
Constant which defines the filter string for acquiring the service which
specifies the eclipse home location.
|
static String |
INSTALL_FILTER
Constant which defines the filter string for acquiring the service which
specifies the install location.
|
static String |
INSTANCE_FILTER
Constant which defines the filter string for acquiring the service which
specifies the instance location.
|
static String |
USER_FILTER
Constant which defines the filter string for acquiring the service which
specifies the user location.
|
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 parent,
URL defaultValue,
boolean readonly)
Constructs a new location.
|
URL |
getDataArea(String path)
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. |
boolean |
setURL(URL value,
boolean lock)
Deprecated.
use
set(URL, boolean) instead. |
static final String INSTANCE_FILTER
static final String INSTALL_FILTER
static final String CONFIGURATION_FILTER
static final String USER_FILTER
static final String ECLIPSE_HOME_FILTER
boolean allowsDefault()
true
if this location allows a default value to be assigned
and false
otherwise.URL getDefault()
null
is returned. Note that even locations which allow defaults may still
return null
.null
Location getParentLocation()
null
if none is available.null
URL getURL()
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.null
if noneboolean isSet()
true
if this location has a value and false
otherwise.boolean isReadOnly()
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.boolean setURL(URL value, boolean lock) throws IllegalStateException
set(URL, boolean)
instead.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.value
- the value of this locationlock
- whether or not to lock this locationIllegalStateException
- if the location's value is already setboolean set(URL value, boolean lock) throws IllegalStateException, IOException
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.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 lockboolean set(URL value, boolean lock, String lockFilePath) throws IllegalStateException, IOException
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.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 lockboolean lock() throws IOException
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
IOException
- if there was an unexpected problem while acquiring the lockvoid release()
boolean isLocked() throws IOException
true
if this location is locked and false
otherwise.IOException
- if there was an unexpected problem reading the lockLocation createLocation(Location parent, URL defaultValue, boolean readonly)
parent
- the parent location. A null
value is allowed.defaultValue
- the default value of the location. A null
value is allowed.readonly
- true if the location is read-only.URL getDataArea(String path) throws IOException
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.
path
- 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.