public SeekBasedResourceCollection query()

in src/main/java/com/microsoft/store/partnercenter/customerdirectoryroles/UserMemberCollectionOperations.java [114:182]


	public SeekBasedResourceCollection<UserMember> query(IQuery query)
	{
		if (query == null)
		{
			throw new IllegalArgumentException("query can't be null");
		}

		if (query.getType() == QueryType.COUNT)
		{
			throw new IllegalArgumentException("query can't be a count query.");
		}

		Collection<KeyValuePair<String, String>> parameters = new ArrayList<KeyValuePair<String, String>>();
		Map<String, String> headers = new HashMap<>();

		if (query.getType() == QueryType.SEEK)
		{
			// if this is a seek query, add the seek operation and the continuation token to the request.
			if (query.getToken() == null)
			{
				throw new IllegalArgumentException("query.Token is required.");
			}

			headers.put(
				PartnerService.getInstance().getConfiguration().getApis().get("GetCustomerUsers").getAdditionalHeaders().get("ContinuationToken"),
				query.getToken().toString()
			); 
			
			parameters.add(
				new KeyValuePair<String, String>(
					PartnerService.getInstance().getConfiguration().getApis().get("GetCustomerDirectoryRoleUserMembers").getParameters().get("SeekOperation"),
					query.getSeekOperation().toString()));    
		}
		else
		{
			if (query.getType() == QueryType.INDEXED)
			{
				parameters.add
				(
					new KeyValuePair<String, String>
					(
						PartnerService.getInstance().getConfiguration().getApis().get("GetCustomerDirectoryRoleUserMembers").getParameters().get("Size"),
						String.valueOf(query.getPageSize())
					) 
				);
			}
			else
			{
				parameters.add
				(
					new KeyValuePair<String, String>
					(
						PartnerService.getInstance().getConfiguration().getApis().get("GetCustomerDirectoryRoleUserMembers").getParameters().get("Size"),
						"0"
					) 
				);
			}
		}

		return this.getPartner().getServiceClient().get(
			this.getPartner(),
			new TypeReference<SeekBasedResourceCollection<UserMember>>(){}, 
			MessageFormat.format(
				PartnerService.getInstance().getConfiguration().getApis().get("GetCustomerDirectoryRoleUserMembers").getPath(),
				this.getContext().getItem1(), 
				this.getContext().getItem2()),
			headers,
			parameters);
	}