Class Variable
- java.lang.Object
-
- com.xebialabs.deployit.plugin.api.udm.base.BaseConfigurationItem
-
- com.xebialabs.xlrelease.domain.BaseConfiguration
-
- com.xebialabs.xlrelease.domain.variables.Variable
-
- All Implemented Interfaces:
ConfigurationItem,VisitableItem,java.io.Serializable,java.lang.Cloneable,java.lang.Comparable<BaseConfigurationItem>
- Direct Known Subclasses:
Variable.VariableWithValue
@Metadata(virtual=true, versioned=false) public abstract class Variable extends BaseConfiguration implements java.lang.Cloneable, VisitableItem
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classVariable.VariableWithValue<V>
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.Stringdescriptionprotected booleaninheritedprotected java.lang.Stringkeyprotected java.lang.Stringlabelprotected booleanrequiresValueprotected booleanshowOnReleaseStartprotected ValueProviderConfigurationvalueProvider-
Fields inherited from class com.xebialabs.deployit.plugin.api.udm.base.BaseConfigurationItem
id, syntheticProperties, type
-
Fields inherited from interface com.xebialabs.deployit.plugin.api.udm.ConfigurationItem
SYNTHETIC_PROPERTIES_FIELD, TYPE_FIELD
-
-
Constructor Summary
Constructors Constructor Description Variable()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidaccept(ReleaseVisitor visitor)voidcheckFolderVariableValidity()voidcheckGlobalVariableValidity()voidcheckValidity()Variableclone()protected java.lang.StringescapeQuotes(java.lang.String value)java.lang.StringgetDescription()abstract java.lang.ObjectgetEmptyValue()Returns empty value for the specific sub type.abstract java.lang.StringgetEmptyValueAsString()java.lang.ObjectgetInternalValue()java.lang.StringgetKey()java.lang.StringgetLabel()booleangetRequiresValue()booleangetShowOnReleaseStart()abstract java.lang.ObjectgetValue()Gets underlying value of this variable, or default value for templates.abstract java.lang.StringgetValueAsString()ValueProviderConfigurationgetValueProvider()booleanisInherited()abstract booleanisPassword()abstract booleanisValueAssignableFrom(java.lang.Object value)booleanisValueEmpty()Test if value is unset or empty.voidsetDescription(java.lang.String description)voidsetInherited(boolean inherited)voidsetKey(java.lang.String key)voidsetLabel(java.lang.String label)voidsetRequiresValue(boolean requiresValue)voidsetShowOnReleaseStart(boolean showOnReleaseStart)abstract voidsetUntypedValue(java.lang.Object newValue)Sets the underlying value of this variable from given object.voidsetValueProvider(ValueProviderConfiguration valueProvider)-
Methods inherited from class com.xebialabs.xlrelease.domain.BaseConfiguration
getFolderId, getTitle, hasId, setFolderId, setTitle
-
Methods inherited from class com.xebialabs.deployit.plugin.api.udm.base.BaseConfigurationItem
compareTo, equals, get$ciAttributes, get$directoryReference, get$externalProperties, get$internalId, get$referenceId, get$securedCi, get$securedDirectoryReference, get$token, get$validationMessages, getId, getName, getProperty, getPropertyDescriptor, getType, hashCode, hasProperty, set$ciAttributes, set$directoryReference, set$externalProperties, set$internalId, set$referenceId, set$securedCi, set$securedDirectoryReference, set$token, set$validationMessages, setId, setProperty, setType, toString
-
-
-
-
Field Detail
-
key
@Property(description="The unique name of the variable in the way it is used in template or release, without curly braces") protected java.lang.String key
-
requiresValue
@Property(required=false, defaultValue="true", description="Shows if an empty value is a valid value for this variable") protected boolean requiresValue
-
showOnReleaseStart
@Property(required=false, defaultValue="true", description="Shows if this variable will be shown on create release page") protected boolean showOnReleaseStart
-
label
@Property(required=false, description="Label of the variable") protected java.lang.String label
-
description
@Property(required=false, description="Description of the variable") protected java.lang.String description
-
valueProvider
@Property(required=false, description="Configuration of the variable values provider") protected ValueProviderConfiguration valueProvider
-
inherited
@Property(required=false, description="Determines whether the variable value is inherited from the template variable. Used in the Create Release Task only.") protected boolean inherited
-
-
Method Detail
-
getValue
public abstract java.lang.Object getValue()
Gets underlying value of this variable, or default value for templates. The specific type of value depends on the type of variable.- Returns:
- the underlying value of this variable, or default value for templates.
-
getEmptyValue
public abstract java.lang.Object getEmptyValue()
Returns empty value for the specific sub type. Empty value is used when replacing unset optional variables.- Returns:
- empty value for the specific sub type.
-
isValueEmpty
public boolean isValueEmpty()
Test if value is unset or empty. Rely on thegetEmptyValue()implementation.- Returns:
- true if value is null or empty.
-
setUntypedValue
public abstract void setUntypedValue(java.lang.Object newValue) throws java.lang.IllegalArgumentExceptionSets the underlying value of this variable from given object. If a conversion happens to be needed and fails, then anIllegalArgumentExceptionwill be thrown.- Parameters:
newValue- the value to set: either of the type needed by this variable type, or one of convertible types.- Throws:
java.lang.IllegalArgumentException- if conversion of the value fails.
-
getKey
public java.lang.String getKey()
-
setKey
public void setKey(java.lang.String key)
-
getRequiresValue
public boolean getRequiresValue()
-
setRequiresValue
public void setRequiresValue(boolean requiresValue)
-
getShowOnReleaseStart
public boolean getShowOnReleaseStart()
-
setShowOnReleaseStart
public void setShowOnReleaseStart(boolean showOnReleaseStart)
-
getLabel
public java.lang.String getLabel()
-
setLabel
public void setLabel(java.lang.String label)
-
getDescription
public java.lang.String getDescription()
-
setDescription
public void setDescription(java.lang.String description)
-
checkValidity
public void checkValidity()
-
checkGlobalVariableValidity
public void checkGlobalVariableValidity()
-
checkFolderVariableValidity
public void checkFolderVariableValidity()
-
getInternalValue
public java.lang.Object getInternalValue()
-
isPassword
public abstract boolean isPassword()
-
getValueAsString
public abstract java.lang.String getValueAsString()
-
getEmptyValueAsString
public abstract java.lang.String getEmptyValueAsString()
-
isValueAssignableFrom
public abstract boolean isValueAssignableFrom(java.lang.Object value)
-
escapeQuotes
protected java.lang.String escapeQuotes(java.lang.String value)
-
getValueProvider
public ValueProviderConfiguration getValueProvider()
-
setValueProvider
public void setValueProvider(ValueProviderConfiguration valueProvider)
-
accept
public void accept(ReleaseVisitor visitor)
- Specified by:
acceptin interfaceVisitableItem
-
isInherited
public boolean isInherited()
-
setInherited
public void setInherited(boolean inherited)
-
clone
public Variable clone() throws java.lang.CloneNotSupportedException
- Overrides:
clonein classjava.lang.Object- Throws:
java.lang.CloneNotSupportedException
-
-