Package com.xebialabs.xlrelease.domain.variables

## Class ReferenceVariable

- java.lang.Object
- - com.xebialabs.deployit.plugin.api.udm.base.BaseConfigurationItem
  - - com.xebialabs.xlrelease.domain.BaseConfiguration
    - - com.xebialabs.xlrelease.domain.variables.Variable
      - - com.xebialabs.xlrelease.domain.variables.Variable.VariableWithValue<java.lang.String>
        - - com.xebialabs.xlrelease.domain.variables.StringVariable
          - - com.xebialabs.xlrelease.domain.variables.ReferenceVariable

- All Implemented Interfaces:
    `ConfigurationItem`, `VisitableItem`, `java.io.Serializable`, `java.lang.Cloneable`, `java.lang.Comparable<BaseConfigurationItem>`

      public class ReferenceVariable
      extends StringVariable

  See Also:
    Serialized Form

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class com.xebialabs.xlrelease.domain.variables.Variable

      `Variable.VariableWithValue<V>`

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected java.lang.String` | `referencedType` |
    `static java.lang.String` | `VARIABLE_DELEGATE` |

    - ### Fields inherited from class com.xebialabs.xlrelease.domain.variables.StringVariable

      `multiline, preventInterpolation, value`

    - ### Fields inherited from class com.xebialabs.xlrelease.domain.variables.Variable

      `description, inherited, key, label, requiresValue, showOnReleaseStart, valueProvider`

    - ### 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
    --- | ---
    `ReferenceVariable()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `java.lang.Object` | `getInternalValue()` |
    `java.lang.String` | `getReferencedType()` |
    `void` | `setReferencedType​(java.lang.String referencedType)` |
    `void` | `setUntypedValue​(java.lang.Object newValue)` | Sets the underlying value of this variable from given object.
    `void` | `setValueProvider​(ValueProviderConfiguration valueProvider)` |

    - ### Methods inherited from class com.xebialabs.xlrelease.domain.variables.StringVariable

      `getEmptyValue, getEmptyValueAsString, getMultiline, getValue, getValueAsString, isPassword, isPreventInterpolation, isValueAssignableFrom, setMultiline, setPreventInterpolation, setValue`

    - ### Methods inherited from class com.xebialabs.xlrelease.domain.variables.Variable

      `accept, checkFolderVariableValidity, checkGlobalVariableValidity, checkValidity, clone, escapeQuotes, getDescription, getKey, getLabel, getRequiresValue, getShowOnReleaseStart, getValueProvider, isInherited, isValueEmpty, setDescription, setInherited, setKey, setLabel, setRequiresValue, setShowOnReleaseStart`

    - ### 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`

    - ### Methods inherited from class java.lang.Object

      `finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### VARIABLE_DELEGATE

          public static final java.lang.String VARIABLE_DELEGATE

      See Also:
        Constant Field Values

    - #### referencedType

          @Property(required=true,
                    description="The type of the reference, ie: jenkins.Server")
          protected java.lang.String referencedType

  - ### Constructor Detail

    - #### ReferenceVariable

          public ReferenceVariable()

  - ### Method Detail

    - #### getReferencedType

          public java.lang.String getReferencedType()

    - #### setReferencedType

          public void setReferencedType​(java.lang.String referencedType)

    - #### setUntypedValue

          public void setUntypedValue​(java.lang.Object newValue)
                               throws java.lang.IllegalArgumentException

      Description copied from class: `Variable`
      Sets the underlying value of this variable from given object. If a conversion happens to be needed and fails, then an `IllegalArgumentException` will be thrown.
      Overrides:
        `setUntypedValue` in class `StringVariable`
      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.

    - #### setValueProvider

          public void setValueProvider​(ValueProviderConfiguration valueProvider)

      Overrides:
        `setValueProvider` in class `Variable`

    - #### getInternalValue

          @ControlTask(delegate="RESOLVE_VARIABLE_VALUE")
          public java.lang.Object getInternalValue()

      Overrides:
        `getInternalValue` in class `Variable`