001 /*
002 * Copyright 2011-2012 UnboundID Corp.
003 *
004 * This program is free software; you can redistribute it and/or modify
005 * it under the terms of the GNU General Public License (GPLv2 only)
006 * or the terms of the GNU Lesser General Public License (LGPLv2.1 only)
007 * as published by the Free Software Foundation.
008 *
009 * This program is distributed in the hope that it will be useful,
010 * but WITHOUT ANY WARRANTY; without even the implied warranty of
011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
012 * GNU General Public License for more details.
013 *
014 * You should have received a copy of the GNU General Public License
015 * along with this program; if not, see <http://www.gnu.org/licenses>.
016 */
017
018 package com.unboundid.scim.sdk;
019
020 import com.unboundid.scim.schema.ResourceDescriptor;
021
022 import java.net.URI;
023
024
025
026 /**
027 * This class represents a SCIM Get Resources request to retrieve selected
028 * resources.
029 */
030 public final class GetResourcesRequest extends ResourceReturningRequest
031 {
032 /**
033 * The filter parameters of the request.
034 */
035 private final SCIMFilter filter;
036
037 /**
038 * The sorting parameters of the request.
039 */
040 private final SortParameters sortParameters;
041
042 /**
043 * The pagination parameters of the request.
044 */
045 private final PageParameters pageParameters;
046
047
048
049 /**
050 * Create a new SCIM Get Resource request from the provided information.
051 *
052 * @param baseURL The base URL for the SCIM service.
053 * @param authenticatedUserID The authenticated user name or {@code null} if
054 * the request is not authenticated.
055 * @param resourceDescriptor The ResourceDescriptor associated with this
056 * request.
057 * @param filter The filter parameters of the request.
058 * @param sortParameters The sorting parameters of the request.
059 * @param pageParameters The pagination parameters of the request.
060 * @param attributes The set of requested attributes.
061 */
062 public GetResourcesRequest(final URI baseURL,
063 final String authenticatedUserID,
064 final ResourceDescriptor resourceDescriptor,
065 final SCIMFilter filter,
066 final SortParameters sortParameters,
067 final PageParameters pageParameters,
068 final SCIMQueryAttributes attributes)
069 {
070 super(baseURL, authenticatedUserID, resourceDescriptor, attributes);
071 this.filter = filter;
072 this.sortParameters = sortParameters;
073 this.pageParameters = pageParameters;
074 }
075
076
077
078 /**
079 * Retrieve the filter parameters of the request.
080 *
081 * @return The filter parameters of the request.
082 */
083 public SCIMFilter getFilter()
084 {
085 return filter;
086 }
087
088
089
090 /**
091 * Retrieve the sorting parameters of the request.
092 *
093 * @return The sorting parameters of the request.
094 */
095 public SortParameters getSortParameters()
096 {
097 return sortParameters;
098 }
099
100
101
102 /**
103 * Retrieve the pagination parameters of the request.
104 *
105 * @return The pagination parameters of the request.
106 */
107 public PageParameters getPageParameters()
108 {
109 return pageParameters;
110 }
111 }