All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.microsoft.azure.management.eventhub.implementation.AuthorizationRulesBaseImpl Maven / Gradle / Ivy

/**
 * 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
        extends WrapperImpl
        implements
        HasManager,
        SupportsGettingById,
        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 getByIdAsync(String id, ServiceCallback callback) {
        return ServiceFuture.fromBody(getByIdAsync(id), callback);
    }

    @Override
    public void deleteById(String id) {
        deleteByIdAsync(id).await();
    }

    @Override
    public ServiceFuture deleteByIdAsync(String id, ServiceCallback callback) {
        return ServiceFuture.fromBody(deleteByIdAsync(id), callback);
    }

    protected abstract RuleImpl wrapModel(AuthorizationRuleInner innerModel);
    public abstract Observable getByIdAsync(String id);
    public abstract Completable deleteByIdAsync(String id);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy