com.jalios.jstore
Class StoreCleaner

java.lang.Object
  extended by com.jalios.jstore.StoreCleaner

public class StoreCleaner
extends java.lang.Object

Write clean line of Store.
- Use a file as a new Store (do not load it)
- Write Create Operation of Collection Storable or single Storable to the new Store
- Write Update Operation needed of Collection Storable or single Storable to the new Store
- Can Optimize Collection
- Can Override Id
- Can Override Stamp

Version:
$Revision: 27753 $
Author:
Jean-Philippe Encausse

Field Summary
protected  java.lang.String convLang
           
protected  boolean doClean
           
protected  java.lang.String mainLang
           
protected  boolean overrideId
           
static java.lang.String REVISION
           
protected  Store store
           
protected  java.util.Set<Storable> toCreate
           
protected  java.util.Map<Storable,Storable> toUpdate
           
 
Constructor Summary
StoreCleaner(java.lang.String file)
          Create a Store Cleaner that will not override IDs
StoreCleaner(java.lang.String file, boolean overrideId)
          Create a Store Cleaner that may override IDs of objects
StoreCleaner(java.lang.String file, boolean overrideId, boolean doClean)
          Create a Store Cleaner that may override IDs of objects
StoreCleaner(java.lang.String file, Stamp stamp)
          Create a StoreCleaner with a starting specific stamp
StoreCleaner(java.lang.String file, Stamp stamp, boolean overrideId)
          Create a Store Cleaner that may override IDs of objects and with starting Stamp
StoreCleaner(java.lang.String file, Stamp stamp, boolean overrideId, boolean doClean)
          Create a Store Cleaner that may override IDs of objects and with starting Stamp
StoreCleaner(java.lang.String file, Stamp stamp, boolean overrideId, boolean doClean, java.lang.String mainLang, java.lang.String convLang)
           
 
Method Summary
 void addClassTag(java.lang.String tag, java.lang.Class<?> clazz)
           
 boolean cleanUnknownLinks(Storable storable, java.lang.reflect.Field field, java.util.Set<Storable> storableSet)
          Clean all unknown Storable from the given field of the given storable
 boolean cleanUnknownLinks(Storable storable, java.util.Map<java.lang.reflect.Field,java.util.Set<Storable>> referencedLinkMap)
          Clean all unknown Storable from the given field map of the given storable
 void convertLang(Storable data)
           
 java.util.Set<java.lang.reflect.Field> getFieldSet(Storable storable)
          Return all the fields of a given storable
 java.util.Map<java.lang.reflect.Field,java.util.Set<Storable>> getReferencedLinkMap(Storable storable, java.util.Set<java.lang.reflect.Field> fieldSet)
          Return all storable referenced by the given storable fields
 java.util.Set<Storable> getReferencedLinkSet(Storable storable, java.lang.reflect.Field field)
          Return all storable referenced by the given storable field
 java.util.Set<Storable> getReferencedLinkSet(Storable storable, java.util.Set<java.lang.reflect.Field> fieldSet)
          Return all storable referenced by the given storable fields
 java.util.List<Storable> sortCreate(java.util.Collection<Storable> toSortCollection)
          Sort a Collection by less update probability
protected  void sortCreate(Storable storable, java.util.Collection<Storable> toSortCollection, java.util.Collection<Storable> isVisitedCollection, java.util.List<Storable> sortedList)
          Recursive call to sort storables collection by less update probability.
 void updateStore()
          Write all updates
 void updateStore(java.util.Collection<Storable> collection)
          Write all updates for the given collection
 void updateStore(java.util.Collection<Storable> collection, Stamp stamp)
          Write all updates for the given collection
 void updateStore(Storable storable)
          Write an update of a given Storable already created
If the Storable need an Update then doUpdate and remove it from the Update Table
If the Storable doesn't need an update but exist in the Store (warning retrieve it by it's Id) then do an update.
 void updateStore(Storable storable, Stamp stamp)
          Write an update of a given Storable already created
If the Storable need an Update then doUpdate and remove it from the Update Table
If the Storable doesn't need an update but exist in the Store (warning retrieve it by it's Id) then do an update.
 void writeComment()
           
 void writeComment(java.lang.String str)
          Write a comment in the Store.
 void writeStore(java.util.Collection<Storable> collection)
          Write create of a collection of Storable then prepare update
 void writeStore(java.util.Collection<Storable> collection, boolean sort)
          Write create of a collection of Storable then prepare update
 void writeStore(java.util.Collection<Storable> collection, boolean sort, boolean overrideId)
          Write create of a collection of Storable then prepare update
 void writeStore(java.util.Collection<Storable> collection, Stamp stamp)
          Write create of a collection of Storable then prepare update
 void writeStore(java.util.Collection<Storable> collection, Stamp stamp, boolean sort)
          Write create of a collection of Storable then prepare update
 void writeStore(java.util.Collection<Storable> collection, Stamp stamp, boolean sort, boolean overrideId)
          Write create of a collection of Storable then prepare update
 void writeStore(Storable storable)
          Write create of a Storable then prepare update
 void writeStore(Storable storable, boolean overrideId)
          Write create of a Storable then prepare update
 void writeStore(Storable storable, Stamp stamp)
          Write create of a Storable then prepare update
 void writeStore(Storable storable, Stamp stamp, boolean overrideId)
          Write create of a Storable then prepare update
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

