1 /******************************************************************************
2 * PicManCommonFacade.java - Business Interface common to the PicMan apps
3 *
4 * PicMan - The BuckoSoft Picture Manager in Java
5 * Copyright(c) 2008 - Dick Balaska
6 *
7 */
8 package com.buckosoft.PicMan.business.common;
9
10 import java.util.LinkedList;
11 import java.util.List;
12
13 import com.buckosoft.PicMan.business.SetChangedListener;
14 import com.buckosoft.PicMan.domain.SetSize;
15 import com.buckosoft.PicMan.domain.SyncLogEntry;
16
17 /** Business Interface common to the PicMan apps.
18 * @author Dick Balaska
19 * @since 2008/11/10
20 * @see <a href="http://cvs.buckosoft.com/Projects/java/PicMan/PicManService/src/com/buckosoft/PicMan/business/common/PicManCommonFacade.java">PicManCommonFacade.java</a>
21 */
22 public interface PicManCommonFacade {
23
24 ///////////////////////////////////////////////////////////////////////////
25 /* Error Manager */
26
27 /** Add an entry to the Error Log.
28 * @param t The Throwable to be logged.
29 */
30 void addError(Throwable t);
31
32 /** Get a Reference to the Error Log
33 * @return The Error Log
34 */
35 List<Throwable> getErrorLog();
36
37 /** Fetch an error from our table
38 * @param index The table index
39 * @return The Exception
40 */
41 Throwable getError(int index);
42
43 /** Delete any entries in the Error Log
44 */
45 void emptyErrorLog();
46
47 /** Return a reference to the sync log
48 * @return the syncLog
49 */
50 LinkedList<SyncLogEntry> getSyncLog();
51
52 /** Add a sync entry to the log
53 * @param sle The SyncLogEntry to add
54 */
55 void addSyncToLog(SyncLogEntry sle);
56
57 /** Get the maximum displayed sync log lines in the status page.
58 * @return the Count
59 */
60 int getSyncLogMaxCount();
61
62 /** Add this SetChangedListener to the global notification list.
63 * @param setChangedListener The Object who wishes to be notified when a set changes
64 */
65 void addSetChangedListener(SetChangedListener setChangedListener);
66
67 /** Remove this SetChangedListener from the global notification list.
68 * @param setChangedListener The Object who no longer wishes to be notified of changes.
69 */
70 void removeSetChangedListener(SetChangedListener setChangedListener);
71
72 /** A set, or the contents of a set, has changed
73 * @param setSize The set and size that has changed
74 */
75 void fireSetSizeChanged(SetSize setSize);
76
77 }