org.eclipse.cdt.internal.core.envvar
Class EnvVarDescriptor

java.lang.Object
  extended by org.eclipse.cdt.internal.core.envvar.EnvVarDescriptor
All Implemented Interfaces:
IEnvironmentVariable

public class EnvVarDescriptor
extends java.lang.Object
implements IEnvironmentVariable


Field Summary
 
Fields inherited from interface org.eclipse.cdt.core.envvar.IEnvironmentVariable
ENVVAR_APPEND, ENVVAR_PREPEND, ENVVAR_REMOVE, ENVVAR_REPLACE
 
Constructor Summary
EnvVarDescriptor(IEnvironmentVariable variable, IEnvironmentContextInfo contextInfo, int supplierNum, ICoreEnvironmentVariableSupplier supplier)
           
 
Method Summary
 IEnvironmentContextInfo getContextInfo()
           
 java.lang.String getDelimiter()
           
 java.lang.String getName()
           
 int getOperation()
           
 IEnvironmentVariable getOriginalVariable()
           
 ICoreEnvironmentVariableSupplier getSupplier()
           
 int getSupplierNum()
           
 java.lang.String getValue()
           
 void setContextInfo(IEnvironmentContextInfo contextInfo)
           
 void setSupplierNum(int supplierNum)
           
 void setVariable(IEnvironmentVariable variable)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EnvVarDescriptor

public EnvVarDescriptor(IEnvironmentVariable variable,
                        IEnvironmentContextInfo contextInfo,
                        int supplierNum,
                        ICoreEnvironmentVariableSupplier supplier)
Method Detail

getContextInfo

public IEnvironmentContextInfo getContextInfo()

getSupplierNum

public int getSupplierNum()

getOriginalVariable

public IEnvironmentVariable getOriginalVariable()

getName

public java.lang.String getName()
Specified by:
getName in interface IEnvironmentVariable
Returns:
the variable name

getValue

public java.lang.String getValue()
Specified by:
getValue in interface IEnvironmentVariable
Returns:
the variable value

getOperation

public int getOperation()
Specified by:
getOperation in interface IEnvironmentVariable
Returns:
one of the IBuildEnvironmentVariable.ENVVAR_* operation types

getDelimiter

public java.lang.String getDelimiter()
Specified by:
getDelimiter in interface IEnvironmentVariable
Returns:
if the variable can hold the list of values this method returns the String representing the delimiter that is used to separate values. This information is used for the following: 1. in append and prepend operations: If the variable already exists and contains some value the new value will be calculated in the following way: For the "prepend" operation: = For the "append" operation: = The Environment Variable Provider will also remove the duplicates of "sub-values" in the resulting value. For example: If the current value is "string1:string2:string3", the getDelimiter() method returns ":" and getValue() method returns "string4:string2" the new value will contain: For the "prepend" operation: "string4:string2:string1:string3" For the "append" operation: "string1:string3:string4:string2" 2. Since the environment variables are also treated as build macros the delimiter is also used by the BuildMacroProvider to determine the type of the macro used to represent the given environment variable. If the variable has the delimiter it is treated as the Text-List macro otherwise it is treated as the Text macro. (See Build Macro design for more details) To specify that no delimiter should be used, the getDelimiter() method should return null or an empty string

setContextInfo

public void setContextInfo(IEnvironmentContextInfo contextInfo)

setSupplierNum

public void setSupplierNum(int supplierNum)

setVariable

public void setVariable(IEnvironmentVariable variable)

getSupplier

public ICoreEnvironmentVariableSupplier getSupplier()