Class BackingStoreAwareCacheWriter

  • All Implemented Interfaces:
    org.alfresco.service.cmr.repository.ContentAccessor, org.alfresco.service.cmr.repository.ContentWriter, org.alfresco.service.cmr.repository.MimetypeServiceAware

    public class BackingStoreAwareCacheWriter
    extends java.lang.Object
    implements org.alfresco.service.cmr.repository.ContentWriter, org.alfresco.service.cmr.repository.MimetypeServiceAware
    Wrapper for cache writer that is aware of backing store writer and calls backing store for getSize and getContentData in case if cache file was deleted
    Author:
    Viachaslau Tsikhanovich
    See Also:
    MNT-9663
    • Constructor Detail

      • BackingStoreAwareCacheWriter

        public BackingStoreAwareCacheWriter​(org.alfresco.service.cmr.repository.ContentWriter cacheWriter,
                                            org.alfresco.service.cmr.repository.ContentWriter bsWriter)
    • Method Detail

      • isChannelOpen

        public boolean isChannelOpen()
        Specified by:
        isChannelOpen in interface org.alfresco.service.cmr.repository.ContentAccessor
      • addListener

        public void addListener​(org.alfresco.service.cmr.repository.ContentStreamListener listener)
        Specified by:
        addListener in interface org.alfresco.service.cmr.repository.ContentAccessor
      • getSize

        public long getSize()
        Specified by:
        getSize in interface org.alfresco.service.cmr.repository.ContentAccessor
      • getContentData

        public org.alfresco.service.cmr.repository.ContentData getContentData()
        Specified by:
        getContentData in interface org.alfresco.service.cmr.repository.ContentAccessor
      • getContentUrl

        public java.lang.String getContentUrl()
        Specified by:
        getContentUrl in interface org.alfresco.service.cmr.repository.ContentAccessor
      • getMimetype

        public java.lang.String getMimetype()
        Specified by:
        getMimetype in interface org.alfresco.service.cmr.repository.ContentAccessor
      • setMimetype

        public void setMimetype​(java.lang.String mimetype)
        Specified by:
        setMimetype in interface org.alfresco.service.cmr.repository.ContentAccessor
      • getEncoding

        public java.lang.String getEncoding()
        Specified by:
        getEncoding in interface org.alfresco.service.cmr.repository.ContentAccessor
      • setEncoding

        public void setEncoding​(java.lang.String encoding)
        Specified by:
        setEncoding in interface org.alfresco.service.cmr.repository.ContentAccessor
      • getLocale

        public java.util.Locale getLocale()
        Specified by:
        getLocale in interface org.alfresco.service.cmr.repository.ContentAccessor
      • setLocale

        public void setLocale​(java.util.Locale locale)
        Specified by:
        setLocale in interface org.alfresco.service.cmr.repository.ContentAccessor
      • getReader

        public org.alfresco.service.cmr.repository.ContentReader getReader()
                                                                    throws org.alfresco.service.cmr.repository.ContentIOException
        Specified by:
        getReader in interface org.alfresco.service.cmr.repository.ContentWriter
        Throws:
        org.alfresco.service.cmr.repository.ContentIOException
      • isClosed

        public boolean isClosed()
        Specified by:
        isClosed in interface org.alfresco.service.cmr.repository.ContentWriter
      • getWritableChannel

        public java.nio.channels.WritableByteChannel getWritableChannel()
                                                                 throws org.alfresco.service.cmr.repository.ContentIOException
        Specified by:
        getWritableChannel in interface org.alfresco.service.cmr.repository.ContentWriter
        Throws:
        org.alfresco.service.cmr.repository.ContentIOException
      • getFileChannel

        public java.nio.channels.FileChannel getFileChannel​(boolean truncate)
                                                     throws org.alfresco.service.cmr.repository.ContentIOException
        Specified by:
        getFileChannel in interface org.alfresco.service.cmr.repository.ContentWriter
        Throws:
        org.alfresco.service.cmr.repository.ContentIOException
      • getContentOutputStream

        public java.io.OutputStream getContentOutputStream()
                                                    throws org.alfresco.service.cmr.repository.ContentIOException
        Specified by:
        getContentOutputStream in interface org.alfresco.service.cmr.repository.ContentWriter
        Throws:
        org.alfresco.service.cmr.repository.ContentIOException
      • putContent

        public void putContent​(org.alfresco.service.cmr.repository.ContentReader reader)
                        throws org.alfresco.service.cmr.repository.ContentIOException
        Specified by:
        putContent in interface org.alfresco.service.cmr.repository.ContentWriter
        Throws:
        org.alfresco.service.cmr.repository.ContentIOException
      • putContent

        public void putContent​(java.io.InputStream is)
                        throws org.alfresco.service.cmr.repository.ContentIOException
        Specified by:
        putContent in interface org.alfresco.service.cmr.repository.ContentWriter
        Throws:
        org.alfresco.service.cmr.repository.ContentIOException
      • putContent

        public void putContent​(java.io.File file)
                        throws org.alfresco.service.cmr.repository.ContentIOException
        Specified by:
        putContent in interface org.alfresco.service.cmr.repository.ContentWriter
        Throws:
        org.alfresco.service.cmr.repository.ContentIOException
      • putContent

        public void putContent​(java.lang.String content)
                        throws org.alfresco.service.cmr.repository.ContentIOException
        Specified by:
        putContent in interface org.alfresco.service.cmr.repository.ContentWriter
        Throws:
        org.alfresco.service.cmr.repository.ContentIOException
      • guessMimetype

        public void guessMimetype​(java.lang.String filename)
        Specified by:
        guessMimetype in interface org.alfresco.service.cmr.repository.ContentWriter
      • guessEncoding

        public void guessEncoding()
        Specified by:
        guessEncoding in interface org.alfresco.service.cmr.repository.ContentWriter
      • setMimetypeService

        public void setMimetypeService​(org.alfresco.service.cmr.repository.MimetypeService mimetypeService)
        Specified by:
        setMimetypeService in interface org.alfresco.service.cmr.repository.MimetypeServiceAware