Class VaultFileImpl

java.lang.Object
org.apache.jackrabbit.vault.fs.impl.VaultFileImpl
All Implemented Interfaces:
Dumpable, VaultFile

public class VaultFileImpl extends Object implements VaultFile
Implements the bridge between the repository based artifacts nodes and their file system representation as a collection of artifacts.
  • Field Details

    • log

      protected static org.slf4j.Logger log
      The default logger
  • Constructor Details

  • Method Details

    • init

      protected void init(VaultFileNode node, Artifact a) throws RepositoryException
      (re)initializes this file
      Parameters:
      node - the artifacts node
      a - the artifact
      Throws:
      RepositoryException - if an error occurs
    • attach

      protected void attach(VaultFileNode node, Artifact a)
    • getPath

      public String getPath()
      Description copied from interface: VaultFile
      Returns the os path
      Specified by:
      getPath in interface VaultFile
      Returns:
      the os path.
    • getRepoRelPath

      public String getRepoRelPath()
      Specified by:
      getRepoRelPath in interface VaultFile
      Returns:
      the relative path of this artifact with respect to its parent node (repository format).
    • getAggregatePath

      public String getAggregatePath()
      Specified by:
      getAggregatePath in interface VaultFile
      Returns:
      the repository path of the artifact's root (repository format).
    • getName

      public String getName()
      Description copied from interface: VaultFile
      Returns the name of this file.
      Specified by:
      getName in interface VaultFile
      Returns:
      the name of this file.
    • getArtifact

      public Artifact getArtifact()
      Description copied from interface: VaultFile
      Returns the underlying artifact for this os file. If this file represents the Meta-Directory null is returned.
      Specified by:
      getArtifact in interface VaultFile
      Returns:
      the artifact or null.
    • isDirectory

      public boolean isDirectory()
      Description copied from interface: VaultFile
      Checks if this file is a directory.
      Specified by:
      isDirectory in interface VaultFile
      Returns:
      true if this file is a directory.
    • isTransient

      public boolean isTransient()
      Description copied from interface: VaultFile
      Checks if this file is transient. a file is transient if it's only used as hierarchical node for a deeper 'real' file. i.e.
      Specified by:
      isTransient in interface VaultFile
      Returns:
      true if this file is transient
    • getParent

      public VaultFileImpl getParent() throws IOException, RepositoryException
      Description copied from interface: VaultFile
      Returns the parent file or null if this is the root file.
      Specified by:
      getParent in interface VaultFile
      Returns:
      the parent file.
      Throws:
      IOException - if an I/O error occurs.
      RepositoryException - if a repository error occurs.
    • getAggregate

      public Aggregate getAggregate()
      Description copied from interface: VaultFile
      Returns the artifacts node of this file or null if it's transient
      Specified by:
      getAggregate in interface VaultFile
      Returns:
      the artifacts node
    • getControllingAggregate

      public Aggregate getControllingAggregate()
      Description copied from interface: VaultFile
      Returns the aggregate that controls this file.
      Specified by:
      getControllingAggregate in interface VaultFile
      Returns:
      the artifacts node
    • getChild

      public VaultFileImpl getChild(String name) throws RepositoryException
      Description copied from interface: VaultFile
      Returns the child with the given name or null
      Specified by:
      getChild in interface VaultFile
      Parameters:
      name - the name of the child
      Returns:
      the child or null
      Throws:
      RepositoryException - if an error occurs
    • getChildren

      public Collection<? extends VaultFile> getChildren() throws RepositoryException
      Description copied from interface: VaultFile
      Returns a collection of the children
      Specified by:
      getChildren in interface VaultFile
      Returns:
      a collection of the children
      Throws:
      RepositoryException - if an error occurs
    • addPendingNode

      protected void addPendingNode(VaultFileNode n) throws RepositoryException
      Adds a node to the map of pending ones
      Parameters:
      n - the node
      Throws:
      RepositoryException - if an error occurs
    • getOrAddChild

      protected VaultFileImpl getOrAddChild(String name) throws RepositoryException
      Returns the child of the given name or creates and adds a new one.
      Parameters:
      name - the name of the file
      Returns:
      the child
      Throws:
      RepositoryException - if an error occurs
    • getRelated

      public Collection<? extends VaultFile> getRelated() throws RepositoryException
      Description copied from interface: VaultFile
      Returns the os file set for this file. The set contains those are the files that are generated from the same jcr file.
      Specified by:
      getRelated in interface VaultFile
      Returns:
      the file set of related files
      Throws:
      RepositoryException - if an error occurs.
    • canRead

      public boolean canRead()
      Description copied from interface: VaultFile
      Checks if this file can be read from (eg. if it's not a directory)
      Specified by:
      canRead in interface VaultFile
      Returns:
      true if this file can be read from.
    • lastModified

      public long lastModified()
      Description copied from interface: VaultFile
      Returns the last modified date or 0 if not known.
      Specified by:
      lastModified in interface VaultFile
      Returns:
      the last modified date or 0
    • length

      public long length()
      Description copied from interface: VaultFile
      Returns the length of the serialized data if it's known without doing the actual serialization.
      Specified by:
      length in interface VaultFile
      Returns:
      the length or -1 if the length cannot be determined.
    • getContentType

      public String getContentType()
      Description copied from interface: VaultFile
      Returns the content type of this file or null if the type cannot be determined or if it's a directory.
      Specified by:
      getContentType in interface VaultFile
      Returns:
      the content type or null.
    • getFileSystem

      public VaultFileSystem getFileSystem()
      Description copied from interface: VaultFile
      Returns the underlying file system.
      Specified by:
      getFileSystem in interface VaultFile
      Returns:
      the Vault filesystem
    • invalidate

      public void invalidate() throws RepositoryException
      Specified by:
      invalidate in interface VaultFile
      Throws:
      RepositoryException
    • dump

      public void dump(DumpContext ctx, boolean isLast)
      Dumps some human readable information using the given context.
      Specified by:
      dump in interface Dumpable
      Parameters:
      ctx - the dump context
      isLast - specifies if this is the last element to dump on this level