* \r
*/\r
public interface LifeCycle {\r
- /**\r
- * The Service using LifeCycle Elements is required to call this method at\r
- * the appropriate startup time. This is better for services than a simple\r
- * static call, because the exact moment of starting can be determined\r
- * programatically.\r
- * <p>\r
- * \r
- * An excellent use is to establish security credentials with a backend\r
- * after appropriate configurations have been read and available as part of\r
- * the {@link Env} Object.\r
- * \r
- * @param env\r
- * @throws APIException\r
- */\r
- public abstract void servicePrestart(Env env) throws APIException;\r
+ /**\r
+ * The Service using LifeCycle Elements is required to call this method at\r
+ * the appropriate startup time. This is better for services than a simple\r
+ * static call, because the exact moment of starting can be determined\r
+ * programatically.\r
+ * <p>\r
+ * \r
+ * An excellent use is to establish security credentials with a backend\r
+ * after appropriate configurations have been read and available as part of\r
+ * the {@link Env} Object.\r
+ * \r
+ * @param env\r
+ * @throws APIException\r
+ */\r
+ public abstract void servicePrestart(Env env) throws APIException;\r
\r
- /**\r
- * Many cases of implementations are not thread safe, and mechanisms must be\r
- * derived to accomodate them by holding per Thread.\r
- * <p>\r
- * \r
- * {@link ThreadLocal} is a valuable resource, but start up times within the\r
- * thread, depending on what it is, can be substantial.\r
- * <p>\r
- * \r
- * Use ThreadPrestart to do all that is possible before actually performing\r
- * work, i.e. inside of a client transaction.\r
- * \r
- * @param env\r
- * @throws APIException\r
- */\r
- public abstract void threadPrestart(Env env) throws APIException;\r
+ /**\r
+ * Many cases of implementations are not thread safe, and mechanisms must be\r
+ * derived to accomodate them by holding per Thread.\r
+ * <p>\r
+ * \r
+ * {@link ThreadLocal} is a valuable resource, but start up times within the\r
+ * thread, depending on what it is, can be substantial.\r
+ * <p>\r
+ * \r
+ * Use ThreadPrestart to do all that is possible before actually performing\r
+ * work, i.e. inside of a client transaction.\r
+ * \r
+ * @param env\r
+ * @throws APIException\r
+ */\r
+ public abstract void threadPrestart(Env env) throws APIException;\r
\r
- /**\r
- * The Service will call this when (service-defined) configurations change.\r
- * <p>\r
- * \r
- * This mechanism allows the Service to recognize events, such as file\r
- * changes, and pass on the event to all LifeCycle implementors.\r
- * <p>\r
- * \r
- * The code should take the opportunity to evaluate configuration and change\r
- * as necessary.\r
- * <p>\r
- * \r
- * <h2>IMPORTANT:</h2>\r
- * The LifeCycle implementor cannot guarantee it will not be in the middle\r
- * of a transaction, so it would behoove the implementor to construct\r
- * content that does not affect anything until finished, then apply to an\r
- * appropriate atomic action (i.e. setting an Object to a field), or even\r
- * synchronizing.\r
- * \r
- * If you are using Java's "ThreadLocal", consider\r
- * {@link RefreshableThreadObject}, because it implements LifeCycle, and\r
- * responds to the refresh command.\r
- * \r
- * @param env\r
- * @throws APIException\r
- */\r
- public abstract void refresh(Env env) throws APIException;\r
+ /**\r
+ * The Service will call this when (service-defined) configurations change.\r
+ * <p>\r
+ * \r
+ * This mechanism allows the Service to recognize events, such as file\r
+ * changes, and pass on the event to all LifeCycle implementors.\r
+ * <p>\r
+ * \r
+ * The code should take the opportunity to evaluate configuration and change\r
+ * as necessary.\r
+ * <p>\r
+ * \r
+ * <h2>IMPORTANT:</h2>\r
+ * The LifeCycle implementor cannot guarantee it will not be in the middle\r
+ * of a transaction, so it would behoove the implementor to construct\r
+ * content that does not affect anything until finished, then apply to an\r
+ * appropriate atomic action (i.e. setting an Object to a field), or even\r
+ * synchronizing.\r
+ * \r
+ * If you are using Java's "ThreadLocal", consider\r
+ * {@link RefreshableThreadObject}, because it implements LifeCycle, and\r
+ * responds to the refresh command.\r
+ * \r
+ * @param env\r
+ * @throws APIException\r
+ */\r
+ public abstract void refresh(Env env) throws APIException;\r
\r
- /**\r
- * Parallel to threadPrestart, threadDestroy tells the implementor that the\r
- * service is ending this particular thread, and to take this opportunity to\r
- * close out any content specific to this thread that can be closed.\r
- * \r
- * @param env\r
- * @throws APIException\r
- */\r
- public abstract void threadDestroy(Env env) throws APIException;\r
+ /**\r
+ * Parallel to threadPrestart, threadDestroy tells the implementor that the\r
+ * service is ending this particular thread, and to take this opportunity to\r
+ * close out any content specific to this thread that can be closed.\r
+ * \r
+ * @param env\r
+ * @throws APIException\r
+ */\r
+ public abstract void threadDestroy(Env env) throws APIException;\r
\r
- /**\r
- * Parallel to servicePrestart, serviceDestroy tells the implementor that\r
- * the service is ending, and to take this opportunity to close out any\r
- * content under it's control that can or should be closed explicitly.\r
- */\r
- public abstract void serviceDestroy(Env env) throws APIException;\r
+ /**\r
+ * Parallel to servicePrestart, serviceDestroy tells the implementor that\r
+ * the service is ending, and to take this opportunity to close out any\r
+ * content under it's control that can or should be closed explicitly.\r
+ */\r
+ public abstract void serviceDestroy(Env env) throws APIException;\r
}\r