REVISION

public static final java.lang.String REVISION
See Also:
Constant Field Values

store

protected Store store

toCreate

protected java.util.Set<Storable> toCreate

toUpdate

protected java.util.Map<Storable,Storable> toUpdate

overrideId

protected boolean overrideId

doClean

protected boolean doClean

mainLang

protected java.lang.String mainLang

convLang

protected java.lang.String convLang
Constructor Detail

StoreCleaner

public StoreCleaner(java.lang.String file)
             throws java.io.IOException,
                    LogException
Create a Store Cleaner that will not override IDs

Parameters:
file -
Throws:
java.io.IOException
LogException

StoreCleaner

public StoreCleaner(java.lang.String file,
                    boolean overrideId)
             throws java.io.IOException,
                    LogException
Create a Store Cleaner that may override IDs of objects

Parameters:
file -
overrideId -
Throws:
java.io.IOException
LogException

StoreCleaner

public StoreCleaner(java.lang.String file,
                    boolean overrideId,
                    boolean doClean)
             throws java.io.IOException,
                    LogException
Create a Store Cleaner that may override IDs of objects

Parameters:
file -
overrideId -
doClean -
Throws:
java.io.IOException
LogException

StoreCleaner

public StoreCleaner(java.lang.String file,
                    Stamp stamp)
             throws java.io.IOException,
                    LogException
Create a StoreCleaner with a starting specific stamp

Parameters:
file -
stamp -
Throws:
java.io.IOException
LogException

StoreCleaner

public StoreCleaner(java.lang.String file,
                    Stamp stamp,
                    boolean overrideId)
             throws java.io.IOException,
                    LogException
Create a Store Cleaner that may override IDs of objects and with starting Stamp

Parameters:
file -
stamp -
overrideId -
Throws:
java.io.IOException
LogException

StoreCleaner

public StoreCleaner(java.lang.String file,
                    Stamp stamp,
                    boolean overrideId,
                    boolean doClean)
             throws java.io.IOException,
                    LogException
Create a Store Cleaner that may override IDs of objects and with starting Stamp

Parameters:
file -
stamp -
overrideId -
doClean -
Throws:
java.io.IOException
LogException

StoreCleaner

public StoreCleaner(java.lang.String file,
                    Stamp stamp,
                    boolean overrideId,
                    boolean doClean,
                    java.lang.String mainLang,
                    java.lang.String convLang)
             throws java.io.IOException,
                    LogException
Throws:
java.io.IOException
LogException
Method Detail

writeComment

public void writeComment()
                  throws java.io.IOException
Throws:
java.io.IOException

writeComment

public void writeComment(java.lang.String str)
                  throws java.io.IOException
Write a comment in the Store.

Parameters:
str -
Throws:
java.io.IOException

writeStore

public void writeStore(java.util.Collection<Storable> collection)
                throws java.io.IOException
Write create of a collection of Storable then prepare update

Parameters:
collection -
Throws:
java.io.IOException
Since:
jcms-4.0

writeStore

public void writeStore(java.util.Collection<Storable> collection,
                       boolean sort)
                throws java.io.IOException
Write create of a collection of Storable then prepare update

Parameters:
collection -
sort -
Throws:
java.io.IOException
Since:
jcms-4.0

writeStore

public void writeStore(java.util.Collection<Storable> collection,
                       boolean sort,
                       boolean overrideId)
                throws java.io.IOException
Write create of a collection of Storable then prepare update

Parameters:
collection -
sort -
overrideId -
Throws:
java.io.IOException
Since:
jcms-4.0

writeStore

public void writeStore(java.util.Collection<Storable> collection,
                       Stamp stamp)
                throws java.io.IOException
Write create of a collection of Storable then prepare update

Parameters:
collection -
stamp -
Throws:
java.io.IOException
Since:
jcms-4.0

writeStore

public void writeStore(java.util.Collection<Storable> collection,
                       Stamp stamp,
                       boolean sort)
                throws java.io.IOException
Write create of a collection of Storable then prepare update

Parameters:
collection -
stamp -
sort -
Throws:
java.io.IOException
Since:
jcms-4.0

writeStore

public void writeStore(java.util.Collection<Storable> collection,
                       Stamp stamp,
                       boolean sort,
                       boolean overrideId)
                throws java.io.IOException
Write create of a collection of Storable then prepare update

Parameters:
collection -
stamp -
sort -
overrideId -
Throws:
java.io.IOException
Since:
jcms-4.0

writeStore

public void writeStore(Storable storable)
                throws java.io.IOException
Write create of a Storable then prepare update

