Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT License. See License.txt in the project root for license information.
/** * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for * license information. */
package com.microsoft.azure.management.containerregistry.implementation; import com.microsoft.azure.management.apigeneration.LangDefinition; import com.microsoft.azure.management.containerregistry.EncodedTaskStepUpdateParameters; import com.microsoft.azure.management.containerregistry.RegistryEncodedTaskStep; import com.microsoft.azure.management.containerregistry.EncodedTaskStep; import com.microsoft.azure.management.containerregistry.RegistryTask; import com.microsoft.azure.management.containerregistry.SetValue; import com.microsoft.azure.management.resources.fluentcore.model.HasInner; import com.microsoft.azure.management.containerregistry.OverridingValue; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Map; @LangDefinition class RegistryEncodedTaskStepImpl extends RegistryTaskStepImpl implements RegistryEncodedTaskStep, RegistryEncodedTaskStep.Definition, RegistryEncodedTaskStep.Update, HasInner<EncodedTaskStep> { private EncodedTaskStep inner; private EncodedTaskStepUpdateParameters encodedTaskStepUpdateParameters; private RegistryTaskImpl taskImpl; RegistryEncodedTaskStepImpl(RegistryTaskImpl taskImpl) { super(taskImpl.inner().step()); this.inner = new EncodedTaskStep(); if (taskImpl.inner().step() != null && !(taskImpl.inner().step() instanceof EncodedTaskStep)) { throw new IllegalArgumentException("Constructor for RegistryEncodedTaskStepImpl invoked for class that is not an EncodedTaskStep"); } this.taskImpl = taskImpl; this.encodedTaskStepUpdateParameters = new EncodedTaskStepUpdateParameters(); } @Override public String encodedTaskContent() { EncodedTaskStep encodedTaskStep = (EncodedTaskStep) this.taskImpl.inner().step(); return encodedTaskStep.encodedTaskContent(); } @Override public String encodedValuesContent() { EncodedTaskStep encodedTaskStep = (EncodedTaskStep) this.taskImpl.inner().step(); return encodedTaskStep.encodedValuesContent(); } @Override public List<SetValue> values() { EncodedTaskStep encodedTaskStep = (EncodedTaskStep) this.taskImpl.inner().step(); if (encodedTaskStep.values() == null) { return Collections.unmodifiableList(new ArrayList<SetValue>()); } return Collections.unmodifiableList(encodedTaskStep.values()); } @Override public RegistryEncodedTaskStepImpl withBase64EncodedTaskContent(String encodedTaskContent) { if (isInCreateMode()) { this.inner.withBase64EncodedTaskContent(encodedTaskContent); } else { this.encodedTaskStepUpdateParameters.withEncodedTaskContent(encodedTaskContent); } return this; } @Override public RegistryEncodedTaskStepImpl withBase64EncodedValueContent(String encodedValueContent) { if (isInCreateMode()) { this.inner.withBase64EncodedValuesContent(encodedValueContent); } else { this.encodedTaskStepUpdateParameters.withEncodedValuesContent(encodedValueContent); } return this; } @Override public RegistryEncodedTaskStepImpl withOverridingValues(Map<String, OverridingValue> overridingValues) { if (overridingValues.size() == 0) { return this; } List<SetValue> overridingValuesList = new ArrayList<SetValue>(); for (Map.Entry<String, OverridingValue> entry : overridingValues.entrySet()) { SetValue value = new SetValue(); value.withName(entry.getKey()); value.withValue(entry.getValue().value()); value.withIsSecret(entry.getValue().isSecret()); overridingValuesList.add(value); } if (isInCreateMode()) { this.inner.withValues(overridingValuesList); } else { this.encodedTaskStepUpdateParameters.withValues(overridingValuesList); } return this; } @Override public RegistryEncodedTaskStepImpl withOverridingValue(String name, OverridingValue overridingValue) { if (this.inner.values() == null) { this.inner.withValues(new ArrayList<SetValue>()); } SetValue value = new SetValue(); value.withName(name); value.withValue(overridingValue.value()); value.withIsSecret(overridingValue.isSecret()); if (isInCreateMode()) { this.inner.values().add(value); } else { this.encodedTaskStepUpdateParameters.values().add(value); } return this; } @Override public RegistryTask.DefinitionStages.SourceTriggerDefinition attach() { this.taskImpl.withEncodedTaskStepCreateParameters(this.inner); return this.taskImpl; } @Override public RegistryTask.Update parent() { this.taskImpl.withEncodedTaskStepUpdateParameters(this.encodedTaskStepUpdateParameters); return this.taskImpl; } @Override public EncodedTaskStep inner() { return this.inner; } private boolean isInCreateMode() { if (this.taskImpl.inner().id() == null) { return true; } return false; } }