View Javadoc
1   /*
2    * Licensed to the Apache Software Foundation (ASF) under one
3    * or more contributor license agreements.  See the NOTICE file
4    * distributed with this work for additional information
5    * regarding copyright ownership.  The ASF licenses this file
6    * to you under the Apache License, Version 2.0 (the
7    * "License"); you may not use this file except in compliance
8    * with the License.  You may obtain a copy of the License at
9    *
10   *   http://www.apache.org/licenses/LICENSE-2.0
11   *
12   * Unless required by applicable law or agreed to in writing,
13   * software distributed under the License is distributed on an
14   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15   * KIND, either express or implied.  See the License for the
16   * specific language governing permissions and limitations
17   * under the License.
18   */
19  package org.apache.syncope.core.provisioning.api;
20  
21  import java.util.Collection;
22  import java.util.List;
23  import java.util.Set;
24  import org.apache.commons.lang3.tuple.Pair;
25  import org.apache.syncope.common.lib.request.StatusR;
26  import org.apache.syncope.common.lib.request.UserCR;
27  import org.apache.syncope.common.lib.request.UserUR;
28  import org.apache.syncope.common.lib.to.PropagationStatus;
29  import org.apache.syncope.common.lib.to.ProvisioningReport;
30  
31  public interface UserProvisioningManager extends ProvisioningManager<UserCR, UserUR> {
32  
33      Pair<String, List<PropagationStatus>> create(
34              UserCR userCR,
35              boolean disablePwdPolicyCheck,
36              Boolean enabled,
37              Set<String> excludedResources,
38              boolean nullPriorityAsync,
39              String creator,
40              String context);
41  
42      Pair<UserUR, List<PropagationStatus>> update(
43              UserUR userUR,
44              boolean nullPriorityAsync,
45              String updater,
46              String context);
47  
48      Pair<UserUR, List<PropagationStatus>> update(
49              UserUR userUR,
50              ProvisioningReport result,
51              Boolean enabled,
52              Set<String> excludedResources,
53              boolean nullPriorityAsync,
54              String updater,
55              String context);
56  
57      Pair<String, List<PropagationStatus>> activate(
58              StatusR statusR, boolean nullPriorityAsync, String updater, String context);
59  
60      Pair<String, List<PropagationStatus>> reactivate(
61              StatusR statusR, boolean nullPriorityAsync, String updater, String context);
62  
63      Pair<String, List<PropagationStatus>> suspend(
64              StatusR statusR, boolean nullPriorityAsync, String updater, String context);
65  
66      void internalSuspend(String key, String updater, String context);
67  
68      void requestPasswordReset(String key, String updater, String context);
69  
70      void confirmPasswordReset(String key, String token, String password, String updater, String context);
71  
72      List<PropagationStatus> provision(
73              String key,
74              boolean changePwd,
75              String password,
76              Collection<String> resources,
77              boolean nullPriorityAsync,
78              String executor);
79  }