Parameters:
storable -
Throws:
java.io.IOException
Since:
jcms-4.0

writeStore

public void writeStore(Storable storable,
                       boolean overrideId)
                throws java.io.IOException
Write create of a Storable then prepare update

Parameters:
storable -
overrideId -
Throws:
java.io.IOException
Since:
jcms-4.0

writeStore

public void writeStore(Storable storable,
                       Stamp stamp)
                throws java.io.IOException
Write create of a Storable then prepare update

Parameters:
storable -
stamp -
Throws:
java.io.IOException
Since:
jcms-4.0

writeStore

public void writeStore(Storable storable,
                       Stamp stamp,
                       boolean overrideId)
                throws java.io.IOException
Write create of a Storable then prepare update

Parameters:
storable -
stamp -
overrideId -
Throws:
java.io.IOException
Since:
jcms-4.0

updateStore

public void updateStore()
                 throws java.io.IOException
Write all updates

Throws:
java.io.IOException
Since:
jcms-4.0

updateStore

public void updateStore(java.util.Collection<Storable> collection)
                 throws java.io.IOException
Write all updates for the given collection

Parameters:
collection -
Throws:
java.io.IOException
Since:
jcms-4.0

updateStore

public void updateStore(java.util.Collection<Storable> collection,
                        Stamp stamp)
                 throws java.io.IOException
Write all updates for the given collection

Parameters:
collection -
stamp -
Throws:
java.io.IOException
Since:
jcms-4.0

updateStore

public void updateStore(Storable storable,
                        Stamp stamp)
                 throws java.io.IOException
Write an update of a given Storable already created
If the Storable need an Update then doUpdate and remove it from the Update Table
If the Storable doesn't need an update but exist in the Store (warning retrieve it by it's Id) then do an update. Write all updates for the given collection

Parameters:
storable -
stamp -
Throws:
java.io.IOException
Since:
jcms-4.0

updateStore

public void updateStore(Storable storable)
                 throws java.io.IOException
Write an update of a given Storable already created
If the Storable need an Update then doUpdate and remove it from the Update Table
If the Storable doesn't need an update but exist in the Store (warning retrieve it by it's Id) then do an update. Write all updates for the given collection

Parameters:
storable -
Throws:
java.io.IOException
Since:
jcms-4.0

addClassTag

public void addClassTag(java.lang.String tag,
                        java.lang.Class<?> clazz)

sortCreate

public java.util.List<Storable> sortCreate(java.util.Collection<Storable> toSortCollection)
Sort a Collection by less update probability

Parameters:
toSortCollection -
Returns:
a sorted collection
Since:
jcms-4.0

sortCreate

protected void sortCreate(Storable storable,
                          java.util.Collection<Storable> toSortCollection,
                          java.util.Collection<Storable> isVisitedCollection,
                          java.util.List<Storable> sortedList)
Recursive call to sort storables collection by less update probability.

Parameters:
storable -
toSortCollection -
isVisitedCollection -
sortedList -
Since:
jcms-4.0

cleanUnknownLinks

public boolean cleanUnknownLinks(Storable storable,
                                 java.lang.reflect.Field field,
                                 java.util.Set<Storable> storableSet)
Clean all unknown Storable from the given field of the given storable

Returns:
true if a clean has be done
Since:
jcms-4.0

cleanUnknownLinks

public boolean cleanUnknownLinks(Storable storable,
                                 java.util.Map<java.lang.reflect.Field,java.util.Set<Storable>> referencedLinkMap)
Clean all unknown Storable from the given field map of the given storable

Parameters:
storable -
referencedLinkMap -
Returns:
true if a clean has be done
Since:
jcms-4.0

getReferencedLinkMap

public java.util.Map<java.lang.reflect.Field,java.util.Set<Storable>> getReferencedLinkMap(Storable storable,
                                                                                           java.util.Set<java.lang.reflect.Field> fieldSet)
Return all storable referenced by the given storable fields

Parameters:
storable -
fieldSet -
Returns:
Map Fields / Set of Storable
Since:
jcms-4.0

getReferencedLinkSet

public java.util.Set<Storable> getReferencedLinkSet(Storable storable,
                                                    java.util.Set<java.lang.reflect.Field> fieldSet)
Return all storable referenced by the given storable fields

Parameters:
storable -
fieldSet -
Returns:
Set of Storable
Since:
jcms-4.0

getReferencedLinkSet

public java.util.Set<Storable> getReferencedLinkSet(Storable storable,
                                                    java.lang.reflect.Field field)
Return all storable referenced by the given storable field

Parameters:
storable -
field -
Returns:
Set of Storable
Since:
jcms-4.0

getFieldSet

public java.util.Set<java.lang.reflect.Field> getFieldSet(Storable storable)
Return all the fields of a given storable

Returns:
Set of Field
Since:
jcms-4.0

convertLang

public void convertLang(Storable data)


Copyright © 2001-2010 Jalios SA. All Rights Reserved.