package org.apereo.cas.authentication.principal; import java.io.Serializable; import java.util.Map; /** * Defines operations to create principals. * @author Misagh Moayyed * @since 4.1.0 */ public interface PrincipalFactory extends Serializable { /** * Create principal. * * @param id the id * @return the principal */ Principal createPrincipal(String id); /** * Create principal along with its attributes. * * @param id the id * @param attributes the attributes * @return the principal */ Principal createPrincipal(String id, Map<String, Object> attributes); }