org.nuiton.wikitty.storage
Interface WikittyStorage

All Known Implementing Classes:
WikittyStorageInMemory

public interface WikittyStorage

WikittyStorage is used to abstract data and extension storage in WikittyService.

Version:
$Revision: 1136 $ Last update: $Date: 2011-08-12 16:24:03 +0200 (Fri, 12 Aug 2011) $ by : $Author: tchemit $
Author:
poussin

Nested Class Summary
static class WikittyStorage.DataStatistic
           
static interface WikittyStorage.Scanner
          Call each time wikitty is scan.
 
Method Summary
 WikittyEvent clear(WikittyTransaction transaction)
          Remove all wikitty.
 WikittyEvent delete(WikittyTransaction transaction, Collection<String> idList)
          Delete all object with id argument.
 boolean exists(WikittyTransaction transaction, String id)
          Return true if id exists in storage.
 WikittyStorage.DataStatistic getDataStatistic(WikittyTransaction transaction)
          Return some statistique about the data
 boolean isDeleted(WikittyTransaction transaction, String id)
          Return true if wikitty object with this id are marked deleted.
 Wikitty restore(WikittyTransaction transaction, String id, String... fqFieldName)
          Restore list of wikitty object.
 void scanWikitties(WikittyTransaction transaction, WikittyStorage.Scanner scanner)
          Scan all wikitties with specific scanner, even if the wikitty is deleted.
 WikittyEvent store(WikittyTransaction transaction, Collection<Wikitty> wikitties, boolean force)
          Store wikitty in storage.
 

Method Detail

store

WikittyEvent store(WikittyTransaction transaction,
                   Collection<Wikitty> wikitties,
                   boolean force)
Store wikitty in storage. if force is true, wikitty in argument is all time stored. if wikitty already stored and deleted, wikitty is born again new version is computed as follow:
 if version in wikitty > version in database
   newversion = version in wikitty
 else
   newversion = version in database + 1
 

Parameters:
transaction - transaction
wikitties - wikitty collection
force - boolean force non version version increment on saved wikitty or force version on wikitty creation (version 0.0)
Returns:
information usefull for client side update data

exists

boolean exists(WikittyTransaction transaction,
               String id)
Return true if id exists in storage.

Parameters:
transaction - transaction
id - id to check
Returns:
true if wikitty id exists

isDeleted

boolean isDeleted(WikittyTransaction transaction,
                  String id)
Return true if wikitty object with this id are marked deleted.

Parameters:
transaction - transaction
id - id to check
Returns:
true if wikitty id is deleted

restore

Wikitty restore(WikittyTransaction transaction,
                String id,
                String... fqFieldName)
                throws WikittyException
Restore list of wikitty object.

Parameters:
transaction - transaction
id - list of wikitty id
fqFieldName - list of field that must be loaded, other fields can be not loaded
Returns:
found wikitty
Throws:
WikittyException - if wikitty not found

delete

WikittyEvent delete(WikittyTransaction transaction,
                    Collection<String> idList)
                    throws WikittyException
Delete all object with id argument. Delete don't fail if wikitty don't existe or is already deleted.

Parameters:
transaction - transaction
idList -
Returns:
delete response (can be empty if no wikitty are realy deleted
Throws:
WikittyException - If id is not valid or don't exist.

scanWikitties

void scanWikitties(WikittyTransaction transaction,
                   WikittyStorage.Scanner scanner)
Scan all wikitties with specific scanner, even if the wikitty is deleted.

Parameters:
transaction - transaction
scanner - scanner

clear

WikittyEvent clear(WikittyTransaction transaction)
Remove all wikitty.

Parameters:
transaction - transaction

getDataStatistic

WikittyStorage.DataStatistic getDataStatistic(WikittyTransaction transaction)
Return some statistique about the data

Parameters:
transaction -
Returns:
Since:
3.0.5


Copyright © 2009-2012 CodeLutin. All Rights Reserved.