public class StandardAdminHandler extends java.lang.Object implements AdminHandler
This implementation strives to provide complete compatibility with the standard CVS client, so that operations on locally checked-out files can be carried out by either this library or the standard client without causing the other to fail. Any such failure should be considered a bug in this library.
| Constructor and Description |
|---|
StandardAdminHandler() |
| Modifier and Type | Method and Description |
|---|---|
boolean |
exists(java.io.File file)
Simply delegates to File.exists(), does not provide any virtual files.
|
java.util.Set |
getAllFiles(java.io.File directory)
Get all the files contained within a given
directory that are known to CVS.
|
java.util.Iterator |
getEntries(java.io.File directory)
Get the entries for a specified directory.
|
Entry[] |
getEntriesAsArray(java.io.File directory)
Get the entries for a specified directory.
|
Entry |
getEntry(java.io.File file)
Get the Entry for the specified file, if one exists
|
java.lang.String |
getRepositoryForDirectory(java.lang.String directory,
java.lang.String repository)
Get the repository path for a given directory, for example in
the directory /home/project/foo/bar, the repository directory
might be /usr/cvs/foo/bar.
|
java.lang.String |
getStickyTagForDirectory(java.io.File directory)
Checks for presence of CVS/Tag file and returns it's value.
|
void |
removeEntry(java.io.File file)
Remove the Entry for the specified file
|
void |
setEntry(java.io.File file,
Entry entry)
Set the Entry for the specified file
|
void |
updateAdminData(java.lang.String localDirectory,
java.lang.String repositoryPath,
Entry entry,
GlobalOptions globalOptions)
Create or update the administration files for a particular file.
|
public void updateAdminData(java.lang.String localDirectory,
java.lang.String repositoryPath,
Entry entry,
GlobalOptions globalOptions)
throws java.io.IOException
updateAdminData in interface AdminHandlerlocalDirectory - the local directory where the file in question
lives (the absolute path). Must not end with a slash.entry - the entry object for that file. If null, there is no
entry to add, and the Entries file will not have any entries added to
it (it will be created if it does not exist, however).repositoryPath - the path of the file in the repositoryglobalOptions - the global command optionsjava.io.IOExceptionpublic boolean exists(java.io.File file)
exists in interface AdminHandlerfile - file to test for existencepublic Entry getEntry(java.io.File file) throws java.io.IOException
getEntry in interface AdminHandlerf - the filejava.io.IOException - if the Entries file cannot be readpublic Entry[] getEntriesAsArray(java.io.File directory) throws java.io.IOException
directory - the directory for which to get the entriesjava.io.IOExceptionpublic java.util.Iterator getEntries(java.io.File directory)
throws java.io.IOException
getEntries in interface AdminHandlerdirectory - the directory for which to get the entries (CVS/Entries is appended)java.io.IOExceptionpublic void setEntry(java.io.File file,
Entry entry)
throws java.io.IOException
setEntry in interface AdminHandlerf - the file whose entry is being updatedjava.io.IOException - if an error occurs writing the detailspublic void removeEntry(java.io.File file)
throws java.io.IOException
removeEntry in interface AdminHandlerf - the file whose entry is to be removedjava.io.IOException - if an error occurs writing the Entries filepublic java.lang.String getRepositoryForDirectory(java.lang.String directory,
java.lang.String repository)
throws java.io.IOException
Repositoryin the CVS directory on the client. (This is the case in the standard CVS command-line tool). However, the path stored in that file is relative to the repository path
getRepositoryForDirectory in interface AdminHandlerdirectory - the directorythe - repository path on the server, e.g. /home/bob/cvs. Must not
end with a slash.java.io.IOExceptionpublic java.util.Set getAllFiles(java.io.File directory)
throws java.io.IOException
getAllFiles in interface AdminHandlerdirectory - the directory to look injava.io.IOExceptionpublic java.lang.String getStickyTagForDirectory(java.io.File directory)
getStickyTagForDirectory in interface AdminHandler