public class DBCallbackProxy extends Object implements DpDbCallback
DpDbCallback
 interface and delegates calls to the registered callback POJO with annotated
 methodsM_ACTIVATE_CHECKPOINT_RUNNING, M_ADD_CHECKPOINT_RUNNING, M_ALL, M_CANDIDATE_CHK_NOT_MODIFIED, M_CANDIDATE_COMMIT, M_CANDIDATE_CONFIRMING_COMMIT, M_CANDIDATE_RESET, M_CANDIDATE_ROLLBACK_RUNNING, M_CANDIDATE_VALIDATE, M_COPY_RUNNING_TO_STARTUP, M_DEL_CHECKPOINT_RUNNING, M_DELETE_CONFIG, M_LOCK, M_LOCK_PARTIAL, M_RUNNING_CHK_NOT_MODIFIED, M_UNLOCK, M_UNLOCK_PARTIAL| Constructor and Description | 
|---|
DBCallbackProxy(Object backupObject)
Constructor for Callback proxys. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
void | 
activateCheckpointRunning(DpDbContext dbx)
This method should rollback running to the checkpoint created by
 addCheckpointRunning(). 
 | 
void | 
addActionCapability(DBCBType dbCBType)
Add action capability from annotated callType used to register
 capabilities on the server 
 | 
void | 
addActionMethod(String name,
               Method method)
Add callback action method to proxy 
 | 
void | 
addCheckpointRunning(DpDbContext dbx)
This method should be implemented only when ConfD owns the candidate, and
 confirmed-commit is enabled. 
 | 
void | 
candidateChkNotModified(DpDbContext dbx)
This method should check to see if the candidate has been modified or
 not. 
 | 
void | 
candidateCommit(DpDbContext dbx,
               int timeout)
This method should copy the candidate DB into the running DB. 
 | 
void | 
candidateConfirmingCommit(DpDbContext dbx)
If the timeout in the candidate_commit() method is != 0, we will be
 either invoked here or in the candidateRollbackRunning() method within
 timeout seconds. 
 | 
void | 
candidateReset(DpDbContext dbx)
This method is intended to copy the current running configuration into
 the candidate. 
 | 
void | 
candidateRollbackRunning(DpDbContext dbx)
If for some reason, apart from a timeout, something goes wrong, we get
 invoked in the candidateRollbackRunning() method. 
 | 
void | 
candidateValidate(DpDbContext dbx)
This callback is optional. 
 | 
void | 
copyRunningToStartup(DpDbContext dbx)
Copies the 'running' database to 'startup'. 
 | 
void | 
delCheckpointRunning(DpDbContext dbx)
This method should delete a checkpoint created by addCheckPointRunning(). 
 | 
void | 
deleteConfig(DpDbContext dbx,
            int dbname)
Will be called for 'startup' or 'candidate' only. 
 | 
Object | 
getBackupObject()
Retrieve the callback POJO 
 | 
static DBCallbackProxy[] | 
getDBCallbackProxys(Object obj)
Get array of proxy objects from registered POJO callback. 
 | 
void | 
lock(DpDbContext dbx,
    int dbname)
This should only be implemented if our database supports locking from
 other sources than through ConfD. 
 | 
void | 
lockPartial(DpDbContext dbx,
           int dbname,
           int lockid,
           ConfObject[][] paths)
This should only be implemented if our database supports locking from
 other sources than through ConfD, see  
DpDbCallback.lock(DpDbContext,int)
 above. | 
int | 
mask()
Mask of flags for methods that are supported by this callback:
 
   
DpDbCallback.M_CANDIDATE_COMMIT
  DpDbCallback.M_CANDIDATE_CONFIRMING_COMMIT
  DpDbCallback.M_CANDIDATE_RESET
  DpDbCallback.M_CANDIDATE_CHK_NOT_MODIFIED
  DpDbCallback.M_CANDIDATE_ROLLBACK_RUNNING
  DpDbCallback.M_CANDIDATE_VALIDATE
  DpDbCallback.M_ADD_CHECKPOINT_RUNNING
  DpDbCallback.M_DEL_CHECKPOINT_RUNNING
  DpDbCallback.M_ACTIVATE_CHECKPOINT_RUNNING
  DpDbCallback.M_COPY_RUNNING_TO_STARTUP
  DpDbCallback.M_LOCK
  DpDbCallback.M_UNLOCK
  DpDbCallback.M_DELETE_CONFIG
  DpDbCallback.M_LOCK_PARTIAL
  DpDbCallback.M_UNLOCK_PARTIAL
  DpDbCallback.M_RUNNING_CHK_NOT_MODIFIED
  | 
void | 
runningChkNotModified(DpDbContext dbx)
This function should check to see if running has been modified or not. 
 | 
void | 
unlock(DpDbContext dbx,
      int dbname)
Unlocks the database. 
 | 
void | 
unlockPartial(DpDbContext dbx,
             int dbname,
             int lockid)
Unlocks the partial locks that where previously locked with
  
