1 /*
2 * Licensed to The Apereo Foundation under one or more contributor license
3 * agreements. See the NOTICE file distributed with this work for additional
4 * information regarding copyright ownership.
5 *
6 *
7 * The Apereo Foundation licenses this file to you under the Educational
8 * Community License, Version 2.0 (the "License"); you may not use this file
9 * except in compliance with the License. You may obtain a copy of the License
10 * at:
11 *
12 * http://opensource.org/licenses/ecl2.txt
13 *
14 * Unless required by applicable law or agreed to in writing, software
15 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
16 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
17 * License for the specific language governing permissions and limitations under
18 * the License.
19 *
20 */
21
22 package org.opencastproject.security.api;
23
24 import java.util.List;
25
26 /**
27 * A marker interface for the federation of all {@link RoleProvider}s.
28 */
29 public interface RoleDirectoryService {
30
31 /**
32 * Return the found roles as a list.
33 *
34 * @param query
35 * the query. Use the wildcards "_" to match any single character and "%" to match an arbitrary number of
36 * characters (including zero characters).
37 * @param offset
38 * the offset.
39 * @param limit
40 * the limit. 0 means no limit
41 * @return a list of roles
42 * @throws IllegalArgumentException
43 * if the query is <code>null</code>
44 */
45 List<Role> findRoles(String query, Role.Target target, int offset, int limit);
46 }