Class StreamAwareContentWriterProxy

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

    public class StreamAwareContentWriterProxy
    extends AbstractStreamAwareProxy
    implements org.alfresco.service.cmr.repository.ContentWriter
    Proxy for ContentWriter which captures OutputStream or WritableByteChannel to introduce a possibility of releasing captured resource
    Author:
    Dmitry Velichkevich
    See Also:
    ContentWriter, AbstractStreamAwareProxy
    • Constructor Detail

      • StreamAwareContentWriterProxy

        public StreamAwareContentWriterProxy​(org.alfresco.service.cmr.repository.ContentWriter delegator)
    • Method Detail

      • 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
      • 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
      • 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
      • 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
      • guessEncoding

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

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

        public boolean isClosed()
        Specified by:
        isClosed in interface org.alfresco.service.cmr.repository.ContentWriter
      • 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
      • addListener

        public void addListener​(org.alfresco.service.cmr.repository.ContentStreamListener listener)
        Specified by:
        addListener 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
      • getEncoding

        public java.lang.String getEncoding()
        Specified by:
        getEncoding 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
      • getMimetype

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

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

        public boolean isChannelOpen()
        Specified by:
        isChannelOpen 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
      • setLocale

        public void setLocale​(java.util.Locale locale)
        Specified by:
        setLocale 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
      • canBeClosed

        public boolean canBeClosed()
        Specified by:
        canBeClosed in class AbstractStreamAwareProxy
        Returns:
        Boolean value which determines whether stream can (true) or cannot ((false)) be closed
      • getStream

        public java.io.Closeable getStream()
        Specified by:
        getStream in class AbstractStreamAwareProxy
        Returns:
        Closeable instance which represents channel or stream which uses channel