litesoft
@ 947
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
// This Source Code is in the Public Domain per: http://unlicense.org package org.litesoft.bo.views.caching; import java.util.*; import org.litesoft.bo.views.*; public interface VoCacheManager { /** * Remove all CacheID tracking associated with the pUserSessionID. * * @param pUserSessionID An Object supporting appropriate "equals()" that will uniquely identify a UserSession on the current server */ void drop( Object pUserSessionID ); /** * Add monitoring for a ViewObject Type (Class Name) * * @param pUserSessionID An Object supporting appropriate "equals()" that will uniquely identify a UserSession on the current server */ void addType( Object pUserSessionID, CacheID pCacheID, String pViewObjectClassName ); /** * Add monitoring for a ViewObject Instance (via its ObjectURL) * * @param pUserSessionID An Object supporting appropriate "equals()" that will uniquely identify a UserSession on the current server */ void addInstance( Object pUserSessionID, CacheID pCacheID, ObjectURL pObjectURL ); /** * For each ObjectURL, move any CacheIDs into the Invalid Collectors, and then return the Invalid Collection for this UserSession! * <p/> * Note: The CacheIDs that have been registered have been registered by multiple UserSessions, so... this means that any pObjectURLs * may effect CacheIDs from other UserSessions and must be "held" as invalidated until the UserSession contacts the Server! * * @param pUserSessionID An Object supporting appropriate "equals()" that will uniquely identify a UserSession on the current server * @param pObjectURLs (may be null and contain nulls) for ViewObjects that were changed or created; these will be used to invalidate previously added CacheIDs */ CacheID[] invalidate( Object pUserSessionID, List<ObjectURL> pObjectURLs ); public static final VoCacheManager NULL = new VoCacheManager() { public void drop( Object pUserSessionID ) { } public void addType( Object pUserSessionID, CacheID pCacheID, String pViewObjectClassName ) { } public void addInstance( Object pUserSessionID, CacheID pCacheID, ObjectURL pObjectURL ) { } public CacheID[] invalidate( Object pUserSessionID, List<ObjectURL> pObjectURLs ) { return new CacheID[0]; } }; } |