Package ghidra.framework.data
Class DomainFileProxy
- java.lang.Object
-
- ghidra.framework.data.DomainFileProxy
-
- All Implemented Interfaces:
DomainFile,java.lang.Comparable<DomainFile>
public class DomainFileProxy extends java.lang.Object implements DomainFile
Implements the DomainFile interface for DomainObjects that are not currently associated with any real DomainFile. This class enforces the sharing of objects between tools. After the first tool gets the implementation, all other gets() just get the same instance. This class also keeps track of which tools are using a its domain object.
-
-
Field Summary
-
Fields inherited from interface ghidra.framework.model.DomainFile
DEFAULT_VERSION, READ_ONLY_PROPERTY
-
-
Constructor Summary
Constructors Constructor Description DomainFileProxy(java.lang.String name, DomainObjectAdapter doa)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddToVersionControl(java.lang.String comment, boolean keepCheckedOut, TaskMonitor monitor)Adds this private file to version control.booleancanAddToRepository()Returns true if this private file may be added to the associated repository.booleancanCheckin()Returns true if this file may be checked-in to the associated repository.booleancanCheckout()Returns true if this file may be checked-out from the associated repository.booleancanMerge()Returns true if this file can be merged with the current versioned file.booleancanRecover()Prior to invoking getDomainObject, this method can be used to determine if unsaved changes can be recovered on the next open.booleancanSave()Return whether this domain object can be saved (i.e., updated/overwritten).voidcheckin(CheckinHandler checkinHandler, boolean okToUpgrade, TaskMonitor monitor)Performs check in to associated repository.booleancheckout(boolean exclusive, TaskMonitor monitor)Checkout this file for update.intcompareTo(DomainFile df)DomainFilecopyTo(DomainFolder newParent, TaskMonitor monitor)Copy this file into the newParent folder as a private file.DomainFilecopyVersionTo(int version, DomainFolder destFolder, TaskMonitor monitor)Copy a specific version of this file to the specified destFolder.voiddelete()Delete the entire database for this file, including any version files.voiddelete(int fileVersion)Deletes a specific version of a file from the versioned filesystem.booleanequals(java.lang.Object obj)booleanexists()Check for existence of domain file.ChangeSetgetChangesByOthersSinceCheckout()Returns changes made to versioned file by others since checkout was performed.ItemCheckoutStatus[]getCheckouts()Get a list of checkouts by all users for the associated versioned file.ItemCheckoutStatusgetCheckoutStatus()Get checkout status associated with a versioned file.java.util.ArrayList<?>getConsumers()Get the list of consumers (Objects) for this domain file.java.lang.StringgetContentType()Returns content-type stringDomainObjectgetDomainObject(java.lang.Object consumer, boolean okToUpgrade, boolean okToRecover, TaskMonitor monitor)Opens and returns the current domain object.java.lang.Class<? extends DomainObject>getDomainObjectClass()Returns the underlying Class for the domain object in this domain file.java.lang.StringgetFileID()Returns a unique file-IDjavax.swing.IcongetIcon(boolean disabled)Get the state based Icon image for the domain file based upon its content class.DomainObjectgetImmutableDomainObject(java.lang.Object consumer, int fileVersion, TaskMonitor monitor)Returns a new DomainObject that cannot be changed or saved to its original file.longgetLastModifiedTime()Get a long value representing the time when the data was last modified.intgetLatestVersion()Return the latest versionjava.util.Map<java.lang.String,java.lang.String>getMetadata()Returns an ordered map containting the metadata that has been associated with the corresponding domain object.java.lang.StringgetName()Get the name of the StoredObj that is associated with the data.DomainObjectgetOpenedDomainObject(java.lang.Object consumer)Returns the domainObject for this DomainFile only if it is already open.DomainFoldergetParent()Get the parent domain folder for this domain file.java.lang.StringgetPathname()Returns the path name to the domain object.ProjectLocatorgetProjectLocator()Returns the local storage location for the project that this DomainFile belongs to.DomainObjectgetReadOnlyDomainObject(java.lang.Object consumer, int fileVersion, TaskMonitor monitor)Returns a "read-only" version of the domain object.intgetVersion()Return either the latest version if the file is not checked-out or the version that was checked-out or a specific version that was requested.Version[]getVersionHistory()Returns list of all available versions.inthashCode()booleanisBusy()Returns true if the domain object in this domain file exists and has an open transaction.booleanisChanged()Return whether the domain object in this domain file has changed.booleanisCheckedOut()Returns true if this is a checked-out file.booleanisCheckedOutExclusive()Returns true if this a checked-out file with exclusive access.booleanisHijacked()Returns true if the file is versioned but a private copy also exists.booleanisInUse()booleanisInWritableProject()Returns true if this file is in a writable project.booleanisLatestVersion()Returns true if this file represents the latest version of the associated domain object.booleanisOpen()Returns true if there is an open domainObject for this file.booleanisReadOnly()Returns whether the object is read-only.booleanisUsedBy(java.lang.Object consumer)booleanisUsedExclusivelyBy(java.lang.Object consumer)booleanisVersionControlSupported()Returns true if the versioned filesystem can be used to store this files content type.booleanisVersioned()Return true if this is a versioned database, else falselonglength()Returns the length of this domain file.voidmerge(boolean okToUpgrade, TaskMonitor monitor)Performs merge from current version of versioned file into local checked-out file.booleanmodifiedSinceCheckout()Returns true if this is a checked-out file which has been modified since it was checked-out.DomainFilemoveTo(DomainFolder newParent)Move this file into the newParent folder.voidpackFile(java.io.File file, TaskMonitor monitor)Pack domain file into specified file.voidsave(TaskMonitor monitor)Save theDomainObjectassociated with this file.DomainFilesetName(java.lang.String newName)Set the name on this domain file.voidsetReadOnly(boolean state)Sets the object to read-only.booleantakeRecoverySnapshot()If the file has an updateable domain object with unsaved changes, generate a recovery snapshot.voidterminateCheckout(long checkoutId)Forcefully terminate a checkout for the associated versioned file.java.lang.StringtoString()voidundoCheckout(boolean keep)Undo "checked-out" file.
-
-
-
Constructor Detail
-
DomainFileProxy
public DomainFileProxy(java.lang.String name, DomainObjectAdapter doa)
-
-
Method Detail
-
exists
public boolean exists()
Description copied from interface:DomainFileCheck for existence of domain file.- Specified by:
existsin interfaceDomainFile- Returns:
- true if file exists. A proxy domain file will always return false.
-
setName
public DomainFile setName(java.lang.String newName)
Description copied from interface:DomainFileSet the name on this domain file.- Specified by:
setNamein interfaceDomainFile- Parameters:
newName- domain file name- Returns:
- renamed domain file (the original DomainFile object becomes invalid since it is immutable)
-
getProjectLocator
public ProjectLocator getProjectLocator()
Description copied from interface:DomainFileReturns the local storage location for the project that this DomainFile belongs to.- Specified by:
getProjectLocatorin interfaceDomainFile
-
length
public long length() throws java.io.IOExceptionDescription copied from interface:DomainFileReturns the length of this domain file. This size is the minimum disk space used for storing this file, but does not account for additional storage space used to tracks changes, etc.- Specified by:
lengthin interfaceDomainFile- Returns:
- file length
- Throws:
java.io.IOException- thrown if IO or access error occurs
-
isReadOnly
public boolean isReadOnly()
Description copied from interface:DomainFileReturns whether the object is read-only. From a framework point of view a read-only object can never be changed.- Specified by:
isReadOnlyin interfaceDomainFile
-
setReadOnly
public void setReadOnly(boolean state)
Description copied from interface:DomainFileSets the object to read-only. This method may only be invoked for private files (i.e., not versioned).- Specified by:
setReadOnlyin interfaceDomainFile- Parameters:
state- if true file will be read-only and may not be updated, if false the file may be updated.
-
isInWritableProject
public boolean isInWritableProject()
Description copied from interface:DomainFileReturns true if this file is in a writable project.- Specified by:
isInWritableProjectin interfaceDomainFile
-
getPathname
public java.lang.String getPathname()
Description copied from interface:DomainFileReturns the path name to the domain object.- Specified by:
getPathnamein interfaceDomainFile
-
compareTo
public int compareTo(DomainFile df)
- Specified by:
compareToin interfacejava.lang.Comparable<DomainFile>
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
getName
public java.lang.String getName()
Description copied from interface:DomainFileGet the name of the StoredObj that is associated with the data.- Specified by:
getNamein interfaceDomainFile
-
getFileID
public java.lang.String getFileID()
Description copied from interface:DomainFileReturns a unique file-ID- Specified by:
getFileIDin interfaceDomainFile- Returns:
-
getContentType
public java.lang.String getContentType()
Description copied from interface:DomainFileReturns content-type string- Specified by:
getContentTypein interfaceDomainFile
-
getDomainObjectClass
public java.lang.Class<? extends DomainObject> getDomainObjectClass()
Description copied from interface:DomainFileReturns the underlying Class for the domain object in this domain file.- Specified by:
getDomainObjectClassin interfaceDomainFile
-
getParent
public DomainFolder getParent()
Description copied from interface:DomainFileGet the parent domain folder for this domain file.- Specified by:
getParentin interfaceDomainFile
-
getLastModifiedTime
public long getLastModifiedTime()
Description copied from interface:DomainFileGet a long value representing the time when the data was last modified.- Specified by:
getLastModifiedTimein interfaceDomainFile
-
save
public void save(TaskMonitor monitor) throws java.io.IOException
Description copied from interface:DomainFileSave theDomainObjectassociated with this file.- Specified by:
savein interfaceDomainFile- Parameters:
monitor- monitor for the task that is doing the save on the file- Throws:
FileInUseException- if the file is open for update by someone else, or a transient-read is in progress.java.io.IOException- thrown if an IO error occurs.
-
canSave
public boolean canSave()
Description copied from interface:DomainFileReturn whether this domain object can be saved (i.e., updated/overwritten).- Specified by:
canSavein interfaceDomainFile- Returns:
- true if the user is the owner AND the file is in the active project AND the file is not read-only.
-
canRecover
public boolean canRecover()
Description copied from interface:DomainFilePrior to invoking getDomainObject, this method can be used to determine if unsaved changes can be recovered on the next open.- Specified by:
canRecoverin interfaceDomainFile- Returns:
- true if recovery data exists.
-
takeRecoverySnapshot
public boolean takeRecoverySnapshot()
Description copied from interface:DomainFileIf the file has an updateable domain object with unsaved changes, generate a recovery snapshot.- Specified by:
takeRecoverySnapshotin interfaceDomainFile- Returns:
- true if snapshot successful or not needed, false if file is busy which prevents snapshot, or snapshot was cancelled.
-
isInUse
public boolean isInUse()
-
isUsedExclusivelyBy
public boolean isUsedExclusivelyBy(java.lang.Object consumer)
-
getConsumers
public java.util.ArrayList<?> getConsumers()
Description copied from interface:DomainFileGet the list of consumers (Objects) for this domain file.- Specified by:
getConsumersin interfaceDomainFile- Returns:
- empty array list if there are no consumers
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equalsin classjava.lang.Object
-
isUsedBy
public boolean isUsedBy(java.lang.Object consumer)
-
addToVersionControl
public void addToVersionControl(java.lang.String comment, boolean keepCheckedOut, TaskMonitor monitor) throws java.io.IOException, CancelledExceptionDescription copied from interface:DomainFileAdds this private file to version control.- Specified by:
addToVersionControlin interfaceDomainFile- Parameters:
comment- new version commentkeepCheckedOut- if true, the file will be initially checked-outmonitor- progress monitor- Throws:
FileInUseException- if this file is in-use.java.io.IOException- thrown if an IO or access error occurs. Also thrown if file is not private.CancelledException- if the monitor cancelled the operation
-
isVersionControlSupported
public boolean isVersionControlSupported()
Description copied from interface:DomainFileReturns true if the versioned filesystem can be used to store this files content type.- Specified by:
isVersionControlSupportedin interfaceDomainFile
-
canAddToRepository
public boolean canAddToRepository()
Description copied from interface:DomainFileReturns true if this private file may be added to the associated repository.- Specified by:
canAddToRepositoryin interfaceDomainFile
-
isBusy
public boolean isBusy()
Description copied from interface:DomainFileReturns true if the domain object in this domain file exists and has an open transaction.- Specified by:
isBusyin interfaceDomainFile
-
canCheckout
public boolean canCheckout()
Description copied from interface:DomainFileReturns true if this file may be checked-out from the associated repository. User's with read-only repository access will not have checkout ability.- Specified by:
canCheckoutin interfaceDomainFile
-
canCheckin
public boolean canCheckin()
Description copied from interface:DomainFileReturns true if this file may be checked-in to the associated repository.- Specified by:
canCheckinin interfaceDomainFile
-
canMerge
public boolean canMerge()
Description copied from interface:DomainFileReturns true if this file can be merged with the current versioned file.- Specified by:
canMergein interfaceDomainFile
-
checkout
public boolean checkout(boolean exclusive, TaskMonitor monitor)Description copied from interface:DomainFileCheckout this file for update. If this file is already private, this method does nothing.- Specified by:
checkoutin interfaceDomainFile- Parameters:
exclusive- if true an exclusive checkout will be requestedmonitor- progress monitor- Returns:
- true if checkout successful, false if an exclusive checkout was not possible due to other users having checkouts of this file. A request for a non-exclusive checkout will never return false.
-
checkin
public void checkin(CheckinHandler checkinHandler, boolean okToUpgrade, TaskMonitor monitor) throws java.io.IOException, VersionException, CancelledException
Description copied from interface:DomainFilePerforms check in to associated repository. File must be checked-out and modified since checkout.- Specified by:
checkinin interfaceDomainFile- Parameters:
checkinHandler- provides user input data to complete checkin process.okToUpgrade- if true an upgrade will be performed if neededmonitor- the TaskMonitor.- Throws:
java.io.IOException- if an IO or access error occursVersionException- if unable to handle domain object version in versioned filesystem. If okToUpgrade was false, check exception to see if it can be upgraded sometime after doing a checkout.CancelledException- if task monitor cancelled operation
-
merge
public void merge(boolean okToUpgrade, TaskMonitor monitor)Description copied from interface:DomainFilePerforms merge from current version of versioned file into local checked-out file.- Specified by:
mergein interfaceDomainFile- Parameters:
okToUpgrade- if true an upgrade will be performed if neededmonitor- task monitor
-
copyTo
public DomainFile copyTo(DomainFolder newParent, TaskMonitor monitor) throws java.io.IOException, CancelledException
Description copied from interface:DomainFileCopy this file into the newParent folder as a private file.- Specified by:
copyToin interfaceDomainFile- Parameters:
newParent- new parent foldermonitor- task monitor- Returns:
- newly created domain file
- Throws:
FileInUseException- if this file is in-use / checked-out.java.io.IOException- thrown if an IO or access error occurs.CancelledException- if task monitor cancelled operation.
-
copyVersionTo
public DomainFile copyVersionTo(int version, DomainFolder destFolder, TaskMonitor monitor) throws java.io.IOException, CancelledException
Description copied from interface:DomainFileCopy a specific version of this file to the specified destFolder.- Specified by:
copyVersionToin interfaceDomainFile- Parameters:
version- version to copydestFolder- destination parent foldermonitor- task monitor- Throws:
java.io.IOException- thrown if an IO or access error occurs.CancelledException- if task monitor cancelled operation.- See Also:
DomainFile.copyVersionTo(int, ghidra.framework.model.DomainFolder, ghidra.util.task.TaskMonitor)
-
delete
public void delete() throws java.io.IOExceptionDescription copied from interface:DomainFileDelete the entire database for this file, including any version files.- Specified by:
deletein interfaceDomainFile- Throws:
FileInUseException- if this file is in-use / checked-out.UserAccessException- if the user does not have permission to delete the file.java.io.IOException- thrown if an IO or access error occurs.
-
delete
public void delete(int fileVersion) throws java.io.IOExceptionDescription copied from interface:DomainFileDeletes a specific version of a file from the versioned filesystem.- Specified by:
deletein interfaceDomainFile- Parameters:
fileVersion- specific version to be deleted. The version must either be the oldest or latest, or -1 which will attempt to remove all versions. When deleting the latest version, this method could take a long time to return since the previous version must be reconstructed within the versioned filesystem.- Throws:
java.io.IOException- if an IO error occurs, including the inability to delete a version because this item is checked-out, the user does not have permission, or the specified version is not the oldest or latest.
-
getLatestVersion
public int getLatestVersion()
Description copied from interface:DomainFileReturn the latest version- Specified by:
getLatestVersionin interfaceDomainFile
-
isLatestVersion
public boolean isLatestVersion()
Description copied from interface:DomainFileReturns true if this file represents the latest version of the associated domain object.- Specified by:
isLatestVersionin interfaceDomainFile
-
getVersion
public int getVersion()
Description copied from interface:DomainFileReturn either the latest version if the file is not checked-out or the version that was checked-out or a specific version that was requested.- Specified by:
getVersionin interfaceDomainFile
-
getVersionHistory
public Version[] getVersionHistory() throws java.io.IOException
Description copied from interface:DomainFileReturns list of all available versions.- Specified by:
getVersionHistoryin interfaceDomainFile- Throws:
java.io.IOException
-
isCheckedOut
public boolean isCheckedOut()
Description copied from interface:DomainFileReturns true if this is a checked-out file.- Specified by:
isCheckedOutin interfaceDomainFile
-
isCheckedOutExclusive
public boolean isCheckedOutExclusive()
Description copied from interface:DomainFileReturns true if this a checked-out file with exclusive access.- Specified by:
isCheckedOutExclusivein interfaceDomainFile
-
moveTo
public DomainFile moveTo(DomainFolder newParent) throws java.io.IOException
Description copied from interface:DomainFileMove this file into the newParent folder.- Specified by:
moveToin interfaceDomainFile- Parameters:
newParent- new parent folder within the same project- Returns:
- the newly relocated domain file (the original DomainFile object becomes invalid since it is immutable)
- Throws:
DuplicateFileException- if a file with the same name already exists in newParent folder.FileInUseException- if this file is in-use / checked-out.java.io.IOException- thrown if an IO or access error occurs.
-
undoCheckout
public void undoCheckout(boolean keep) throws java.io.IOExceptionDescription copied from interface:DomainFileUndo "checked-out" file. The original repository file is restored.- Specified by:
undoCheckoutin interfaceDomainFile- Parameters:
keep- if true, the private database will be renamed with a .keep extension.- Throws:
FileInUseException- if this file is in-use / checked-out.java.io.IOException- thrown if file is not checked-out or an IO / access error occurs.
-
getChangesByOthersSinceCheckout
public ChangeSet getChangesByOthersSinceCheckout() throws java.io.IOException
Description copied from interface:DomainFileReturns changes made to versioned file by others since checkout was performed.- Specified by:
getChangesByOthersSinceCheckoutin interfaceDomainFile- Returns:
- change set or null
- Throws:
java.io.IOException
-
getDomainObject
public DomainObject getDomainObject(java.lang.Object consumer, boolean okToUpgrade, boolean okToRecover, TaskMonitor monitor) throws VersionException, java.io.IOException
Description copied from interface:DomainFileOpens and returns the current domain object. If the domain object is already opened, then the existing open domain object is returned.- Specified by:
getDomainObjectin interfaceDomainFile- Parameters:
consumer- consumer of the domain object which is responsible for releasing it after use. When all the consumers using the domain object release it, then the object is closed and its resources released.okToUpgrade- if true, allows the system to upgrade out of data domain objects to be in compliance with the current version of Ghidra. A Version exception will be thrown if the domain object cannot be upgraded OR okToUpgrade is false and the domain object is out of date.okToRecover- if true, allows the system to recover unsaved file changes which resulted from a crash. If false, any existing recovery data will be deleted. This flag is only relevent if project is open for update (isInProject) and the file can be opened for update.monitor- permits monitoring of open progress.- Returns:
- an open domain object can be modified and saved. (Not read-only)
- Throws:
VersionException- if the domain object could not be read due to a version format change. If okToUpgrade is true, then a VersionException indicates that the domain object cannot be upgraded to the current format. If okToUpgrade is false, then the VersionException only means the object is not in the current format - it may or may not be possible to upgrade.java.io.IOException- thrown if an IO or access error occurs.
-
getOpenedDomainObject
public DomainObject getOpenedDomainObject(java.lang.Object consumer)
Description copied from interface:DomainFileReturns the domainObject for this DomainFile only if it is already open.- Specified by:
getOpenedDomainObjectin interfaceDomainFile- Parameters:
consumer- the consumer that will use the object.- Returns:
- the already opened domainObject or null if it is not currently open.
-
isVersioned
public boolean isVersioned()
Description copied from interface:DomainFileReturn true if this is a versioned database, else false- Specified by:
isVersionedin interfaceDomainFile
-
packFile
public void packFile(java.io.File file, TaskMonitor monitor) throws java.io.IOException, CancelledExceptionDescription copied from interface:DomainFilePack domain file into specified file. Specified file will be overwritten if it already exists.- Specified by:
packFilein interfaceDomainFile- Parameters:
file- destination file- Throws:
java.io.IOExceptionCancelledException- if monitor cancels operation
-
getIcon
public javax.swing.Icon getIcon(boolean disabled)
Description copied from interface:DomainFileGet the state based Icon image for the domain file based upon its content class.- Specified by:
getIconin interfaceDomainFile- Parameters:
disabled- true if the icon return should be rendered as not enabled- Returns:
- image icon
-
getImmutableDomainObject
public DomainObject getImmutableDomainObject(java.lang.Object consumer, int fileVersion, TaskMonitor monitor) throws VersionException, java.io.IOException, CancelledException
Description copied from interface:DomainFileReturns a new DomainObject that cannot be changed or saved to its original file.- Specified by:
getImmutableDomainObjectin interfaceDomainFile- Parameters:
consumer- consumer of the domain object which is responsible for releasing it after use.fileVersion- the domain object version requested. DEFAULT_VERSION should be specified to open the current version.monitor- permits monitoring of open progress.- Returns:
- a new domain object that is disassociated from its original domain file and cannot be modified
- Throws:
VersionException- if the domain object could not be read due to a version format change.java.io.FileNotFoundException- if the stored file/version was not found.java.io.IOException- thrown if an IO or access error occurs.CancelledException- if monitor cancelled operation
-
getReadOnlyDomainObject
public DomainObject getReadOnlyDomainObject(java.lang.Object consumer, int fileVersion, TaskMonitor monitor) throws VersionException, java.io.IOException, CancelledException
Description copied from interface:DomainFileReturns a "read-only" version of the domain object. "Read-only" means that the domain object cannot be saved back into its original domain object. It can still be modified and saved to a new domain file. The domain object will be assigned a temporary domain file that will not allow a "save" operation. The user must do a "save as" to a new filename.- Specified by:
getReadOnlyDomainObjectin interfaceDomainFile- Parameters:
consumer- consumer of the domain object which is responsible for releasing it after use.fileVersion- the domain object version requested. DEFAULT_VERSION should be specified to open the current version.monitor- permits monitoring of open progress.- Returns:
- a new domain object that is disassociated from its original domain file.
- Throws:
VersionException- if the domain object could not be read due to a version format change.java.io.FileNotFoundException- if the stored file/version was not found.java.io.IOException- thrown if an IO or access error occurs.CancelledException- if monitor cancelled operation
-
isHijacked
public boolean isHijacked()
Description copied from interface:DomainFileReturns true if the file is versioned but a private copy also exists.- Specified by:
isHijackedin interfaceDomainFile
-
modifiedSinceCheckout
public boolean modifiedSinceCheckout()
Description copied from interface:DomainFileReturns true if this is a checked-out file which has been modified since it was checked-out.- Specified by:
modifiedSinceCheckoutin interfaceDomainFile
-
isChanged
public boolean isChanged()
Description copied from interface:DomainFileReturn whether the domain object in this domain file has changed.- Specified by:
isChangedin interfaceDomainFile
-
isOpen
public boolean isOpen()
Description copied from interface:DomainFileReturns true if there is an open domainObject for this file.- Specified by:
isOpenin interfaceDomainFile
-
terminateCheckout
public void terminateCheckout(long checkoutId) throws java.io.IOExceptionDescription copied from interface:DomainFileForcefully terminate a checkout for the associated versioned file. The user must be the owner of the checkout or have admin priviledge on the versioned filesystem (i.e., repository).- Specified by:
terminateCheckoutin interfaceDomainFile- Parameters:
checkoutId- checkout ID- Throws:
java.io.IOException- if an IO or access error occurs
-
getCheckouts
public ItemCheckoutStatus[] getCheckouts() throws java.io.IOException
Description copied from interface:DomainFileGet a list of checkouts by all users for the associated versioned file.- Specified by:
getCheckoutsin interfaceDomainFile- Returns:
- list of checkouts
- Throws:
java.io.IOException- if an IO or access error occurs
-
getCheckoutStatus
public ItemCheckoutStatus getCheckoutStatus() throws java.io.IOException
Description copied from interface:DomainFileGet checkout status associated with a versioned file.- Specified by:
getCheckoutStatusin interfaceDomainFile- Returns:
- checkout status or null if not checked-out to current associated project.
- Throws:
java.io.IOException- if an IO or access error occurs
-
getMetadata
public java.util.Map<java.lang.String,java.lang.String> getMetadata()
Description copied from interface:DomainFileReturns an ordered map containting the metadata that has been associated with the corresponding domain object. The map contains key,value pairs and are ordered by their insertion order.- Specified by:
getMetadatain interfaceDomainFile- Returns:
- a map containting the metadata that has been associated with the corresponding domain object.
-
-