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`, `RemoteExecution`, `VisitableItem`, `Serializable`, `Comparable<BaseConfigurationItem>`

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

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, tags, taskFailureHandlerEnabled, taskRecoverOp, team, UNKNOWN_TASK_TYPE, 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

  Modifier and Type
  Method
  Description
  `protected Changes`
  `execute(String targetId, TaskStartOrRetryOperation operation)`
  `Set<String>`
  `freezeVariablesInCustomFields(Map<String,ValueWithInterpolation> variables, Map<String,String> passwordVariables, Changes changes, boolean freezeEvenIfUnresolved)`
  To be overridden in child classes with custom fields that can contain variables.
  `Integer`
  `getAbortTimeout()`
  `Set<String>`
  `getCapabilities()`
  `String`
  `getDocumentationPage()`
  `String`
  `getIconClass()`
  `String`
  `getIconLocation()`
  `String`
  `getImage()`
  `Collection<PropertyDescriptor>`
  `getInputProperties()`
  `Integer`
  `getMaxRetryAttempts()`
  `String`
  `getOutputVarHelpText()`
  `Integer`
  `getRetryDelay()`
  `String`
  `getStatusLine()`
  `String`
  `getTaskColor()`
  `Collection<PropertyDescriptor>`
  `getTransitionalAndOutputProperties()`
  `List<UsagePoint>`
  `getVariableUsages()`
  `boolean`
  `hasAbortScript()`
  `boolean`
  `isKeepPreviousOutputPropertiesOnRetry()`
  `boolean`
  `isUnknown()`
  `Changes`
  `retry(String targetId)`
  `void`
  `setCapabilities(Set<String> capabilities)`
  `void`
  `setDocumentationPage(String documentationPage)`
  `void`
  `setKeepPreviousOutputPropertiesOnRetry(boolean keepPreviousOutputPropertiesOnRetry)`
  `void`
  `setStatusLine(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, clearModificationAttributes, 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, getLastStatusChangeBy, getMaxCommentSize, getOriginalScheduledStartDate, getPhase, getPrecondition, getReferencedVariableKeys, 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, isSupportedInWorkflow, 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, setSupportedInWorkflow, 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`

  ### Methods inherited from interface com.xebialabs.deployit.plugin.api.udm.ConfigurationItem

  `get$directoryReference, get$internalId, get$referenceId, get$securedCi, get$securedDirectoryReference, get$validationMessages, getId, getName, getProperty, getType, hasProperty, setId, setProperty`

- ## Constructor Details

  - ### ContainerTask

    public ContainerTask()

- ## Method Details

  - ### getCapabilities

    public Set<String> getCapabilities()

  - ### setCapabilities

    public void setCapabilities(Set<String> capabilities)

  - ### retry

    public Changes retry(String targetId)
    Overrides:
      `retry` in class `Task`

  - ### execute

    protected Changes execute(String targetId, TaskStartOrRetryOperation operation)
    Overrides:
      `execute` in class `Task`

  - ### shouldFreezeVariableMapping

    protected boolean shouldFreezeVariableMapping(CiProperty property)
    Overrides:
      `shouldFreezeVariableMapping` in class `Task`

  - ### freezeVariablesInCustomFields

    public Set<String> freezeVariablesInCustomFields(Map<String,ValueWithInterpolation> variables, Map<String,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 List<UsagePoint> getVariableUsages()
    Overrides:
      `getVariableUsages` in class `Task`

  - ### getIconLocation

    public String getIconLocation()

  - ### getOutputVarHelpText

    public String getOutputVarHelpText()

  - ### getTaskColor

    public String getTaskColor()

  - ### getIconClass

    public String getIconClass()

  - ### getAbortTimeout

    public Integer getAbortTimeout()
    Specified by:
      `getAbortTimeout` in interface `RemoteExecution`

  - ### getMaxRetryAttempts

    public Integer getMaxRetryAttempts()
    Specified by:
      `getMaxRetryAttempts` in interface `RemoteExecution`

  - ### getRetryDelay

    public Integer getRetryDelay()
    Specified by:
      `getRetryDelay` in interface `RemoteExecution`

  - ### getImage

    public String getImage()
    Specified by:
      `getImage` in interface `RemoteExecution`

  - ### hasAbortScript

    public boolean hasAbortScript()
    Overrides:
      `hasAbortScript` in class `Task`

  - ### getStatusLine

    public String getStatusLine()
    Overrides:
      `getStatusLine` in class `Task`

  - ### setStatusLine

    public void setStatusLine(String statusLine)
    Overrides:
      `setStatusLine` in class `Task`

  - ### getInputProperties

    public Collection<PropertyDescriptor> getInputProperties()

  - ### isKeepPreviousOutputPropertiesOnRetry

    public boolean isKeepPreviousOutputPropertiesOnRetry()

  - ### setKeepPreviousOutputPropertiesOnRetry

    public void setKeepPreviousOutputPropertiesOnRetry(boolean keepPreviousOutputPropertiesOnRetry)

  - ### getTransitionalAndOutputProperties

    public Collection<PropertyDescriptor> getTransitionalAndOutputProperties()

  - ### isUnknown

    public boolean isUnknown()

  - ### getDocumentationPage

    public String getDocumentationPage()
    Overrides:
      `getDocumentationPage` in class `Task`

  - ### setDocumentationPage

    public void setDocumentationPage(String documentationPage)
    Overrides:
      `setDocumentationPage` in class `Task`