/** * 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.compute.implementation; import com.microsoft.azure.PagedList; import com.microsoft.azure.management.apigeneration.LangDefinition; import com.microsoft.azure.management.compute.VirtualMachineExtensionImageType; import com.microsoft.azure.management.compute.VirtualMachineExtensionImageVersion; import com.microsoft.azure.management.compute.VirtualMachineExtensionImageVersions; import com.microsoft.azure.management.resources.fluentcore.arm.collection.implementation.ReadableWrappersImpl; import rx.Observable; /** * The implementation for VirtualMachineExtensionImageVersions. */ @LangDefinition public class VirtualMachineExtensionImageVersionsImpl extends ReadableWrappersImpl<VirtualMachineExtensionImageVersion, VirtualMachineExtensionImageVersionImpl, VirtualMachineExtensionImageInner> implements VirtualMachineExtensionImageVersions { private final VirtualMachineExtensionImagesInner client; private final VirtualMachineExtensionImageType type; VirtualMachineExtensionImageVersionsImpl(VirtualMachineExtensionImagesInner client, VirtualMachineExtensionImageType type) { this.client = client; this.type = type; } @Override public PagedList<VirtualMachineExtensionImageVersion> list() { return wrapList(this.client.listVersions(this.type.regionName(), this.type.publisher().name(), this.type.name())); } @Override protected VirtualMachineExtensionImageVersionImpl wrapModel(VirtualMachineExtensionImageInner inner) { if (inner == null) { return null; } return new VirtualMachineExtensionImageVersionImpl(this.client, this.type, inner); } @Override public Observable<VirtualMachineExtensionImageVersion> listAsync() { return wrapListAsync(this.client.listVersionsAsync(this.type.regionName(), this.type.publisher().name(), this.type.name())); } }