DpDbCallback.lockPartial(DpDbContext,int,int,ConfObject[][]). | 
public DBCallbackProxy(Object backupObject)
backupObject - registered callback POJOpublic Object getBackupObject()
public void addActionMethod(String name, Method method)
name - canonical action namemethod - registered callback methodpublic void addActionCapability(DBCBType dbCBType)
dbCBType - action typepublic int mask()
DpDbCallbackDpDbCallback.M_CANDIDATE_COMMIT
 DpDbCallback.M_CANDIDATE_CONFIRMING_COMMIT
 DpDbCallback.M_CANDIDATE_RESET
 DpDbCallback.M_CANDIDATE_CHK_NOT_MODIFIED
 DpDbCallback.M_CANDIDATE_ROLLBACK_RUNNING
 DpDbCallback.M_CANDIDATE_VALIDATE
 DpDbCallback.M_ADD_CHECKPOINT_RUNNING
 DpDbCallback.M_DEL_CHECKPOINT_RUNNING
 DpDbCallback.M_ACTIVATE_CHECKPOINT_RUNNING
 DpDbCallback.M_COPY_RUNNING_TO_STARTUP
 DpDbCallback.M_LOCK
 DpDbCallback.M_UNLOCK
 DpDbCallback.M_DELETE_CONFIG
 DpDbCallback.M_LOCK_PARTIAL
 DpDbCallback.M_UNLOCK_PARTIAL
 DpDbCallback.M_RUNNING_CHK_NOT_MODIFIED
 mask in interface DpDbCallbackpublic void activateCheckpointRunning(DpDbContext dbx) throws DpCallbackException
DpDbCallbackactivateCheckpointRunning in interface DpDbCallbackdbx - The database contextDpCallbackException - Callback method failed.public void addCheckpointRunning(DpDbContext dbx) throws DpCallbackException
DpDbCallbackIt is responsible for creating a checkpoint of the current running configuration and storing the checkpoint in non-volatile memory. When the system restarts this method should check if there is a checkpoint available, and use the checkpoint instead of running.
addCheckpointRunning in interface DpDbCallbackdbx - The database contextDpCallbackException - Callback method failed.public void candidateChkNotModified(DpDbContext dbx) throws DpCallbackException
DpDbCallbackDpCallbackException (error) if any
 uncommitted modifications exist.candidateChkNotModified in interface DpDbCallbackdbx - The database contextDpCallbackException - Callback method failed.public void candidateCommit(DpDbContext dbx, int timeout) throws DpCallbackException
DpDbCallbackcandidateCommit in interface DpDbCallbackdbx - The database contexttimeout - Timeout valueDpCallbackException - Callback method failed.public void candidateConfirmingCommit(DpDbContext dbx) throws DpCallbackException
DpDbCallbackcandidateConfirmingCommit in interface DpDbCallbackdbx - The database contextDpCallbackException - Callback method failed.public void candidateReset(DpDbContext dbx) throws DpCallbackException
DpDbCallbackcandidateReset in interface DpDbCallbackdbx - The database contextDpCallbackException - Callback method failed.public void candidateRollbackRunning(DpDbContext dbx) throws DpCallbackException
DpDbCallbackcandidateRollbackRunning in interface DpDbCallbackdbx - The database contextDpCallbackException - Callback method failed.public void candidateValidate(DpDbContext dbx) throws DpCallbackException
DpDbCallbackcandidateValidate in interface DpDbCallbackdbx - The database contextDpCallbackException - Callback method failed.public void copyRunningToStartup(DpDbContext dbx) throws DpCallbackException
DpDbCallbackcopyRunningToStartup in interface DpDbCallbackdbx - The database contextDpCallbackException - Callback method failed.public void delCheckpointRunning(DpDbContext dbx) throws DpCallbackException
DpDbCallbackdelCheckpointRunning in interface DpDbCallbackdbx - The database contextDpCallbackException - Callback method failed.public void deleteConfig(DpDbContext dbx, int dbname) throws DpCallbackException
DpDbCallbackdeleteConfig in interface DpDbCallbackdbx - The database contextdbname - The database typeDpCallbackException - Callback method failed.public void lock(DpDbContext dbx, int dbname) throws DpCallbackException
DpDbCallbackDpCallbackException (error) if the lock was already held by
 an external entity.
 The dbname constants:
lock in interface DpDbCallbackdbx - The database contextdbname - The database typeDpCallbackException - Callback method failed.public void lockPartial(DpDbContext dbx, int dbname, int lockid, ConfObject[][] paths) throws DpCallbackException
DpDbCallbackDpDbCallback.lock(DpDbContext,int)
 above. This callback is invoked if a northbound agent requests a partial
 lock. The paths[] argument is an array of keypaths that identify the
 leafs and/or subtrees that are to be locked. The lockid is a reference
 that will be used on a subsequent corresponding unlockPartial()
 invocation. Throws a DpCallbackException (error) if the lock
 was already held by an external entity.
 The dbname constants:
lockPartial in interface DpDbCallbackdbx - The database contextdbname - the databaselockid - The lock referencepaths - Paths to lockDpCallbackException - Callback method failedpublic void unlock(DpDbContext dbx, int dbname) throws DpCallbackException
DpDbCallbackunlock in interface DpDbCallbackdbx - The database contextdbname - The database typeDpCallbackException - Callback method failed.public void unlockPartial(DpDbContext dbx, int dbname, int lockid) throws DpCallbackException
DpDbCallbackDpDbCallback.lockPartial(DpDbContext,int,int,ConfObject[][]). The dbname
 constants:
 unlockPartial in interface DpDbCallbackdbx - The database contextdbname - The database typelockid - The lock referenceDpCallbackException - Callback method failed.public void runningChkNotModified(DpDbContext dbx) throws DpCallbackException
DpDbCallbackrunningChkNotModified in interface DpDbCallbackdbx - The database contextDpCallbackException - Callback method failedpublic static DBCallbackProxy[] getDBCallbackProxys(Object obj) throws DpCallbackException
obj - registered Callback POJODpCallbackException