@IsSPIInterface public interface IFacebookObjectProvider { @Nullable Map <EOpenGraphObjectProperty, String> getObject (); /** * @return A positive integer (default=0) where a higher number represent a * more specific object */ int getSpecifity (); }
/** * SPI registry interface to implement your custom equals implementations. * * @author Philip Helger */ @IsSPIInterface public interface IEqualsImplementationRegistrarSPI { /** * Register a bunch of custom equals implementations * * @param aRegistry * The registry to register at. */ void registerEqualsImplementations (@Nonnull IEqualsImplementationRegistry aRegistry); }
/** * SPI interface to be implemented by other modules wishing to register their * own serialization converters. * * @author Philip Helger */ @IsSPIInterface public interface ISerializationConverterRegistrarSPI { /** * Register all your serialization converters in the passed interface * * @param aRegistry * The registry to register your converters. Never <code>null</code>. */ void registerSerializationConverter (@Nonnull ISerializationConverterRegistry aRegistry); }
/** * SPI interface to be implemented by other modules wishing to register their * own type converters. * * @author Philip Helger */ @IsSPIInterface public interface ITypeConverterRegistrarSPI { /** * Register all your type converters. * * @param aRegistry * The destination registry. Never <code>null</code>. */ void registerTypeConverter (@Nonnull ITypeConverterRegistry aRegistry); }
/** * Implement this SPI interface if your JAR file contains external third party * modules. * * @author Philip Helger */ @IsSPIInterface public interface IThirdPartyModuleProviderSPI { /** * @return A collection of all third party modules to be registered. May be * <code>null</code> or empty. Note: only modules that are required * for execution should be returned, and not modules only present for * testing. */ @Nullable IThirdPartyModule [] getAllThirdPartyModules (); }
/** * SPI registry interface to implement your custom hashCode implementations. * * @author Philip Helger */ @IsSPIInterface public interface IHashCodeImplementationRegistrarSPI { /** * Register a bunch of custom hashCode implementations * * @param aRegistry * The registry to register at. */ void registerHashCodeImplementations (@Nonnull IHashCodeImplementationRegistry aRegistry); }
/** * SPI interface to be implemented by other modules wishing to register their * own micro-type converters. * * @author Philip Helger */ @IsSPIInterface public interface IMicroTypeConverterRegistrarSPI { /** * Register all your dynamic micro type converters in the passed interface * * @param aRegistry * The registry to register your converters. Never <code>null</code>. */ void registerMicroTypeConverter (@Nonnull IMicroTypeConverterRegistry aRegistry); }
/** * Interface for a registrar providing custom URL protocols * * @author Boris Gregorcic * @author Philip Helger */ @IsSPIInterface public interface IURLProtocolRegistrarSPI { /** * @return The set of protocols to be registered for this registrar. The * returned set may be <code>null</code> but may not contain * <code>null</code> elements! */ @Nullable Set <? extends IURLProtocol> getProtocols (); }
/** * SPI for handling the session scope lifecycle. Is invoked for non-web and web * scopes. * * @author Philip Helger */ @IsSPIInterface public interface ISessionScopeSPI { /** * Called after the session scope was started * * @param aSessionScope * The session scope object to be used. Never <code>null</code>. */ void onSessionScopeBegin (@Nonnull ISessionScope aSessionScope); /** * Called before the session scope is shut down * * @param aSessionScope * The session scope object to be used. Never <code>null</code>. */ void onSessionScopeEnd (@Nonnull ISessionScope aSessionScope); }
/** * SPI for handling the global scope lifecycle. Is invoked for non-web and web * scopes. * * @author Philip Helger */ @IsSPIInterface public interface IGlobalScopeSPI { /** * Called after the global scope was started * * @param aGlobalScope * The global scope object to be used. Never <code>null</code>. */ void onGlobalScopeBegin (@Nonnull IGlobalScope aGlobalScope); /** * Called before the global scope is shut down * * @param aGlobalScope * The global scope object to be used. Never <code>null</code>. */ void onGlobalScopeEnd (@Nonnull IGlobalScope aGlobalScope); }
/** * SPI for handling the request scope lifecycle. Is invoked for non-web and web * scopes. * * @author Philip Helger */ @IsSPIInterface public interface IRequestScopeSPI { /** * Called after the request scope was started * * @param aRequestScope * The request scope object to be used. Never <code>null</code>. */ void onRequestScopeBegin (@Nonnull IRequestScope aRequestScope); /** * Called before the request scope is shut down * * @param aRequestScope * The request scope object to be used. Never <code>null</code>. */ void onRequestScopeEnd (@Nonnull IRequestScope aRequestScope); }
/** * SPI for handling the application scope lifecycle. Is invoked for non-web and * web scopes. * * @author Philip Helger */ @IsSPIInterface public interface IApplicationScopeSPI { /** * Called after the application scope was started * * @param aApplicationScope * The application scope object to be used. Never <code>null</code>. */ void onApplicationScopeBegin (@Nonnull IApplicationScope aApplicationScope); /** * Called before the application scope is shut down * * @param aApplicationScope * The application scope object to be used. Never <code>null</code>. */ void onApplicationScopeEnd (@Nonnull IApplicationScope aApplicationScope); }
/** * SPI for handling the session application scope lifecycle. Is invoked for * non-web and web scopes. * * @author Philip Helger */ @IsSPIInterface public interface ISessionApplicationScopeSPI { /** * Called after the session application scope was started * * @param aSessionApplicationScope * The session application scope object to be used. Never * <code>null</code>. */ void onSessionApplicationScopeBegin (@Nonnull ISessionApplicationScope aSessionApplicationScope); /** * Called before the session application scope is shut down * * @param aSessionApplicationScope * The session application scope object to be used. Never * <code>null</code>. */ void onSessionApplicationScopeEnd (@Nonnull ISessionApplicationScope aSessionApplicationScope); }
/** * The callback to implemented by VM startup SPIs. Unfortunately you need to * manually call {@link VirtualMachineInitializer#runInitialization()} to get * this SPI up and running! * * @author Philip Helger */ @IsSPIInterface public interface IVirtualMachineEventSPI { /** * Called upon Java VM initialization. * * @throws Exception * in case of an error. * @see VirtualMachineInitializer#runInitialization() */ void onVirtualMachineStart () throws Exception; /** * Called upon Java VM shutdown.<br> * Note for web applications: this happens when the application server is shut * down and not when an application is shut down! * * @throws Exception * in case of an error. */ void onVirtualMachineStop () throws Exception; }