package org.apereo.cas.authentication; import com.fasterxml.jackson.annotation.JsonTypeInfo; import org.apereo.cas.authentication.principal.Principal; import java.io.Serializable; import java.util.List; /** * This is {@link HandlerResult} that describes the result of an authentication attempt. * * @author Misagh Moayyed * @since 4.1.0 */ @JsonTypeInfo(use = JsonTypeInfo.Id.CLASS, include = JsonTypeInfo.As.PROPERTY) public interface HandlerResult extends Serializable { /** * Gets handler name. * * @return the handler name */ String getHandlerName(); /** * Gets credential meta data. * * @return the credential meta data */ CredentialMetaData getCredentialMetaData(); /** * Gets principal. * * @return the principal */ Principal getPrincipal(); /** * Gets warnings. * * @return the warnings */ List<MessageDescriptor> getWarnings(); }