Package sk.iway.iwcm

Class Cache

java.lang.Object
sk.iway.iwcm.Cache

public class Cache extends Object
Cache.java - cache pre casto pouzivane objekty, ktorych generovanie je pomale
  • Field Details

    • CONTEXT_NAME

      public static final String CONTEXT_NAME
      Nazov, pod ktorym sa tento objekt nachadza v ServletContexte
      See Also:
  • Method Details

    • subscribe

      public static void subscribe(CacheListener theListener)
      Subscribes to the new events in Cache
      Parameters:
      theListener -
    • unsubscribe

      public static void unsubscribe(CacheListener theListener)
      No longer willing to hear about new events in Cache
      Parameters:
      theListener -
    • getInstance

      public static Cache getInstance()
      Vrati instanciu Cache
      Returns:
    • getInstance

      public static Cache getInstance(boolean forceRefresh)
      Vrati instanciu chache
      Parameters:
      forceRefresh - - ak je true, vytvori sa nanovo (zabudne stare objekty)
      Returns:
    • clearAll

      public void clearAll()
      Vymaze celu cache
    • getSize

      public int getSize()
      Vrati pocet poloziek v cache
      Returns:
    • getObject

      public Object getObject(String name)
      Ziska objekt z cache, vrati null, ak sa v cache nenachadza (alebo cas exspiroval)
      Parameters:
      name - - symbolicke meno objektu v cache
      Returns:
    • getObject

      public <R> R getObject(String name, Class<R> type)
      vrati objekt uz pretypovany (nemam rad ked musim po vrateni objekt pretypovavat :) )
      Parameters:
      name -
      type -
      Returns:
    • getAllKeys

      public Enumeration<String> getAllKeys()
      Vrati zoznam vsetkych klucov z cache
      Returns:
    • getAllElements

      public Enumeration<CacheBean> getAllElements()
      Vrati zoznam vsetkych objektov v cache
      Returns:
    • setObject

      public void setObject(String name, Object object, int cacheInMinutes)
      Vlozi objekt do cache
      Parameters:
      name - - symbolicke meno objektu v cache
      object - - objekt, ktory sa ma vlozit
      cacheInMinutes - - pocet minut, pocas ktorych sa objekt bude v cache nachadzat
    • setObjectSeconds

      public void setObjectSeconds(String name, Object object, int cacheInSeconds)
      Vlozi objekt do cache, pouzije SMART Refresh
      Parameters:
      name - - symbolicke meno objektu v cache
      object - - objekt, ktory sa ma vlozit
      cacheInSeconds - - pocet sekund, pocas ktorych sa objekt uchova
    • setObjectSeconds

      public void setObjectSeconds(String name, Object object, int cacheInSeconds, boolean allowSmartRefresh)
      Vlozi objekt do cache
      Parameters:
      name - - symbolicke meno objektu v cache
      object - - objekt, ktory sa ma vlozit
      cacheInSeconds - - pocet sekund, pocas ktorych sa objekt uchova
      allowSmartRefresh - - ak je nastavene na true, tak tesne pred vyprsanim objektu zo session je vratene null, aby dany thread mohol objekt znova naplnit (SmartCahce)
    • setObjectByExpiry

      public void setObjectByExpiry(String name, Object object, long expiryTime, boolean allowSmartRefresh)
      Vlozi objekt do cache s nastavenym casom exspiracie
      Parameters:
      name -
      object -
      expiryTime -
      allowSmartRefresh -
    • setObjectExpiryTime

      public void setObjectExpiryTime(String name, long expiryTime)
      Nastavi uz existujucemu objektu v cache novy cas exspiracie
      Parameters:
      name -
      expiryTime -
    • removeObject

      public void removeObject(String name)
    • removeObject

      public void removeObject(String name, boolean refreshCluster)
      Odstrani zadany objekt z cahce. Ak je refreshCluster true odstani sa aj z ostatnych nodov clustra
      Parameters:
      name -
      refreshCluster -
    • removeObjectStartsWithName

      public void removeObjectStartsWithName(String name)
      Vymaze z cache objekty zacinajuce na dane meno
      Parameters:
      name -
    • removeObjectStartsWithName

      public void removeObjectStartsWithName(String name, boolean refreshCluster)
      Vymaze z cache objekty zacinajuce na dane meno. Ak je refreshCluster true odstani sa aj z ostatnych nodov clustra
      Parameters:
      name -
      refreshCluster -
    • downloadUrl

      public String downloadUrl(String url, int cacheInMinutes)
      Stiahne url a ulozi ho do cache na cacheInMinutes minut. Podporuje iba GET
      Parameters:
      url - - url adresa stranky (sluzi aj ako kluc do cache)
      cacheInMinutes - - pocet minut, pocas ktorych sa bude drzat v cache
      Returns:
    • onDocChange

      public void onDocChange(DocDetails doc)
    • getObjectExpiryTime

      public Long getObjectExpiryTime(String name)
      Ziska timestamp exspiracie objektu z cache, vrati null, ak sa objekt v cache nenachadza (alebo cas exspiroval)
      Parameters:
      name - - symbolicke meno objektu v cache
      Returns:
    • setUserObject

      public void setUserObject(UserDetails user, String name, Object object, int cacheInMinutes)
      Vlozi objekt do cache pre daneho pouzivatela
      Parameters:
      user - - prihlaseny pouzivatel
      name - - symbolicke meno objektu v cache
      object - - objekt, ktory sa ma vlozit
      cacheInMinutes - - pocet minut, pocas ktorych sa objekt bude v cache nachadzat
    • getUserObject

      public <R> R getUserObject(UserDetails user, String name, Class<R> type)
      vrati objekt uz pretypovany (nemam rad ked musim po vrateni objekt pretypovavat :) )
      Parameters:
      user - - prihlaseny pouzivatel
      name -
      type -
      Returns:
    • getUserObject

      public Object getUserObject(UserDetails user, String name)
      Ziska objekt z cache, vrati null, ak sa v cache nenachadza (alebo cas exspiroval)
      Parameters:
      user - - prihlaseny pouzivatel
      name - - symbolicke meno objektu v cache
      Returns:
    • removeUserAllUserObjects

      public void removeUserAllUserObjects(UserDetails user)
      Odstrani z cache vsetky objekty zadaneho pouzivatela
      Parameters:
      user -