package org.apereo.cas.adaptors.ldap.services; import org.apereo.cas.services.RegisteredService; import org.ldaptive.LdapEntry; /** * Strategy interface to define operations required when mapping LDAP * entries to registered services and vice versa. * * @author Misagh Moayyed * @author Marvin S. Addison * @see DefaultLdapRegisteredServiceMapper * @since 3.0.0 */ public interface LdapRegisteredServiceMapper { /** * Map to registered service from ldap. * * @param result the result * @return the registered service */ RegisteredService mapToRegisteredService(LdapEntry result); /** * Map from registered service to ldap. * * @param dn the dn * @param svc the svc * @return the ldap entry */ LdapEntry mapFromRegisteredService(String dn, RegisteredService svc); /** * Gets the dn for registered service. * * @param parentDn the parent dn * @param svc the svc * @return the dn for registered service */ String getDnForRegisteredService(String parentDn, RegisteredService svc); /** * Gets the name of the LDAP object class that represents service registry entries. * * @return Registered service object class. */ String getObjectClass(); /** * Gets the name of the LDAP attribute that stores the registered service integer unique identifier. * * @return Registered service unique ID attribute name. */ String getIdAttribute(); }