Class DetachedCache<Data extends DetachedCacheable,​Sig extends SignatureContainer<?>>

java.lang.Object
br.ufsc.labsec.utils.cache.Cache<Data>
br.ufsc.labsec.utils.cache.DetachedCache<Data,​Sig>
Type Parameters:
Data - O tipo de objeto a ser armazenado
Direct Known Subclasses:
LpaCache

public abstract class DetachedCache<Data extends DetachedCacheable,​Sig extends SignatureContainer<?>>
extends Cache<Data>
Esta classe é responsável por armazenar assinaturas destacadas em cache
  • Constructor Details

    • DetachedCache

      public DetachedCache​(String path)
    • DetachedCache

      public DetachedCache​(String path, String regexFilter)
  • Method Details

    • decodeEntry

      protected abstract Data decodeEntry​(byte[] encoded, byte[] encodedSig) throws EncodingException
      Decodifica um objeto a partir de seus bytes e da assinatura destacada
      Parameters:
      encoded - Os bytes do objeto
      encodedSig - Os bytes da assinatura
      Returns:
      O objeto decodificado
      Throws:
      EncodingException - Exceção em caso de erro na decodificação
    • decodeEntry

      protected Data decodeEntry​(byte[]... encoded) throws EncodingException
      Decodificação original de Cache desabilitada, pois a cache de assinaturas destacadas requer a assinatura para decodificação
      Specified by:
      decodeEntry in class Cache<Data extends DetachedCacheable>
      Parameters:
      encoded - Os bytes do objeto
      Returns:
      O objeto decodificado
      Throws:
      EncodingException - Exceção em caso de erro na decodificação
    • store

      public void store​(Data obj)
      Description copied from class: Cache
      Armazena um objeto na cache
      Overrides:
      store in class Cache<Data extends DetachedCacheable>
      Parameters:
      obj - O objeto a ser armazenado
    • store

      protected void store​(Data obj, Sig sig)
      Armazena um objeto na cache, juntamente com sua assinatura
      Parameters:
      obj - O objeto a ser armazenado