Package org.syncany.database
Class DatabaseVersion
- java.lang.Object
-
- org.syncany.database.DatabaseVersion
-
public class DatabaseVersion extends java.lang.Object
The database version represents an incremental addition to the local database of a client. A user'sMemoryDatabase
consists of many incremental database versions.A
DatabaseVersion
is identified by aDatabaseVersionHeader
, a combination of aVectorClock
, a local timestamp and the original client name.The database version holds references to the newly added/removed/changed
PartialFileHistory
s as well as the correspondingFileContent
s,ChunkEntry
s andMultiChunkEntry
s.The current implementation of the database version keeps all references in memory.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
DatabaseVersion.DatabaseVersionStatus
-
Constructor Summary
Constructors Constructor Description DatabaseVersion()
-
Method Summary
-
-
-
Constructor Detail
-
DatabaseVersion
public DatabaseVersion()
-
-
Method Detail
-
getHeader
public DatabaseVersionHeader getHeader()
-
setHeader
public void setHeader(DatabaseVersionHeader header)
-
getTimestamp
public java.util.Date getTimestamp()
-
setTimestamp
public void setTimestamp(java.util.Date timestamp)
-
getVectorClock
public VectorClock getVectorClock()
-
setVectorClock
public void setVectorClock(VectorClock vectorClock)
-
setClient
public void setClient(java.lang.String client)
-
getClient
public java.lang.String getClient()
-
getStatus
public DatabaseVersion.DatabaseVersionStatus getStatus()
-
setStatus
public void setStatus(DatabaseVersion.DatabaseVersionStatus status)
-
isEmpty
public boolean isEmpty()
-
getChunk
public ChunkEntry getChunk(ChunkEntry.ChunkChecksum checksum)
-
addChunk
public void addChunk(ChunkEntry chunk)
-
getChunks
public java.util.Collection<ChunkEntry> getChunks()
-
addMultiChunk
public void addMultiChunk(MultiChunkEntry multiChunk)
-
getMultiChunk
public MultiChunkEntry getMultiChunk(MultiChunkEntry.MultiChunkId multiChunkId)
-
getMultiChunkId
public MultiChunkEntry.MultiChunkId getMultiChunkId(ChunkEntry.ChunkChecksum chunk)
Get a multichunk that this chunk is contained in.
-
getMultiChunks
public java.util.Collection<MultiChunkEntry> getMultiChunks()
Get all multichunks in this database version.
-
getFileContent
public FileContent getFileContent(FileContent.FileChecksum checksum)
-
addFileContent
public void addFileContent(FileContent content)
-
getFileContents
public java.util.Collection<FileContent> getFileContents()
-
addFileHistory
public void addFileHistory(PartialFileHistory history)
-
getFileHistory
public PartialFileHistory getFileHistory(PartialFileHistory.FileHistoryId fileId)
-
getFileHistories
public java.util.Collection<PartialFileHistory> getFileHistories()
-
clone
public DatabaseVersion clone()
- Overrides:
clone
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equals
in classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-