Class AbstractContentStore

    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected ContentLimitProvider contentLimitProvider  
      • Fields inherited from interface org.alfresco.repo.content.ContentStore

        NEW_CONTENT_CONTEXT, PROTOCOL_DELIMITER
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean delete​(java.lang.String contentUrl)
      Override if the derived class supports the operation.
      boolean exists​(java.lang.String contentUrl)
      Simple implementation that uses the reader's exists method as its implementation.
      protected org.alfresco.util.Pair<java.lang.String,​java.lang.String> getContentUrlParts​(java.lang.String contentUrl)
      Splits the content URL into its component parts as separated by protocol delimiter.
      java.lang.String getRootLocation()  
      long getSpaceFree()  
      long getSpaceTotal()  
      org.alfresco.service.cmr.repository.ContentWriter getWriter​(org.alfresco.repo.content.ContentContext context)
      An implementation that does some sanity checking before requesting a writer from the store.
      protected org.alfresco.service.cmr.repository.ContentWriter getWriterInternal​(org.alfresco.service.cmr.repository.ContentReader existingContentReader, java.lang.String newContentUrl)
      Implement to supply a store-specific writer for the given existing content and optional target content URL.
      boolean isContentUrlSupported​(java.lang.String contentUrl)
      Override this method to supply a efficient and direct check of the URL supplied.
      static boolean isValidContentUrl​(java.lang.String contentUrl)
      Checks that the content conforms to the format protocol://identifier as specified in the contract of the ContentStore interface.
      void setContentLimitProvider​(ContentLimitProvider contentLimitProvider)
      An object that prevents abuse of the underlying store(s)
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface org.alfresco.repo.content.ContentStore

        getReader, isWriteSupported
    • Constructor Detail

      • AbstractContentStore

        public AbstractContentStore()
    • Method Detail

      • isValidContentUrl

        public static final boolean isValidContentUrl​(java.lang.String contentUrl)
        Checks that the content conforms to the format protocol://identifier as specified in the contract of the ContentStore interface.
        Parameters:
        contentUrl - the content URL to check
        Returns:
        Returns true if the content URL is valid
        Since:
        2.1
      • setContentLimitProvider

        public void setContentLimitProvider​(ContentLimitProvider contentLimitProvider)
        An object that prevents abuse of the underlying store(s)
      • getContentUrlParts

        protected org.alfresco.util.Pair<java.lang.String,​java.lang.String> getContentUrlParts​(java.lang.String contentUrl)
        Splits the content URL into its component parts as separated by protocol delimiter.
        Parameters:
        contentUrl - the content URL to split
        Returns:
        Returns the protocol and identifier portions of the content URL, both of which will not be null
        Throws:
        UnsupportedContentUrlException - if the content URL is invalid
        Since:
        2.1
      • isContentUrlSupported

        public boolean isContentUrlSupported​(java.lang.String contentUrl)
        Override this method to supply a efficient and direct check of the URL supplied. The default implementation checks whether ContentStore.getReader(String) throws the UnsupportedContentUrlException exception.
        Specified by:
        isContentUrlSupported in interface org.alfresco.repo.content.ContentStore
        Since:
        2.1
      • delete

        public boolean delete​(java.lang.String contentUrl)
        Override if the derived class supports the operation.
        Specified by:
        delete in interface org.alfresco.repo.content.ContentStore
        Throws:
        java.lang.UnsupportedOperationException - always
        Since:
        2.1
      • getWriterInternal

        protected org.alfresco.service.cmr.repository.ContentWriter getWriterInternal​(org.alfresco.service.cmr.repository.ContentReader existingContentReader,
                                                                                      java.lang.String newContentUrl)
        Implement to supply a store-specific writer for the given existing content and optional target content URL.
        Parameters:
        existingContentReader - a reader onto any content to initialize the new writer with
        newContentUrl - an optional target for the new content
        Throws:
        UnsupportedContentUrlException - if the content URL supplied is not supported by the store
        ContentExistsException - if the content URL is already in use
        org.alfresco.service.cmr.repository.ContentIOException - if an IO error occurs
        Since:
        2.1
      • getWriter

        public org.alfresco.service.cmr.repository.ContentWriter getWriter​(org.alfresco.repo.content.ContentContext context)
        An implementation that does some sanity checking before requesting a writer from the store. If this method is not overridden, then an implementation of getWriterInternal(ContentReader, String) must be supplied.
        Specified by:
        getWriter in interface org.alfresco.repo.content.ContentStore
        Since:
        2.1
        See Also:
        getWriterInternal(ContentReader, String)
      • exists

        public boolean exists​(java.lang.String contentUrl)
        Simple implementation that uses the reader's exists method as its implementation. Override this method if a more efficient implementation is possible.
        Specified by:
        exists in interface org.alfresco.repo.content.ContentStore
      • getSpaceFree

        public long getSpaceFree()
        Specified by:
        getSpaceFree in interface org.alfresco.repo.content.ContentStore
        Returns:
        Returns -1 always
      • getSpaceTotal

        public long getSpaceTotal()
        Specified by:
        getSpaceTotal in interface org.alfresco.repo.content.ContentStore
        Returns:
        Returns -1 always
      • getRootLocation

        public java.lang.String getRootLocation()
        Specified by:
        getRootLocation in interface org.alfresco.repo.content.ContentStore
        Returns:
        Returns a '.' (period) always