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

odata.msgraph.client.entity.request.DirectoryRoleRequest Maven / Gradle / Ivy

package odata.msgraph.client.entity.request;

import com.fasterxml.jackson.annotation.JsonIgnoreType;
import com.github.davidmoten.odata.client.ContextPath;
import com.github.davidmoten.odata.client.EntityRequest;
import com.github.davidmoten.odata.client.NameValue;

import java.lang.Object;
import java.lang.String;
import java.util.Optional;

import odata.msgraph.client.entity.DirectoryRole;
import odata.msgraph.client.entity.collection.request.DirectoryObjectCollectionRequest;
import odata.msgraph.client.entity.collection.request.ScopedRoleMembershipCollectionRequest;

@JsonIgnoreType
public class DirectoryRoleRequest extends EntityRequest {

    public DirectoryRoleRequest(ContextPath contextPath, Optional value) {
        super(DirectoryRole.class, contextPath, value, false);
    }

    public DirectoryObjectRequest members(String id) {
        return new DirectoryObjectRequest(contextPath.addSegment("members").addKeys(new NameValue(id.toString())), Optional.empty());
    }

    public DirectoryObjectCollectionRequest members() {
        return new DirectoryObjectCollectionRequest(
                        contextPath.addSegment("members"), Optional.empty());
    }

    public ScopedRoleMembershipRequest scopedMembers(String id) {
        return new ScopedRoleMembershipRequest(contextPath.addSegment("scopedMembers").addKeys(new NameValue(id.toString())), Optional.empty());
    }

    public ScopedRoleMembershipCollectionRequest scopedMembers() {
        return new ScopedRoleMembershipCollectionRequest(
                        contextPath.addSegment("scopedMembers"), Optional.empty());
    }

}