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 AdminHandler
localDirectory
- 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.IOException
public boolean exists(java.io.File file)
exists
in interface AdminHandler
file
- file to test for existencepublic Entry getEntry(java.io.File file) throws java.io.IOException
getEntry
in interface AdminHandler
f
- 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.IOException
public java.util.Iterator getEntries(java.io.File directory) throws java.io.IOException
getEntries
in interface AdminHandler
directory
- the directory for which to get the entries (CVS/Entries is appended)java.io.IOException
public void setEntry(java.io.File file, Entry entry) throws java.io.IOException
setEntry
in interface AdminHandler
f
- 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 AdminHandler
f
- 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 AdminHandler
directory
- the directorythe
- repository path on the server, e.g. /home/bob/cvs. Must not
end with a slash.java.io.IOException
public java.util.Set getAllFiles(java.io.File directory) throws java.io.IOException
getAllFiles
in interface AdminHandler
directory
- the directory to look injava.io.IOException
public java.lang.String getStickyTagForDirectory(java.io.File directory)
getStickyTagForDirectory
in interface AdminHandler
Built on January 12 2013. | Portions Copyright 1997-2005 Sun Microsystems, Inc. All rights reserved.