Class Directory

  • All Implemented Interfaces:
    java.lang.Comparable

    public abstract class Directory
    extends java.lang.Object
    implements java.lang.Comparable
    Represents a directory in the Repository, a container for VersionedFiles and subDirectorys. A new root directory is created by createRoot(). The createSubdirectory(java.lang.String) method creates new subdirectories. TODO: Rename getCurrentLOC to getCurrentLines or getCurrentLineCount
    Version:
    $Id: Directory.java,v 1.11 2008/04/02 11:22:16 benoitx Exp $
    Author:
    Richard Cyganiak
    • Constructor Summary

      Constructors 
      Constructor Description
      Directory()  
    • Method Summary

      All Methods Static Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      int compareTo​(java.lang.Object o)
      Compares this directory to another one, based on their full names.
      static Directory createRoot()
      Factory method for creating a new root directory.
      Directory createSubdirectory​(java.lang.String name)
      Factory method for creating a new subdirectory.
      int getCurrentFileCount()
      Returns the number of files in this directory.
      int getCurrentLOC()
      Returns the number of lines in this directory.
      abstract int getDepth()
      Returns the level of this directory in the direcotry tree.
      java.util.SortedSet getFiles()
      Returns all VersionedFile objects in this directory, ordered by filename.
      abstract java.lang.String getName()
      Returns the directory's name without full path or any slashes, for example "src".
      abstract Directory getParent()
      Returns the directory's parent directory or null if it is the root
      abstract java.lang.String getPath()
      Returns the directory's full path with trailing slash, for example "src/net/sf/statcvs/".
      java.util.SortedSet getRevisions()
      Returns all Revisions to files in this directory, in order from oldest to most recent.
      java.util.SortedSet getSubdirectories()
      Returns a SortedSet of all immediate subdirectories, ordered by name.
      java.util.SortedSet getSubdirectoriesRecursive()
      Returns a list of all subdirectories, including their subdirectories and this directory itself.
      boolean isEmpty()
      Returns true if all files in this directory and its subdirectories are deleted, or if it doesn't have any files and subdirectories at all.
      abstract boolean isRoot()
      Returns true if this is the root of the directory tree.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • Directory

        public Directory()
    • Method Detail

      • createRoot

        public static Directory createRoot()
        Factory method for creating a new root directory.
        Returns:
        a new root directory
      • createSubdirectory

        public Directory createSubdirectory​(java.lang.String name)
        Factory method for creating a new subdirectory.
        Parameters:
        name - the subdirectory's name
        Returns:
        the subdirectory instance
      • getName

        public abstract java.lang.String getName()
        Returns the directory's name without full path or any slashes, for example "src".
        Returns:
        the directory's name
      • getPath

        public abstract java.lang.String getPath()
        Returns the directory's full path with trailing slash, for example "src/net/sf/statcvs/".
        Returns:
        the directory's path
      • getParent

        public abstract Directory getParent()
        Returns the directory's parent directory or null if it is the root
        Returns:
        the directory's parent.
      • isRoot

        public abstract boolean isRoot()
        Returns true if this is the root of the directory tree.
        Returns:
        true if this is the root of the directory tree
      • getDepth

        public abstract int getDepth()
        Returns the level of this directory in the direcotry tree. The root has level 0, its subdirectories have level 1, and so forth.
        Returns:
        the level of this directory in the directory tree
      • getFiles

        public java.util.SortedSet getFiles()
        Returns all VersionedFile objects in this directory, ordered by filename. Files in subdirectories are not included.
        Returns:
        the files in this directory
      • getRevisions

        public java.util.SortedSet getRevisions()
        Returns all Revisions to files in this directory, in order from oldest to most recent.
        Returns:
        list of Revisions for this directory
      • getSubdirectories

        public java.util.SortedSet getSubdirectories()
        Returns a SortedSet of all immediate subdirectories, ordered by name.
        Returns:
        SortedSet of Directory objects
      • getSubdirectoriesRecursive

        public java.util.SortedSet getSubdirectoriesRecursive()
        Returns a list of all subdirectories, including their subdirectories and this directory itself. The list is preordered, beginning with this directory itself.
        Returns:
        SortedSet of Directory objects
      • getCurrentLOC

        public int getCurrentLOC()
        Returns the number of lines in this directory. The returned number will be for the current revisions of all files.
        Returns:
        lines in this directory
      • getCurrentFileCount

        public int getCurrentFileCount()
        Returns the number of files in this directory. Deleted files are not counted.
        Returns:
        number of files in this directory
      • isEmpty

        public boolean isEmpty()
        Returns true if all files in this directory and its subdirectories are deleted, or if it doesn't have any files and subdirectories at all.
        Returns:
        true if the directory is currently empty
      • compareTo

        public int compareTo​(java.lang.Object o)
        Compares this directory to another one, based on their full names.
        Specified by:
        compareTo in interface java.lang.Comparable
        See Also:
        Comparable.compareTo(java.lang.Object)