001 package org.LiveGraph.dataCache; 002 003 import org.LiveGraph.events.EventType; 004 import org.LiveGraph.events.Validation; 005 006 007 /** 008 * Event types related to data updates. 009 * 010 * <p style="font-size:smaller;">This product includes software developed by the 011 * <strong>LiveGraph</strong> project and its contributors.<br /> 012 * (<a href="http://www.live-graph.org" target="_blank">http://www.live-graph.org</a>)<br /> 013 * Copyright (c) 2007-2008 G. Paperin.<br /> 014 * All rights reserved. 015 * </p> 016 * <p style="font-size:smaller;">File: UpdateInvokerObserver.java</p> 017 * <p style="font-size:smaller;">Redistribution and use in source and binary forms, with or 018 * without modification, are permitted provided that the following terms and conditions are met: 019 * </p> 020 * <p style="font-size:smaller;">1. Redistributions of source code must retain the above 021 * acknowledgement of the LiveGraph project and its web-site, the above copyright notice, 022 * this list of conditions and the following disclaimer.<br /> 023 * 2. Redistributions in binary form must reproduce the above acknowledgement of the 024 * LiveGraph project and its web-site, the above copyright notice, this list of conditions 025 * and the following disclaimer in the documentation and/or other materials provided with 026 * the distribution.<br /> 027 * 3. All advertising materials mentioning features or use of this software or any derived 028 * software must display the following acknowledgement:<br /> 029 * <em>This product includes software developed by the LiveGraph project and its 030 * contributors.<br />(http://www.live-graph.org)</em><br /> 031 * 4. All advertising materials distributed in form of HTML pages or any other technology 032 * permitting active hyper-links that mention features or use of this software or any 033 * derived software must display the acknowledgment specified in condition 3 of this 034 * agreement, and in addition, include a visible and working hyper-link to the LiveGraph 035 * homepage (http://www.live-graph.org). 036 * </p> 037 * <p style="font-size:smaller;">THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY 038 * OF ANY KIND, EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 039 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 040 * THE AUTHORS, CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 041 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR 042 * IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 043 * </p> 044 * 045 * @author Greg Paperin (<a href="http://www.paperin.org" target="_blank">http://www.paperin.org</a>) 046 * @version {@value org.LiveGraph.LiveGraph#version} 047 */ 048 public enum DataUpdateEvent implements EventType { 049 050 051 /** 052 * <table> 053 * <tr><th>Info parameter</th> <th>Value</th></tr> 054 * <tr><td>{@code getInfoBoolean()}</td> <td>{@code true} if the {@code DataStreamReader} object 055 * should be closed at the end of the update, 056 * {@code false} if the {@code DataStreamReader} should 057 * not be closed at the end of the update</td></tr> 058 * <tr><td>{@code getInfoLong()}</td> <td><em>unspecified</em></td></tr> 059 * <tr><td>{@code getInfoDouble()}</td> <td><em>unspecified</em></td></tr> 060 * <tr><td>{@code getInfoObject()}</td> <td>The {@code DataStreamReader} object that 061 * is the source for the update.</td></tr> 062 * </table> 063 */ 064 UPDIN_InitiateUpdate, 065 066 /** 067 * <table> 068 * <tr><th>Info parameter</th> <th>Value</th></tr> 069 * <tr><td>{@code getInfoBoolean()}</td> <td><em>unspecified</em></td></tr> 070 * <tr><td>{@code getInfoLong()}</td> <td><em>unspecified</em></td></tr> 071 * <tr><td>{@code getInfoDouble()}</td> <td><em>unspecified</em></td></tr> 072 * <tr><td>{@code getInfoObject()}</td> <td>Error message ({@code String})</td></tr> 073 * </table> 074 */ 075 UPDIN_CannotInitiateUpdate, 076 077 078 /** 079 * <table> 080 * <tr><th>Info parameter</th> <th>Value</th></tr> 081 * <tr><td>{@code getInfoBoolean()}</td> <td><em>unspecified</em></td></tr> 082 * <tr><td>{@code getInfoLong()}</td> <td><em>unspecified</em></td></tr> 083 * <tr><td>{@code getInfoDouble()}</td> <td><em>unspecified</em></td></tr> 084 * <tr><td>{@code getInfoObject()}</td> <td><em>unspecified</em></td></tr> 085 * </table> 086 */ 087 UPDIN_TimerTick, 088 089 /** 090 * Validated before actually starting an update, if validation fails the update is not started. 091 * <table> 092 * <tr><th>Info parameter</th> <th>Value</th></tr> 093 * <tr><td>{@code getInfoBoolean()}</td> <td><em>unspecified</em></td></tr> 094 * <tr><td>{@code getInfoLong()}</td> <td><em>unspecified</em></td></tr> 095 * <tr><td>{@code getInfoDouble()}</td> <td><em>unspecified</em></td></tr> 096 * <tr><td>{@code getInfoObject()}</td> <td><em>unspecified</em></td></tr> 097 * </table> 098 */ 099 @Validation(Validation.Requirement.MUST_VALIDATE) 100 UPDIN_UpdateStart, 101 102 /** 103 * Validated before switching into memory stream mode, if validation fails the switching is not performed; 104 * event is raised directly after switching to notify the application. 105 * <table> 106 * <tr><th>Info parameter</th> <th>Value</th></tr> 107 * <tr><td>{@code getInfoBoolean()}</td> <td><em>unspecified</em></td></tr> 108 * <tr><td>{@code getInfoLong()}</td> <td><em>unspecified</em></td></tr> 109 * <tr><td>{@code getInfoDouble()}</td> <td><em>unspecified</em></td></tr> 110 * <tr><td>{@code getInfoObject()}</td> <td><em>unspecified</em></td></tr> 111 * </table> 112 */ 113 @Validation(Validation.Requirement.MUST_VALIDATE) 114 UPDIN_StartMemoryStreamMode, 115 116 /** 117 * Validated before switching from memory stream mode into normal (data file) mode, 118 * if validation fails the switching is not performed; 119 * event is raised directly after switching to notify the application. 120 * <table> 121 * <tr><th>Info parameter</th> <th>Value</th></tr> 122 * <tr><td>{@code getInfoBoolean()}</td> <td><em>unspecified</em></td></tr> 123 * <tr><td>{@code getInfoLong()}</td> <td><em>unspecified</em></td></tr> 124 * <tr><td>{@code getInfoDouble()}</td> <td><em>unspecified</em></td></tr> 125 * <tr><td>{@code getInfoObject()}</td> <td><em>unspecified</em></td></tr> 126 * </table> 127 */ 128 @Validation(Validation.Requirement.MUST_VALIDATE) 129 UPDIN_EndMemoryStreamMode, 130 131 /** 132 * <table> 133 * <tr><th>Info parameter</th> <th>Value</th></tr> 134 * <tr><td>{@code getInfoBoolean()}</td> <td><em>unspecified</em></td></tr> 135 * <tr><td>{@code getInfoLong()}</td> <td><em>unspecified</em></td></tr> 136 * <tr><td>{@code getInfoDouble()}</td> <td><em>unspecified</em></td></tr> 137 * <tr><td>{@code getInfoObject()}</td> <td><em>unspecified</em></td></tr> 138 * </table> 139 */ 140 UPDIN_UpdateFinishSuccess, 141 142 /** 143 * <table> 144 * <tr><th>Info parameter</th> <th>Value</th></tr> 145 * <tr><td>{@code getInfoBoolean()}</td> <td><em>unspecified</em></td></tr> 146 * <tr><td>{@code getInfoLong()}</td> <td><em>unspecified</em></td></tr> 147 * <tr><td>{@code getInfoDouble()}</td> <td><em>unspecified</em></td></tr> 148 * <tr><td>{@code getInfoObject()}</td> <td>a {@code String} containg the error message</td></tr> 149 * </table> 150 */ 151 UPDIN_UpdateFinishError 152 153 } // public enum DataUpdateEvent