package com.ibm.sbt.opensocial.domino.container; import com.ibm.sbt.opensocial.domino.config.OpenSocialContainerConfig; import com.ibm.sbt.opensocial.domino.oauth.DominoOAuth2Store; import com.ibm.sbt.opensocial.domino.oauth.DominoOAuthStore; /** * Applications wishing to register their container should implement this class and use the ContainerExtPointManager to * add their containers to the OpenSocial implementation. * */ public interface ContainerExtPoint { /** * The ID of the container. This should be unique among all other containers. * A container ID MUST * <ul> * <li>be URL encoded</li> * <li>NOT contain a colon</li> * </ul> * @return The ID of the container. * @throws ContainerExtPointException Thrown when there is an error generating a container ID. */ public String getId() throws ContainerExtPointException; /** * Gets the container configuration object for this container. * @return The container configuration object for this container. */ public OpenSocialContainerConfig getContainerConfig(); /** * Gets the OAuth 1.0a store for the container. * @return The OAuth 1.0a store for the container. * @throws ContainerExtPointException Thrown when there is an error getting an OAuth store. */ public DominoOAuthStore getContainerOAuthStore() throws ContainerExtPointException; /** * Gets the OAuth 2.0 store for the container. * @return The OAuth 2.0 store for the container. * @throws ContainerExtPointException Thrown when there is an error getting an OAuth 2 store. */ public DominoOAuth2Store getContainerOAuth2Store() throws ContainerExtPointException; }