Package org.openiam.match
Class AbstractMatchObjectRule<DB_RESPONSE extends BaseListResponse,PROVISION_OBJECT extends ProvisionObject,PAIR extends AbstractMatchPair>
- java.lang.Object
-
- org.openiam.match.AbstractMatchObjectRule<DB_RESPONSE,PROVISION_OBJECT,PAIR>
-
- All Implemented Interfaces:
MatchObjectRule<DB_RESPONSE,PAIR>
- Direct Known Subclasses:
GroupMatchObjectRule,LogMatchObjectRule,ManagedSystemMatchObjectRule,OrganizationMatchObjectRule,PolicyMatchObjectRule,ResourceMatchObjectRule,RoleMatchObjectRule,UserMatchObjectRule
public abstract class AbstractMatchObjectRule<DB_RESPONSE extends BaseListResponse,PROVISION_OBJECT extends ProvisionObject,PAIR extends AbstractMatchPair> extends Object implements MatchObjectRule<DB_RESPONSE,PAIR>
-
-
Field Summary
Fields Modifier and Type Field Description protected PropertyValueCachepropertyValueSweeperprotected RabbitMQSenderrabbitMQSender
-
Constructor Summary
Constructors Constructor Description AbstractMatchObjectRule()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract Predicate<PROVISION_OBJECT>byAttribute(String name, String value)protected abstract Predicate<PROVISION_OBJECT>byEmail(String searchFilter)protected abstract Predicate<PROVISION_OBJECT>byEmployeeId(String searchFilter)protected abstract Predicate<PROVISION_OBJECT>byManagedSystemPrincipal(String searchFilter, String managedSystemId)protected abstract Predicate<PROVISION_OBJECT>byName(String searchFilter)protected DB_RESPONSEdoDBLookup(MatchConfig matchConfig, Set<String> values)protected intgetBatchSearchSize()protected abstract Class<? extends PAIR>getPairClass()List<PAIR>lookup(MatchConfig matchConfig, List<LineObject> lineObjects)Look up the OBJECTs contained in the object with in the IDM system.protected PROVISION_OBJECTmap(Object income)in case we recieve as a result not aAbstractMatchObjectRuletype.protected abstract PROVISION_OBJECTnewObjectInstance(MatchConfig config)-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.openiam.match.MatchObjectRule
getApi, getDataResponseClassName, getMatchRegex
-
-
-
-
Field Detail
-
propertyValueSweeper
@Autowired protected PropertyValueCache propertyValueSweeper
-
rabbitMQSender
@Autowired protected RabbitMQSender rabbitMQSender
-
-
Method Detail
-
getBatchSearchSize
protected int getBatchSearchSize()
-
byName
protected abstract Predicate<PROVISION_OBJECT> byName(String searchFilter) throws OperationNotSupportedException
- Throws:
OperationNotSupportedException
-
byAttribute
protected abstract Predicate<PROVISION_OBJECT> byAttribute(String name, String value) throws OperationNotSupportedException
- Throws:
OperationNotSupportedException
-
byManagedSystemPrincipal
protected abstract Predicate<PROVISION_OBJECT> byManagedSystemPrincipal(String searchFilter, String managedSystemId) throws OperationNotSupportedException
- Throws:
OperationNotSupportedException
-
byEmail
protected abstract Predicate<PROVISION_OBJECT> byEmail(String searchFilter) throws OperationNotSupportedException
- Throws:
OperationNotSupportedException
-
byEmployeeId
protected abstract Predicate<PROVISION_OBJECT> byEmployeeId(String searchFilter) throws OperationNotSupportedException
- Throws:
OperationNotSupportedException
-
doDBLookup
protected DB_RESPONSE doDBLookup(MatchConfig matchConfig, Set<String> values) throws Exception
- Throws:
Exception
-
lookup
public List<PAIR> lookup(MatchConfig matchConfig, List<LineObject> lineObjects)
Description copied from interface:MatchObjectRuleLook up the OBJECTs contained in the object with in the IDM system. The look up will be based on the match criteria defined in the config object.- Specified by:
lookupin interfaceMatchObjectRule<DB_RESPONSE extends BaseListResponse,PROVISION_OBJECT extends ProvisionObject>- Parameters:
matchConfig- - match configlineObjects- - list of line objects from the source system (CSV, connector and etc..)- Returns:
- list of matched pairs <
ProvisionObject,LineObject>. if in db no object for given line object, new ProvisionObject will be created
-
newObjectInstance
protected abstract PROVISION_OBJECT newObjectInstance(MatchConfig config)
-
map
protected PROVISION_OBJECT map(Object income)
in case we recieve as a result not aAbstractMatchObjectRuletype.- Parameters:
income- - incoming data with any type- Returns:
- data converted to
AbstractMatchObjectRuletype
-
-