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.eventhub.implementation; import com.microsoft.azure.management.apigeneration.LangDefinition; import com.microsoft.azure.management.resources.fluentcore.arm.collection.SupportsGettingById; import com.microsoft.azure.management.resources.fluentcore.arm.models.HasManager; import com.microsoft.azure.management.resources.fluentcore.collection.SupportsDeletingById; import com.microsoft.azure.management.resources.fluentcore.model.implementation.WrapperImpl; import com.microsoft.rest.ServiceCallback; import com.microsoft.rest.ServiceFuture; import rx.Completable; import rx.Observable; @LangDefinition abstract class AuthorizationRulesBaseImpl<InnerT, RuleT, RuleImpl> extends WrapperImpl<InnerT> implements HasManager<EventHubManager>, SupportsGettingById<RuleT>, SupportsDeletingById { protected final EventHubManager manager; protected AuthorizationRulesBaseImpl(EventHubManager manager, InnerT inner) { super(inner); this.manager = manager; } @Override public EventHubManager manager() { return this.manager; } @Override public RuleT getById(String id) { return getByIdAsync(id).toBlocking().last(); } @Override public ServiceFuture<RuleT> getByIdAsync(String id, ServiceCallback<RuleT> callback) { return ServiceFuture.fromBody(getByIdAsync(id), callback); } @Override public void deleteById(String id) { deleteByIdAsync(id).await(); } @Override public ServiceFuture<Void> deleteByIdAsync(String id, ServiceCallback<Void> callback) { return ServiceFuture.fromBody(deleteByIdAsync(id), callback); } protected abstract RuleImpl wrapModel(AuthorizationRuleInner innerModel); public abstract Observable<RuleT> getByIdAsync(String id); public abstract Completable deleteByIdAsync(String id); }