![JAR search and dependency download from the Maven repository](/logo.png)
com.microsoft.azure.management.graphrbac.implementation.ActiveDirectoryGroupsImpl Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of azure-mgmt-graph-rbac Show documentation
Show all versions of azure-mgmt-graph-rbac Show documentation
This package contains Microsoft Azure Graph RBAC Management SDK.
/**
* 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.graphrbac.implementation;
import com.microsoft.azure.Page;
import com.microsoft.azure.PagedList;
import com.microsoft.azure.management.apigeneration.LangDefinition;
import com.microsoft.azure.management.graphrbac.ActiveDirectoryGroup;
import com.microsoft.azure.management.graphrbac.ActiveDirectoryGroups;
import com.microsoft.azure.management.resources.fluentcore.arm.collection.implementation.CreatableWrappersImpl;
import com.microsoft.rest.ServiceCallback;
import com.microsoft.rest.ServiceFuture;
import rx.Completable;
import rx.Observable;
import rx.functions.Func1;
/**
* The implementation of Users and its parent interfaces.
*/
@LangDefinition(ContainerName = "/Microsoft.Azure.Management.Graph.RBAC.Fluent")
class ActiveDirectoryGroupsImpl
extends CreatableWrappersImpl<
ActiveDirectoryGroup,
ActiveDirectoryGroupImpl,
ADGroupInner>
implements
ActiveDirectoryGroups {
private final GraphRbacManager manager;
ActiveDirectoryGroupsImpl(final GraphRbacManager manager) {
this.manager = manager;
}
@Override
public PagedList list() {
return wrapList(this.manager.inner().groups().list());
}
@Override
protected ActiveDirectoryGroupImpl wrapModel(ADGroupInner groupInner) {
if (groupInner == null) {
return null;
}
return new ActiveDirectoryGroupImpl(groupInner, manager());
}
@Override
public ActiveDirectoryGroupImpl getById(String objectId) {
return (ActiveDirectoryGroupImpl) getByIdAsync(objectId).toBlocking().single();
}
@Override
public Observable getByIdAsync(String id) {
return manager.inner().groups().getAsync(id)
.map(new Func1() {
@Override
public ActiveDirectoryGroup call(ADGroupInner groupInner) {
if (groupInner == null) {
return null;
} else {
return new ActiveDirectoryGroupImpl(groupInner, manager());
}
}
});
}
@Override
public ServiceFuture getByIdAsync(String id, ServiceCallback callback) {
return ServiceFuture.fromBody(getByIdAsync(id), callback);
}
@Override
public Observable listAsync() {
return wrapPageAsync(manager().inner().groups().listAsync());
}
@Override
public Observable getByNameAsync(String name) {
return manager().inner().groups().listAsync(String.format("displayName eq '%s'", name))
.map(new Func1, ActiveDirectoryGroup>() {
@Override
public ActiveDirectoryGroup call(Page adGroupInnerPage) {
if (adGroupInnerPage.items() == null || adGroupInnerPage.items().isEmpty()) {
return null;
} else {
return new ActiveDirectoryGroupImpl(adGroupInnerPage.items().get(0), manager());
}
}
});
}
@Override
public ActiveDirectoryGroup getByName(String name) {
return getByNameAsync(name).toBlocking().single();
}
@Override
public GraphRbacManager manager() {
return manager;
}
@Override
public GroupsInner inner() {
return manager().inner().groups();
}
@Override
public ActiveDirectoryGroupImpl define(String name) {
return wrapModel(name);
}
@Override
protected ActiveDirectoryGroupImpl wrapModel(String name) {
return wrapModel(new ADGroupInner().withDisplayName(name));
}
@Override
public Completable deleteByIdAsync(String id) {
return manager().inner().groups().deleteAsync(id).toCompletable();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy