Class Directory

java.lang.Object
net.sf.statcvs.model.Directory
All Implemented Interfaces:
Comparable

public abstract class Directory extends Object implements 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 <richard@cyganiak.de>
  • Constructor Details

    • Directory

      public Directory()
  • Method Details

    • createRoot

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

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

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

      public abstract 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 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 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 SortedSet getSubdirectories()
      Returns a SortedSet of all immediate subdirectories, ordered by name.
      Returns:
      SortedSet of Directory objects
    • getSubdirectoriesRecursive

      public 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(Object o)
      Compares this directory to another one, based on their full names.
      Specified by:
      compareTo in interface Comparable
      See Also: