|
Eclipse Platform 2.1 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Manages a collection of path variables and resolves paths containing a variable reference.
A path variable is a pair of non-null elements (name,value) where name is
a case-sensitive string (containing only letters, digits and the underscore
character, and not starting with a digit), and value is an absolute
IPath
object.
Path variables allow for the creation of relative paths whose exact location in the file system depends on the value of a variable. A variable reference may only appear as the first segment of a relative path.
This interface is not intended to be implemented by clients.
IPath
Method Summary | |
void |
addChangeListener(IPathVariableChangeListener listener)
Registers the given listener to receive notification of changes to path variables. |
String[] |
getPathVariableNames()
Returns an array containing all defined path variable names. |
IPath |
getValue(String name)
Returns the value of the path variable with the given name. |
boolean |
isDefined(String name)
Returns true if the given variable is defined and
false otherwise. |
void |
removeChangeListener(IPathVariableChangeListener listener)
Removes the given path variable change listener from the listeners list. |
IPath |
resolvePath(IPath path)
Resolves a relative IPath object potentially containing a
variable reference as its first segment, replacing the variable reference
(if any) with the variable's value (which is a concrete absolute path). |
void |
setValue(String name,
IPath value)
Sets the path variable with the given name to be the specified value. |
IStatus |
validateName(String name)
Validates the given name as the name for a path variable. |
IStatus |
validateValue(IPath path)
Validates the given path as the value for a path variable. |
Method Detail |
public void setValue(String name, IPath value) throws CoreException
null
.
null
.null
.
null
, or if it is
defined but the given value is equal to its current value.
If a variable is effectively changed, created or removed by a call to this method, notification will be sent to all registered listeners.
name
- the name of the variablevalue
- the value for the variable (may be null
)CoreException
- if this method fails. Reasons include:
public IPath getValue(String name)
null
.name
- the name of the variable to return the value fornull
if there is no
variable defined with the given namepublic String[] getPathVariableNames()
public void addChangeListener(IPathVariableChangeListener listener)
listener
- the listenerIPathVariableChangeListener
public void removeChangeListener(IPathVariableChangeListener listener)
listener
- the listenerIPathVariableChangeListener
public IPath resolvePath(IPath path)
IPath
object potentially containing a
variable reference as its first segment, replacing the variable reference
(if any) with the variable's value (which is a concrete absolute path).
If the given path is absolute or has a non- null
device then
no variable substitution is done and that path is returned as is. If the
given path is relative and has a null
device, but the first
segment does not correspond to a defined variable, then the path is
returned as is.
If the given path is null
then null
will be
returned. In all other cases the result will be non-null
.
For example, consider the following collection of path variables:
The following paths would be resolved as:
c:/bin => c:/bin
c:TEMP => c:TEMP
/TEMP => /TEMP
TEMP => c:/temp
TEMP/foo => c:/temp/foo
BACKUP => /tmp/backup
BACKUP/bar.txt => /tmp/backup/bar.txt
SOMEPATH/foo => SOMEPATH/foo
path
- the path to be resolvednull
public boolean isDefined(String name)
true
if the given variable is defined and
false
otherwise. Returns false
if the given
name is not a valid path variable name.name
- the variable's nametrue
if the variable exists, false
otherwisepublic IStatus validateName(String name)
name
- a possibly valid path variable nameIStatus.OK
if
the given name is a valid path variable name, otherwise a status
object indicating what is wrong with the stringIStatus.OK
public IStatus validateValue(IPath path)
value
- a possibly valid path variable valueIStatus.OK
if the given
path is a valid path variable value, otherwise a status object indicating
what is wrong with the valueIPath.isValidPath(java.lang.String)
,
IStatus.OK
|
Eclipse Platform 2.1 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |