本文整理汇总了Java中com.amazon.carbonado.Storable.tryDelete方法的典型用法代码示例。如果您正苦于以下问题:Java Storable.tryDelete方法的具体用法?Java Storable.tryDelete怎么用?Java Storable.tryDelete使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.amazon.carbonado.Storable
的用法示例。
在下文中一共展示了Storable.tryDelete方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: updateIndexEntry
import com.amazon.carbonado.Storable; //导入方法依赖的package包/类
/** Assumes caller is in a transaction */
boolean updateIndexEntry(S userStorable, S oldUserStorable) throws PersistException {
Storable newIndexEntry = makeIndexEntry(userStorable);
if (oldUserStorable != null) deleteOldEntry: {
Storable oldIndexEntry;
try {
oldIndexEntry = makeIndexEntry(oldUserStorable);
} catch (PersistException e) {
Throwable cause = e.getCause();
if (cause instanceof IllegalArgumentException) {
// Can be caused by a corrupt master record, which is
// attempting do assign an illegal value to the index. There's
// no way to find the old index entry to delete.
break deleteOldEntry;
}
throw e;
}
if (oldIndexEntry.equalPrimaryKeys(newIndexEntry)) {
// Index entry didn't change, so nothing to do. If the index
// entry has a version, it will lag behind the master's version
// until the index entry changes, at which point the version
// will again match the master.
return true;
}
oldIndexEntry.tryDelete();
}
return insertIndexEntry(userStorable, newIndexEntry);
}
示例2: updateValues
import com.amazon.carbonado.Storable; //导入方法依赖的package包/类
private void updateValues(S storable, Object state) throws PersistException {
if (state == null) {
return;
}
List<Storable> oldIndexEntries = (List<Storable>) state;
int size = oldIndexEntries.size();
List<Storable> newIndexEntries = new ArrayList<Storable>(size);
createDependentIndexEntries(storable, newIndexEntries);
if (size != newIndexEntries.size()) {
// This is not expected to happen.
throw new PersistException("Amount of affected dependent indexes changed: " +
size + " != " + newIndexEntries.size());
}
for (int i=0; i<size; i++) {
Storable oldIndexEntry = oldIndexEntries.get(i);
Storable newIndexEntry = newIndexEntries.get(i);
if (!oldIndexEntry.equalProperties(newIndexEntry)) {
// Try delete old entry, just in case it is missing.
oldIndexEntry.tryDelete();
}
// Always try to insert index entry, just in case it is missing.
newIndexEntry.tryInsert();
}
}
示例3: tryDeleteReplica
import com.amazon.carbonado.Storable; //导入方法依赖的package包/类
/**
* Deletes the replica entry with replication disabled.
*/
boolean tryDeleteReplica(Storable replica) throws PersistException {
// Prevent trigger from being invoked by deleting replica.
TriggerManager tm = mTriggerManager;
tm.locallyDisableDelete();
try {
return replica.tryDelete();
} finally {
tm.locallyEnableDelete();
}
}