Package com.xebialabs.xlrelease.domain

## Class ContainerTask

- java.lang.Object
- - com.xebialabs.deployit.plugin.api.udm.base.BaseConfigurationItem
  - - com.xebialabs.xlrelease.domain.PlanItem
    - - com.xebialabs.xlrelease.domain.Task
      - - com.xebialabs.xlrelease.domain.ContainerTask

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

      @Metadata(label="Generic containerized task",
                versioned=false,
                virtual=true)
      public class ContainerTask
      extends Task

  See Also:
    Serialized Form

- - ### Field Summary

    - ### Fields inherited from class com.xebialabs.xlrelease.domain.Task

      `CATEGORY_INPUT, CATEGORY_OUTPUT, delayDuringBlackout, DUE_SOON_THRESHOLD, executionId, failureHandler, failuresCount, hasBeenDelayed, hasBeenFlagged, IS_AUTOMATED_AND_IN_PROGRESS, maxCommentSize, originalScheduledStartDate, postponedDueToBlackout, postponedUntilEnvironmentsAreReserved, precondition, status, tags, taskFailureHandlerEnabled, taskRecoverOp, team, variableMapping, waitForScheduledStartDate`

    - ### Fields inherited from class com.xebialabs.xlrelease.domain.PlanItem

      `BY_TITLE, description, dueDate, endDate, flagComment, flagStatus, overdueNotified, owner, plannedDuration, scheduledStartDate, startDate, title`

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

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected Changes` | `execute​(java.lang.String targetId, TaskStartOrRetryOperation operation)` |
    `java.util.Set<java.lang.String>` | `freezeVariablesInCustomFields​(java.util.Map<java.lang.String,​ValueWithInterpolation> variables, java.util.Map<java.lang.String,​java.lang.String> passwordVariables, Changes changes, boolean freezeEvenIfUnresolved)` | To be overridden in child classes with custom fields that can contain variables.
    `java.lang.Integer` | `getAbortTimeout()` |
    `java.util.Set<java.lang.String>` | `getAdditionalCapabilities()` |
    `java.util.Set<java.lang.String>` | `getDefaultRequiredCapabilities()` |
    `java.lang.String` | `getIconClass()` |
    `java.lang.String` | `getIconLocation()` |
    `java.lang.String` | `getImage()` |
    `java.util.Collection<PropertyDescriptor>` | `getInputProperties()` |
    `java.lang.Integer` | `getMaxRetryAttempts()` |
    `java.lang.String` | `getOutputVarHelpText()` |
    `java.util.Set<java.lang.String>` | `getRequiredCapabilities()` |
    `java.lang.Integer` | `getRetryDelay()` |
    `java.lang.String` | `getStatusLine()` |
    `java.lang.String` | `getTaskColor()` |
    `java.util.Collection<PropertyDescriptor>` | `getTransitionalAndOutputProperties()` |
    `java.util.List<UsagePoint>` | `getVariableUsages()` |
    `boolean` | `hasAbortScript()` |
    `boolean` | `isKeepPreviousOutputPropertiesOnRetry()` |
    `Changes` | `retry​(java.lang.String targetId)` |
    `void` | `setAdditionalCapabilities​(java.util.Set<java.lang.String> additionalCapabilities)` |
    `void` | `setDefaultRequiredCapabilities​(java.util.Set<java.lang.String> defaultRequiredCapabilities)` |
    `void` | `setKeepPreviousOutputPropertiesOnRetry​(boolean keepPreviousOutputPropertiesOnRetry)` |
    `void` | `setStatusLine​(java.lang.String statusLine)` |
    `protected boolean` | `shouldFreezeVariableMapping​(CiProperty property)` |

    - ### Methods inherited from class com.xebialabs.xlrelease.domain.Task

      `abort, accept, addWatcher, applyDefaults, canBeBackup, canScheduleTaskStart, canStartNow, checkDatesValidity, clearComments, delayDuringBlackoutHasChanged, deleteAttachment, deleteTask, fail, fail, fail, fail, failureHandlerHasChanged, findComment, freezeVariables, fromType, fromType, generateExecutionId, getAbortScript, getAllTasks, getAttachments, getChildren, getCiUid, getComments, getConfigurationUri, getContainer, getDelayedCount, getDisplayPath, getElapsedDurationFraction, getExecutionId, getFacets, getFailureHandler, getFailuresCount, getFlaggedCount, getInputVariables, getMaxCommentSize, getOriginalScheduledStartDate, getPhase, getPrecondition, getReferencedVariables, getRelease, getReleaseOwner, getReleaseUid, getStatus, getTags, getTaskRecoverOp, getTaskType, getTeam, getUnboundRequiredVariables, getUrl, getVariableMapping, getWatchers, hasBeenDelayed, hasBeenFlagged, hasBeenStarted, hasFailureHandlerScript, hasTaskRecoverOp, hasTeam, hasVariableMapping, isAborted, isAbortScriptInProgress, isActive, isAssignedTo, isAutomated, isCheckAttributes, isCompletedInAdvance, isDefaultTaskType, isDefunct, isDelayDuringBlackout, isDone, isDoneInAdvance, isDueSoon, isDueSoonNotified, isFacetInProgress, isFailed, isFailing, isFailureHandlerEnabled, isFailureHandlerInProgress, isGate, isInProgress, isLocked, isMovable, isNotYetReached, isParallelGroup, isPending, isPlanned, isPostponedDueToBlackout, isPostponedUntilEnvironmentsAreReserved, isPreconditionEnabled, isPreconditionInProgress, isSkipped, isSkippedInAdvance, isStillExecutingScript, isTaskFailureHandlerEnabled, isTaskGroup, isUpdatable, isWaitForScheduledStartDate, isWaitingForInput, lock, markAsDone, ownerHasBeenReassigned, postponeUntilEnvironmentsAreReserved, preconditionHasChanged, removeWatcher, reopen, replaceTask, resetToPlanned, setAttachments, setCheckAttributes, setCiUid, setConfigurationUri, setContainer, setDelayDuringBlackout, setDueSoonNotified, setExecutionId, setFacets, setFailureHandler, setFailuresCount, setFlagStatus, setHasBeenDelayed, setHasBeenFlagged, setLocked, setMaxCommentSize, setOriginalScheduledStartDate, setPostponedDueToBlackout, setPostponedUntilEnvironmentsAreReserved, setPrecondition, setReleaseUid, setScheduledStartDate, setStatus, setTags, setTaskFailureHandlerEnabled, setTaskRecoverOp, setTeam, setVariableMapping, setWaitForScheduledStartDate, setWatchers, shouldFacetBeChecked, shouldNotifyDueSoon, shouldPreconditionBeChecked, start, startNow, startPending, startWithInput, teamHasBeenReassigned, unlock, updateComment`

    - ### Methods inherited from class com.xebialabs.xlrelease.domain.PlanItem

      `calculateDueDate, checkDatesValidity, getActualDuration, getComputedPlannedDuration, getDescription, getDueDate, getEndDate, getEndOrDueDate, getFlagComment, getFlagStatus, getOrCalculateDueDate, getOwner, getPlannedDuration, getScheduledStartDate, getStartDate, getStartOrScheduledDate, getTitle, hasDueDate, hasEndDate, hasEndOrDueDate, hasOwner, hasOwner, hasPlannedDuration, hasScheduledStartDate, hasStartDate, hasStartOrScheduledDate, hasTitle, hasTitle, hasValidStartDates, isFlagged, isOverdue, isOverdueNotified, isTitleContaining, moveChildren, setDates, setDescription, setDueDate, setEndDate, setFlagComment, setOverdueNotified, setOwner, setPlannedDuration, setStartAndEndDatesIfEmpty, setStartDate, setTitle, shouldNotifyOverdue, updateDates, updateDuration`

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

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

- - ### Constructor Detail

    - #### ContainerTask

          public ContainerTask()

  - ### Method Detail

    - #### getAdditionalCapabilities

          public java.util.Set<java.lang.String> getAdditionalCapabilities()

    - #### setAdditionalCapabilities

          public void setAdditionalCapabilities​(java.util.Set<java.lang.String> additionalCapabilities)

    - #### getDefaultRequiredCapabilities

          public java.util.Set<java.lang.String> getDefaultRequiredCapabilities()

    - #### setDefaultRequiredCapabilities

          public void setDefaultRequiredCapabilities​(java.util.Set<java.lang.String> defaultRequiredCapabilities)

    - #### getRequiredCapabilities

          public java.util.Set<java.lang.String> getRequiredCapabilities()

    - #### retry

          public Changes retry​(java.lang.String targetId)

      Overrides:
        `retry` in class `Task`

    - #### execute

          protected Changes execute​(java.lang.String targetId,
                                    TaskStartOrRetryOperation operation)

      Overrides:
        `execute` in class `Task`

    - #### shouldFreezeVariableMapping

          protected boolean shouldFreezeVariableMapping​(CiProperty property)

      Overrides:
        `shouldFreezeVariableMapping` in class `Task`

    - #### freezeVariablesInCustomFields

          public java.util.Set<java.lang.String> freezeVariablesInCustomFields​(java.util.Map<java.lang.String,​ValueWithInterpolation> variables,
                                                                               java.util.Map<java.lang.String,​java.lang.String> passwordVariables,
                                                                               Changes changes,
                                                                               boolean freezeEvenIfUnresolved)

      Description copied from class: `Task`

      To be overridden in child classes with custom fields that can contain variables.

      Apply `VariableHelper.replaceAll(Object, Map, Set, boolean)` to each field; if child entities are modified, add them to `changes`.
      Overrides:
        `freezeVariablesInCustomFields` in class `Task`

    - #### getVariableUsages

          public java.util.List<UsagePoint> getVariableUsages()

      Overrides:
        `getVariableUsages` in class `Task`

    - #### getIconLocation

          public java.lang.String getIconLocation()

    - #### getOutputVarHelpText

          public java.lang.String getOutputVarHelpText()

    - #### getTaskColor

          public java.lang.String getTaskColor()

    - #### getIconClass

          public java.lang.String getIconClass()

    - #### getAbortTimeout

          public java.lang.Integer getAbortTimeout()

    - #### getMaxRetryAttempts

          public java.lang.Integer getMaxRetryAttempts()

    - #### getRetryDelay

          public java.lang.Integer getRetryDelay()

    - #### getImage

          public java.lang.String getImage()

    - #### hasAbortScript

          public boolean hasAbortScript()

      Overrides:
        `hasAbortScript` in class `Task`

    - #### getStatusLine

          public java.lang.String getStatusLine()

    - #### setStatusLine

          public void setStatusLine​(java.lang.String statusLine)

    - #### getInputProperties

          public java.util.Collection<PropertyDescriptor> getInputProperties()

    - #### isKeepPreviousOutputPropertiesOnRetry

          public boolean isKeepPreviousOutputPropertiesOnRetry()

    - #### setKeepPreviousOutputPropertiesOnRetry

          public void setKeepPreviousOutputPropertiesOnRetry​(boolean keepPreviousOutputPropertiesOnRetry)

    - #### getTransitionalAndOutputProperties

          public java.util.Collection<PropertyDescriptor> getTransitionalAndOutputProperties()