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.persistence.api.entity;
20  
21  import java.util.List;
22  import java.util.Optional;
23  import java.util.Set;
24  import org.apache.syncope.common.lib.to.OrgUnit;
25  import org.apache.syncope.common.lib.to.Provision;
26  import org.apache.syncope.common.lib.types.ConnConfProperty;
27  import org.apache.syncope.common.lib.types.ConnectorCapability;
28  import org.apache.syncope.common.lib.types.TraceLevel;
29  import org.apache.syncope.core.persistence.api.entity.policy.AccountPolicy;
30  import org.apache.syncope.core.persistence.api.entity.policy.PasswordPolicy;
31  import org.apache.syncope.core.persistence.api.entity.policy.PropagationPolicy;
32  import org.apache.syncope.core.persistence.api.entity.policy.PullPolicy;
33  import org.apache.syncope.core.persistence.api.entity.policy.PushPolicy;
34  
35  public interface ExternalResource extends ProvidedKeyEntity {
36  
37      ConnInstance getConnector();
38  
39      void setConnector(ConnInstance connector);
40  
41      Set<ConnConfProperty> getConfOverride();
42  
43      void setConfOverride(Set<ConnConfProperty> confOverride);
44  
45      boolean isOverrideCapabilities();
46  
47      void setOverrideCapabilities(boolean overrideCapabilities);
48  
49      Set<ConnectorCapability> getCapabilitiesOverride();
50  
51      AccountPolicy getAccountPolicy();
52  
53      void setAccountPolicy(AccountPolicy accountPolicy);
54  
55      PasswordPolicy getPasswordPolicy();
56  
57      void setPasswordPolicy(PasswordPolicy passwordPolicy);
58  
59      PropagationPolicy getPropagationPolicy();
60  
61      void setPropagationPolicy(PropagationPolicy propagationPolicy);
62  
63      PullPolicy getPullPolicy();
64  
65      void setPullPolicy(PullPolicy pullPolicy);
66  
67      PushPolicy getPushPolicy();
68  
69      Implementation getProvisionSorter();
70  
71      void setProvisionSorter(Implementation provisionSorter);
72  
73      void setPushPolicy(PushPolicy pushPolicy);
74  
75      TraceLevel getCreateTraceLevel();
76  
77      void setCreateTraceLevel(TraceLevel createTraceLevel);
78  
79      TraceLevel getUpdateTraceLevel();
80  
81      void setUpdateTraceLevel(TraceLevel updateTraceLevel);
82  
83      TraceLevel getDeleteTraceLevel();
84  
85      void setDeleteTraceLevel(TraceLevel deleteTraceLevel);
86  
87      TraceLevel getProvisioningTraceLevel();
88  
89      void setProvisioningTraceLevel(TraceLevel provisioningTraceLevel);
90  
91      boolean add(Implementation propagationAction);
92  
93      List<? extends Implementation> getPropagationActions();
94  
95      Integer getPropagationPriority();
96  
97      void setPropagationPriority(Integer priority);
98  
99      boolean isEnforceMandatoryCondition();
100 
101     void setEnforceMandatoryCondition(boolean enforce);
102 
103     Optional<Provision> getProvisionByAnyType(String anyType);
104 
105     Optional<Provision> getProvisionByObjectClass(String objectClass);
106 
107     List<Provision> getProvisions();
108 
109     OrgUnit getOrgUnit();
110 
111     void setOrgUnit(OrgUnit orgUnit);
112 }