Interface EndpointInstance

  • All Known Subinterfaces:
    WebAppEndpointInstance
    All Known Implementing Classes:
    AbstractEndpoint, AbstractWebEndpoint

    public interface EndpointInstance
    Generic endpoint instance. Implementations must persist/load only the custom settings using the JsonSerializable interface; authenticators, id, and description are always set via initialize method. Lifecycle:
    1. initialize (once)
    2. operation....
    3. destroy (once)
    Destroy might be called also before initialize if there was server deployment error.
    Author:
    K. Benedyczak
    • Method Detail

      • initialize

        void initialize​(pl.edu.icm.unity.types.endpoint.ResolvedEndpoint endpointDescription,
                        java.util.List<AuthenticationFlow> authenticatonOptions,
                        java.lang.String serializedConfiguration)
        Parameters:
        endpointDescription - most of the endpoint's settings
        authenticatonOptions - authenticator instances for the endpoint.
        serializedConfiguration - endpoint specific configuration (as returned by getSerializedConfiguration().
      • getEndpointDescription

        pl.edu.icm.unity.types.endpoint.ResolvedEndpoint getEndpointDescription()
      • getAuthenticationFlows

        java.util.List<AuthenticationFlow> getAuthenticationFlows()
        Returns:
        the current list of previously configured authentication flows (with initialize).
      • getSerializedConfiguration

        java.lang.String getSerializedConfiguration()
        Returns:
        serialized representation of the endpoint configuration/state
      • start

        void start()
            throws pl.edu.icm.unity.exceptions.EngineException
        Starts the endpoint. After this method returns the endpoint should be made available for usage.
        Throws:
        pl.edu.icm.unity.exceptions.EngineException
      • destroy

        void destroy()
              throws pl.edu.icm.unity.exceptions.EngineException
        Stops the endpoint.
        Throws:
        pl.edu.icm.unity.exceptions.EngineException
      • updateAuthenticationFlows

        void updateAuthenticationFlows​(java.util.List<AuthenticationFlow> authenticationFlows)
                                throws java.lang.UnsupportedOperationException
        Runtime update of the authenticators being used by this endpoint.
        Parameters:
        handler -
        authenticationFlows -
        Throws:
        java.lang.UnsupportedOperationException - if the operation is unsupported and the endpoint must be re-created instead.