本文整理汇总了Java中nxt.util.DbIterator类的典型用法代码示例。如果您正苦于以下问题:Java DbIterator类的具体用法?Java DbIterator怎么用?Java DbIterator使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
DbIterator类属于nxt.util包,在下文中一共展示了DbIterator类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getTransactionIterator
import nxt.util.DbIterator; //导入依赖的package包/类
public static DbIterator<? extends Transaction> getTransactionIterator(
Long accountId, TransactionType[] recipientTypes,
TransactionType[] senderTypes, int timestamp, Boolean orderAscending,
Object referencedTransaction) {
Connection con = null;
try {
con = Db.getConnection();
PreparedStatement pstmt = createTransactionStatement(con, accountId,
recipientTypes, senderTypes, timestamp, orderAscending,
referencedTransaction, false);
DbIterator<? extends Transaction> iterator = Nxt.getBlockchain()
.getTransactions(con, pstmt);
return iterator;
}
catch (SQLException e) {
logger.error("SQL Error", e);
if (con != null) {
DbUtils.close(con);
}
}
return null;
}
示例2: getGeneratedBlocks
import nxt.util.DbIterator; //导入依赖的package包/类
public static List<Block> getGeneratedBlocks(Long accountId) {
Connection con = null;
try {
con = Db.getConnection();
PreparedStatement pstmt = con
.prepareStatement("SELECT * FROM block WHERE generator_id = ? ORDER BY db_id ASC");
pstmt.setLong(1, accountId);
List<Block> result = new ArrayList<Block>();
DbIterator<? extends Block> iterator = Nxt.getBlockchain().getBlocks(con,
pstmt);
while (iterator.hasNext()) {
result.add(iterator.next());
}
return result;
}
catch (SQLException e) {
DbUtils.close(con);
throw new RuntimeException(e.toString(), e);
}
}
示例3: calculateTransactionsChecksum
import nxt.util.DbIterator; //导入依赖的package包/类
private byte[] calculateTransactionsChecksum() {
PriorityQueue<Transaction> sortedTransactions = new PriorityQueue<>(blockchain.getTransactionCount(), new Comparator<Transaction>() {
@Override
public int compare(Transaction o1, Transaction o2) {
long id1 = o1.getId();
long id2 = o2.getId();
return id1 < id2 ? -1 : (id1 > id2 ? 1 : (o1.getTimestamp() < o2.getTimestamp() ? -1 : (o1.getTimestamp() > o2.getTimestamp() ? 1 : 0)));
}
});
try (DbIterator<TransactionImpl> iterator = blockchain.getAllTransactions()) {
while (iterator.hasNext()) {
sortedTransactions.add(iterator.next());
}
}
MessageDigest digest = Crypto.sha256();
while (! sortedTransactions.isEmpty()) {
digest.update(sortedTransactions.poll().getBytes());
}
return digest.digest();
}
示例4: getAllBlocks
import nxt.util.DbIterator; //导入依赖的package包/类
public DbIterator<BlockImpl> getAllBlocks()
{
Connection localConnection = null;
try
{
localConnection = Db.getConnection();
PreparedStatement localPreparedStatement = localConnection.prepareStatement("SELECT * FROM block ORDER BY db_id ASC");
new DbIterator(localConnection, localPreparedStatement, new DbIterator.ResultSetReader()
{
public BlockImpl get(Connection paramAnonymousConnection, ResultSet paramAnonymousResultSet)
throws NxtException.ValidationException
{
return BlockDb.findBlock(paramAnonymousConnection, paramAnonymousResultSet);
}
});
}
catch (SQLException localSQLException)
{
DbUtils.close(new AutoCloseable[] { localConnection });
throw new RuntimeException(localSQLException.toString(), localSQLException);
}
}
示例5: getAllTransactions
import nxt.util.DbIterator; //导入依赖的package包/类
public DbIterator<TransactionImpl> getAllTransactions()
{
Connection localConnection = null;
try
{
localConnection = Db.getConnection();
PreparedStatement localPreparedStatement = localConnection.prepareStatement("SELECT * FROM transaction ORDER BY db_id ASC");
new DbIterator(localConnection, localPreparedStatement, new DbIterator.ResultSetReader()
{
public TransactionImpl get(Connection paramAnonymousConnection, ResultSet paramAnonymousResultSet)
throws NxtException.ValidationException
{
return TransactionDb.findTransaction(paramAnonymousConnection, paramAnonymousResultSet);
}
});
}
catch (SQLException localSQLException)
{
DbUtils.close(new AutoCloseable[] { localConnection });
throw new RuntimeException(localSQLException.toString(), localSQLException);
}
}
示例6: scan
import nxt.util.DbIterator; //导入依赖的package包/类
public void scan() {
/* Scan the database */
TransactionType[] types = { TransactionType.Messaging.ARBITRARY_MESSAGE };
DbIterator<? extends Transaction> iterator = TransactionDB
.getTransactionIterator(account.getId(), types, types, 0, Boolean.TRUE,
null);
while (iterator.hasNext()) {
processTransaction(iterator.next());
}
/* Add all pending transactions not yet in the database */
addPendingTransactions();
}
示例7: testListGenesisTransactions
import nxt.util.DbIterator; //导入依赖的package包/类
@Test
public void testListGenesisTransactions() {
Account account = getGenesisAccount();
DbIterator<? extends Transaction> iter = Nxt.getBlockchain()
.getTransactions(account, (byte) -1, (byte) -1, 0);
int totalAmount = 0;
while (iter.hasNext()) {
Transaction txn = iter.next();
String recipient = Convert.toUnsignedLong(txn.getRecipientId());
totalAmount += txn.getAmount();
System.out.println(recipient + " => " + txn.getAmount() + "("
+ totalAmount + ")");
}
}
示例8: getAll
import nxt.util.DbIterator; //导入依赖的package包/类
private void getAll(DbIterator<? extends Transaction> iterator,
List<Transaction> output, ITransactionFilter filter) {
Transaction transation;
while (iterator.hasNext()) {
transation = iterator.next();
if (filter.accept(transation))
output.add(transation);
}
}
示例9: getTransactions
import nxt.util.DbIterator; //导入依赖的package包/类
public static LazyList getTransactions(Boolean orderAscending, INxtService nxt) {
Connection con = null;
/* Count number of records */
int available = Nxt.getBlockchain().getTransactionCount();
/* Create the record iterator */
try {
con = Db.getConnection();
StringBuilder buf = new StringBuilder();
buf.append("SELECT * FROM transaction ");
if (orderAscending != null) {
if (Boolean.TRUE.equals(orderAscending)) {
buf.append("ORDER BY db_id ASC");
}
else if (Boolean.FALSE.equals(orderAscending)) {
buf.append("ORDER BY db_id DESC");
}
}
PreparedStatement pstmt = con.prepareStatement(buf.toString());
DbIterator<? extends Transaction> iterator = Nxt.getBlockchain()
.getTransactions(con, pstmt);
LazyList lazyList = new LazyList(iterator, available, nxt);
return lazyList;
}
catch (SQLException e) {
logger.error("SQL Error", e);
if (con != null) {
DbUtils.close(con);
}
}
return null;
}
示例10: getForgedBlocks
import nxt.util.DbIterator; //导入依赖的package包/类
@Override
public List<Block> getForgedBlocks() {
logger.warn("getForgedBlocks()");
List<Block> result = new ArrayList<Block>();
Account a = getNative();
if (a != null) {
DbIterator<? extends Block> iter = Nxt.getBlockchain().getBlocks(a, 0);
while (iter.hasNext()) {
result.add(iter.next());
}
}
return result;
}
示例11: getForgedFee
import nxt.util.DbIterator; //导入依赖的package包/类
@Override
public int getForgedFee() {
int fee = 0;
Account a = getNative();
if (a != null) {
DbIterator<? extends Block> iter = Nxt.getBlockchain().getBlocks(a, 0);
while (iter.hasNext()) {
fee += iter.next().getTotalFee();
}
}
return fee;
}
示例12: getBlocks
import nxt.util.DbIterator; //导入依赖的package包/类
public static LazyList getBlocks(Boolean orderAscending, INxtService nxt) {
Connection con = null;
/* Count number of records */
// int available = nxt.getSmartBlockCount();
int available = Nxt.getBlockchain().getBlockCount();
/* Create the record iterator */
try {
con = Db.getConnection();
StringBuilder buf = new StringBuilder();
buf.append("SELECT * FROM block ");
if (orderAscending != null) {
if (Boolean.TRUE.equals(orderAscending)) {
buf.append("ORDER BY db_id ASC");
}
else if (Boolean.FALSE.equals(orderAscending)) {
buf.append("ORDER BY db_id DESC");
}
}
PreparedStatement pstmt = con.prepareStatement(buf.toString());
DbIterator<? extends Block> iterator = Nxt.getBlockchain().getBlocks(con,
pstmt);
LazyList lazyList = new LazyList(iterator, available);
return lazyList;
}
catch (SQLException e) {
logger.error("SQL Error", e);
if (con != null) {
DbUtils.close(con);
}
}
return null;
}
示例13: getAllBlocks
import nxt.util.DbIterator; //导入依赖的package包/类
@Override
public DbIterator<BlockImpl> getAllBlocks() {
Connection con = null;
try {
con = Db.getConnection();
PreparedStatement pstmt = con.prepareStatement("SELECT * FROM block ORDER BY db_id ASC");
return getBlocks(con, pstmt);
} catch (SQLException e) {
DbUtils.close(con);
throw new RuntimeException(e.toString(), e);
}
}
示例14: getBlocks
import nxt.util.DbIterator; //导入依赖的package包/类
@Override
public DbIterator<BlockImpl> getBlocks(Account account, int timestamp) {
Connection con = null;
try {
con = Db.getConnection();
PreparedStatement pstmt = con.prepareStatement("SELECT * FROM block WHERE timestamp >= ? AND generator_id = ? ORDER BY db_id ASC");
pstmt.setInt(1, timestamp);
pstmt.setLong(2, account.getId());
return getBlocks(con, pstmt);
} catch (SQLException e) {
DbUtils.close(con);
throw new RuntimeException(e.toString(), e);
}
}
示例15: getAllTransactions
import nxt.util.DbIterator; //导入依赖的package包/类
@Override
public DbIterator<TransactionImpl> getAllTransactions() {
Connection con = null;
try {
con = Db.getConnection();
PreparedStatement pstmt = con.prepareStatement("SELECT * FROM transaction ORDER BY db_id ASC");
return getTransactions(con, pstmt);
} catch (SQLException e) {
DbUtils.close(con);
throw new RuntimeException(e.toString(), e);
}
}