public class Store extends java.lang.Object implements StoreConstants
| Modifier and Type | Field and Description |
|---|---|
static boolean |
DEFAULT_HANDLER_FLAG |
static java.lang.String |
REVISION |
java.lang.Object |
storeAccessLock |
ARRAY_FLAG, CLEANING_STATE, COLLECTION_FLAG, CREATE_OP, DELETE_OP, IDLE_STATE, INNER_LOGS, INNER_MILESTONE, INNER_PREFIX, INNER_SYNC, ITEM_ESCAPE_CHAR, ITEM_SEPARATOR, LOADING_STATE, MAP_ASSIGN, MAP_CHARS_TO_ESCAPE, MAP_CLASS_SEPARATOR, MAP_FLAG, NAMESPACE, SH_SUFFIX, STORING_STATE, UPDATE_OP| Constructor and Description |
|---|
Store(java.lang.String logFilename)
Create a new Store which does not support precompiled store
handlers nor in-memory parsing.
|
Store(java.lang.String logFilename,
boolean areHandlersEnabled)
Create a new Store which does not support precompiled store handlers.
|
Store(java.lang.String logFilename,
boolean areHandlersEnabled,
java.lang.String urid,
boolean useNIO)
Create a new Store
|
| Modifier and Type | Method and Description |
|---|---|
void |
addClassTag(java.lang.String tag,
java.lang.Class<?> clazz)
Binds a tag name with a Storable class.
|
void |
addExtraDeleteAttribute(java.lang.String attName)
Adds an attribute which will be stored when a storable is deleted.
|
void |
addStoreListener(StoreListener listener,
boolean repeat) |
void |
addStoreListener(StoreListener listener,
java.lang.Class<?> clazz,
boolean repeat) |
void |
appendAndProcessSuffix(java.util.List<? extends LogEntry> logEntryList)
Appends the given LogEntries in the store.xml file and process each of them.
|
void |
appendMilestone(java.util.Map<java.lang.String,java.lang.String> map)
Appends a milestone in the store.
|
void |
appendMilestone(java.lang.String text)
Appends a milestone in the store.
|
void |
appendSync(java.util.Date date)
Appends a sync tag in the store.
|
boolean |
backupStore(java.io.File backupFile)
Backup the store.
|
void |
close()
Close all Store resources when ending.
|
void |
create(Storable storable)
Create a storable, set storable id to stamp value.
|
void |
create(Storable storable,
boolean overrideId)
Create a storable, if overrideId is false and storable have an id then do not override id.
|
void |
delete(Storable storable)
Delete a storable (even if references remain on it).
|
void |
delete(Storable storable,
boolean force)
Delete a storable.
|
int |
generateDelta(java.io.OutputStream out,
Stamp startStamp,
boolean includeStart)
Ouput in a given stream all the log operations having a stamp greater that the given one.
|
void |
generateLogFromMemory(java.lang.String backupFilename)
Cleans the log.
|
java.lang.Class<?> |
getClassFromTag(java.lang.String tag)
Returns the class binded with a specified tag name
If the class was not registered the class associated
to the name is returned |
int |
getCreationLineNumber(java.lang.String id)
Returns the line number in the store file of the creation.
|
java.util.TreeSet<? extends Storable> |
getDeletedSet(java.lang.Class<?> clazz)
Get the latest version of the deleted Storable for a given class.
|
java.util.Set<java.lang.String> |
getExtraDeleteAttributeSet()
Returns the list of attributes stored when a storable is deleted.
|
LoadReport |
getLoadReport()
Return the load report
|
LogCleaner |
getLogCleaner()
Returns the LogCleaner.
|
java.lang.String |
getLogFilename()
Return the name of the log file.
|
java.util.List<InnerLogEntry> |
getMilestoneList()
Returns the list of milestones.
|
Stamp |
getProgressStamp()
Return the greatest stamp of this urid
|
Stamp |
getProgressStamp(java.lang.String urid)
Return the greatest stamp of the given urid
|
StampTable |
getProgressTable()
Return the progressTable
|
int |
getSize()
Return the size of the store.
|
Stamp |
getStamp()
Return a new stamp.
|
int |
getStampLineNumber(Stamp stamp)
Returns the line number in the store file of the given stamp.
|
int |
getState()
Return the current state of the store (see StoreConstants).
|
Storable |
getStorable(java.lang.String id)
Return the storable given its id
|
java.util.Map<java.lang.Class<?>,java.util.Set<StoreListener>> |
getStoreClassListeners(boolean repeat) |
java.util.Set<StoreListener> |
getStoreListeners(boolean repeat) |
SyncManager |
getSyncManager()
Return the SyncManager
|
java.lang.String |
getTagFromClass(java.lang.Class<?> clazz)
Returns the tag name binded with a specified class
|
java.lang.String |
getUrid() |
java.util.List<? extends Storable> |
getVersionList(Storable storable)
Get all the version of a given Storable
|
java.util.List<? extends Storable> |
getVersionList(java.lang.String id)
Get all the version of a given Storable ID
|
boolean |
isReferrenced(Storable storable) |
boolean |
isRegistered(Storable storable) |
boolean |
isRegistered(java.lang.String id) |
java.util.Iterator<Storable> |
iterator()
Return an iterator on the storables registered in the swizzler
|
void |
load()
Load and process the log
|
void |
load(boolean processStorable,
boolean processInner)
Load and process the log
|
void |
parseLog(LogManagerHandler handler)
Parse the store with the given handler
|
boolean |
parseLog(LogManagerHandler handler,
int startLine)
Parse the store with the given handler from the given line number
|
void |
parseLog(LogManagerHandler handler,
Stamp stamp)
Parse the store with the given handler from the given stamp
|
void |
printMemoryToLog(java.io.OutputStream out)
Prints a cleaned version of the log.
|
void |
processInnerLogEntry(InnerLogEntry logEntry) |
void |
processLogEntry(LogEntry logEntry) |
void |
processStorableLogEntry(StorableLogEntry sle) |
void |
removeStoreListener(StoreListener listener) |
void |
removeStoreListener(StoreListener listener,
java.lang.Class<?> clazz) |
void |
replaceSuffix(java.util.TreeSet<StorableLogEntry> newSuffix,
LogEntry startLogEntry,
boolean includeStart) |
void |
setClassLoader(java.lang.ClassLoader classLoader)
Set the classLoader
|
void |
setReplaceSuffixLimit(int replaceSuffixLimit)
A store suffix replacement starting before the limit will be rejected.
|
void |
setUrid(java.lang.String urid)
Set the current urid value
|
void |
update(Storable storable,
java.util.Map<java.lang.String,java.lang.String> attributes)
Update a storable.
|
void |
update(Storable storable,
Storable updated)
Update a storable.
|
void |
update(java.lang.String id,
java.util.Map<java.lang.String,java.lang.String> attributes)
Update a storable.
|
void |
update(java.lang.String id,
Storable updated)
Update a storable.
|
void |
updateStamp(Stamp stamp)
Update the current stamp value (and the progress table)
|
void |
updateStamp(Stamp stamp,
boolean updatePT)
Update the current stamp value
|
boolean |
verifyLastStampIndex()
Verify if the last (highest) stamp is correctly indexed.
|
boolean |
verifyStampLineMap()
Verify if the stamps are correctly indexed.
|
public static final java.lang.String REVISION
public static final boolean DEFAULT_HANDLER_FLAG
public java.lang.Object storeAccessLock
public Store(java.lang.String logFilename)
throws java.io.IOException
logFilename - the name of the file which contains the logjava.io.IOException - if an error occurspublic Store(java.lang.String logFilename,
boolean areHandlersEnabled)
throws java.io.IOException
logFilename - the name of the file which contains the logareHandlersEnabled - specify if the precompiled store handlers are supported.java.io.IOException - if an error occurspublic Store(java.lang.String logFilename,
boolean areHandlersEnabled,
java.lang.String urid,
boolean useNIO)
throws java.io.IOException
logFilename - the name of the file which contains the logareHandlersEnabled - specify if the precompiled store handlers are supported.urid - the URIDuseNIO - specify if the NIO must be used (faster store access)java.io.IOException - if an error occurspublic void addExtraDeleteAttribute(java.lang.String attName)
attName - the attribute namepublic java.util.Set<java.lang.String> getExtraDeleteAttributeSet()
public void setClassLoader(java.lang.ClassLoader classLoader)
classLoader - the classLoader to usepublic void addClassTag(java.lang.String tag,
java.lang.Class<?> clazz)
tag - the nam of the tagclazz - the classpublic java.lang.String getTagFromClass(java.lang.Class<?> clazz)
clazz - the classpublic java.lang.Class<?> getClassFromTag(java.lang.String tag)
throws java.lang.ClassNotFoundException
tag - the tag namejava.lang.ClassNotFoundException - if an error occurspublic Storable getStorable(java.lang.String id)
id - the storable idpublic boolean isReferrenced(Storable storable)
storable - the storable to checkpublic boolean isRegistered(Storable storable)
storable - the storable to checkpublic boolean isRegistered(java.lang.String id)
id - the storable idpublic java.util.List<? extends Storable> getVersionList(Storable storable)
storable - the storablepublic java.util.List<? extends Storable> getVersionList(java.lang.String id)
id - the ID of storablepublic java.util.TreeSet<? extends Storable> getDeletedSet(java.lang.Class<?> clazz)
clazz - the searched classpublic int generateDelta(java.io.OutputStream out,
Stamp startStamp,
boolean includeStart)
throws LogException
out - the outputstream to use to output the operationsstartStamp - the stamp to start the copyincludeStart - true if the start stamp must be includedLogException - if an error occurspublic void parseLog(LogManagerHandler handler) throws LogException
handler - the handler used to parse the storeLogException - if an error occurspublic void parseLog(LogManagerHandler handler, Stamp stamp) throws LogException
handler - the handler used to parse the storestamp - the stamp to start the parsingLogException - if an error occurspublic boolean parseLog(LogManagerHandler handler, int startLine)
handler - the handler used to parse the storestartLine - the line number to start the parsingpublic void replaceSuffix(java.util.TreeSet<StorableLogEntry> newSuffix, LogEntry startLogEntry, boolean includeStart) throws java.io.IOException
newSuffix - The new suffixstartLogEntry - the start logEntryincludeStart - true if the startLogEntry must be includedjava.io.IOException - if an error occursLogManager.replaceSuffix(java.util.TreeSet,com.jalios.jstore.LogEntry,boolean,boolean)public void appendAndProcessSuffix(java.util.List<? extends LogEntry> logEntryList) throws java.io.IOException
logEntryList - the list of logEntry. It assumes the logEntries are sorted according their stampsjava.io.IOException - if an error occurspublic java.util.Iterator<Storable> iterator()
public int getSize()
public int getState()
public java.lang.String getUrid()
StampManager.getUrid()public void setUrid(java.lang.String urid)
urid - the URIDStampManager.setUrid(String)public void updateStamp(Stamp stamp)
stamp - the stamp to be addedupdateStamp(Stamp, boolean)public void updateStamp(Stamp stamp, boolean updatePT)
stamp - the stamp to be addedupdatePT - if true use this stamp to update the progress tableStampManager.update(com.jalios.jstore.Stamp,boolean)public Stamp getStamp()
StampManager.getStamp()public StampTable getProgressTable()
StampManager.getProgressTable()public Stamp getProgressStamp()
StampManager.getProgressStamp(String)public Stamp getProgressStamp(java.lang.String urid)
urid - the uridStampManager.getProgressStamp(String)public SyncManager getSyncManager()
public void load()
throws LogException
LogException - if an error occurspublic void load(boolean processStorable,
boolean processInner)
throws LogException
processStorable - if true the storable operations are processed. If false only the stamps information are processed.processInner - if true the storable operations are processed. If false only the stamps information are processed.LogException - if an error occurspublic void processLogEntry(LogEntry logEntry)
public void processInnerLogEntry(InnerLogEntry logEntry)
public void processStorableLogEntry(StorableLogEntry sle)
public void create(Storable storable) throws java.io.IOException
storable - the storable to create.java.io.IOException - if an error occurspublic void create(Storable storable, boolean overrideId) throws java.io.IOException
storable - the storableoverrideId - if overrideId is false and storable have an id then do not override idjava.io.IOException - if an error occurspublic void update(java.lang.String id,
java.util.Map<java.lang.String,java.lang.String> attributes)
throws java.io.IOException
id - the id of the storable to updateattributes - the map that contains the new attributes valuesjava.io.IOException - if an error occurspublic void update(Storable storable, java.util.Map<java.lang.String,java.lang.String> attributes) throws java.io.IOException
storable - the storable to updateattributes - the map that contains the new attributes valuesjava.io.IOException - if an error occurspublic void update(java.lang.String id,
Storable updated)
throws java.io.IOException,
NoUpdateException
storable and updated.id - the id of the storable to updateupdated - the updated storablejava.io.IOException - if an error occursNoUpdateException - if an error occurspublic void update(Storable storable, Storable updated) throws java.io.IOException, NoUpdateException
storable and updated.storable - the storable to updateupdated - the updated storablejava.io.IOException - if an error occursNoUpdateException - on error, for example when given objects are same instancepublic void delete(Storable storable) throws java.io.IOException
storable - the storable to deletejava.io.IOException - if an error occurspublic void delete(Storable storable, boolean force) throws java.io.IOException
storable - the storable to deleteforce - if true the referenced storable attributes are
deletedjava.io.IOException - if an error occurspublic java.util.List<InnerLogEntry> getMilestoneList()
public void appendMilestone(java.lang.String text)
throws java.io.IOException
text - the text of the milestone.java.io.IOException - if an error occurspublic void appendMilestone(java.util.Map<java.lang.String,java.lang.String> map)
throws java.io.IOException
map - the map of attributes.java.io.IOException - if an error occurspublic void appendSync(java.util.Date date)
throws java.io.IOException
date - the date of the sync.java.io.IOException - if an error occurspublic void generateLogFromMemory(java.lang.String backupFilename)
throws java.io.IOException
printCleanedLog method. If a backup filename is provided (i.e. not null), the current log file is copy into before to
be cleaned.backupFilename - the name of the file to backup the current logjava.io.IOException - if an error occurspublic void printMemoryToLog(java.io.OutputStream out)
throws java.lang.Exception
out - the OutputStream in which to print the cleaned logjava.lang.Exception - if an error occurspublic LogCleaner getLogCleaner()
public java.lang.String getLogFilename()
public LoadReport getLoadReport()
public int getStampLineNumber(Stamp stamp)
stamp - the stamp to get the line numberpublic boolean verifyStampLineMap()
public boolean verifyLastStampIndex()
public int getCreationLineNumber(java.lang.String id)
id - the id of the storablepublic boolean backupStore(java.io.File backupFile)
backupFile - the backup file.LogManager.backupStore(File)public void setReplaceSuffixLimit(int replaceSuffixLimit)
replaceSuffixLimit - the limit (in number of lines).public java.util.Set<StoreListener> getStoreListeners(boolean repeat)
public java.util.Map<java.lang.Class<?>,java.util.Set<StoreListener>> getStoreClassListeners(boolean repeat)
public void addStoreListener(StoreListener listener, boolean repeat)
public void addStoreListener(StoreListener listener, java.lang.Class<?> clazz, boolean repeat)
public void removeStoreListener(StoreListener listener)
public void removeStoreListener(StoreListener listener, java.lang.Class<?> clazz)
public void close()
Copyright © 2001-2017 Jalios SA. All Rights Reserved.