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.compute.implementation;
import com.microsoft.azure.PagedList;
import com.microsoft.azure.management.apigeneration.LangDefinition;
import com.microsoft.azure.management.compute.VirtualMachineOffer;
import com.microsoft.azure.management.compute.VirtualMachineOffers;
import com.microsoft.azure.management.compute.VirtualMachinePublisher;
import com.microsoft.azure.management.resources.fluentcore.arm.collection.implementation.ReadableWrappersImpl;
import rx.Observable;
The implementation for VirtualMachineOffers
. /**
* The implementation for {@link VirtualMachineOffers}.
*/
@LangDefinition
class VirtualMachineOffersImpl
extends ReadableWrappersImpl<VirtualMachineOffer, VirtualMachineOfferImpl, VirtualMachineImageResourceInner>
implements VirtualMachineOffers {
private final VirtualMachineImagesInner innerCollection;
private final VirtualMachinePublisher publisher;
VirtualMachineOffersImpl(VirtualMachineImagesInner innerCollection, VirtualMachinePublisher publisher) {
this.innerCollection = innerCollection;
this.publisher = publisher;
}
@Override
protected VirtualMachineOfferImpl wrapModel(VirtualMachineImageResourceInner inner) {
if (inner == null) {
return null;
}
return new VirtualMachineOfferImpl(this.publisher, inner.name(), this.innerCollection);
}
@Override
public PagedList<VirtualMachineOffer> list() {
return wrapList(innerCollection.listOffers(publisher.region().toString(), publisher.name()));
}
@Override
public Observable<VirtualMachineOffer> listAsync() {
return wrapListAsync(innerCollection.listOffersAsync(publisher.region().toString(), publisher.name()));
}
}