@Override public E getFirst() { synchronized (mutex) { return delegate().getFirst(); } }
@Override public synchronized V getFirst() { return delegate.getFirst(); }
@Override public E getFirst() { synchronized (mutex) { return delegate().getFirst(); } }
@Override public E getFirst() { return delegate().getFirst(); }
@Override public boolean ready() throws IOException { // assuming no other thread is concurrently reading if (readers.isEmpty()) { return false; } return readers.getFirst().ready(); }
@Override public E getFirst() { synchronized (mutex) { return delegate().getFirst(); } }
@Override public E getFirst() { return delegate().getFirst(); }
@Override public E getFirst() { return delegate().getFirst(); }
@Override public E getFirst() { assertTrue(Thread.holdsLock(mutex)); return delegate.getFirst(); }
@Override public T current() { return deque.getFirst().getElement(); }
@Override public E getFirst() { synchronized (mutex) { return delegate().getFirst(); } }
@Override public String findSessionId(final HttpServerExchange exchange) { Deque<String> stringDeque = exchange.getPathParameters().get(name); if (stringDeque == null) { return null; } UndertowLogger.SESSION_LOGGER.tracef("Found path parameter session id %s on %s", stringDeque.getFirst(), exchange); return stringDeque.getFirst(); }
@Override public Builder startOr() { ExpressionTree node = new ExpressionTree(ExpressionTree.Operator.OR); currentTree.getFirst().getChildren().add(node); currentTree.addFirst(node); return this; }
@Override public Builder startNot() { ExpressionTree node = new ExpressionTree(ExpressionTree.Operator.NOT); currentTree.getFirst().getChildren().add(node); currentTree.addFirst(node); return this; }
/** * Get a list of batches which have been sitting in the accumulator too long and need to be expired. */ public List<ProducerBatch> expiredBatches(long now) { List<ProducerBatch> expiredBatches = new ArrayList<>(); for (Map.Entry<TopicPartition, Deque<ProducerBatch>> entry : this.batches.entrySet()) { // expire the batches in the order of sending Deque<ProducerBatch> deque = entry.getValue(); synchronized (deque) { while (!deque.isEmpty()) { ProducerBatch batch = deque.getFirst(); if (batch.hasReachedDeliveryTimeout(deliveryTimeoutMs, now)) { deque.poll(); batch.abortRecordAppends(); expiredBatches.add(batch); } else { maybeUpdateNextBatchExpiryTime(batch); break; } } } } return expiredBatches; }
@Override public Builder startAnd() { ExpressionTree node = new ExpressionTree(ExpressionTree.Operator.AND); currentTree.getFirst().getChildren().add(node); currentTree.addFirst(node); return this; }
@Override public Builder literal(TruthValue truth) { ExpressionTree parent = currentTree.getFirst(); parent.getChildren().add(new ExpressionTree(truth)); return this; }
/** * Eat an identifier, possibly qualified (meaning that it is dotted). * TODO AndyC Could create complete identifiers (a.b.c) here rather than a sequence of them? (a, b, c) */ private SpelNodeImpl eatPossiblyQualifiedId() { Deque<SpelNodeImpl> qualifiedIdPieces = new ArrayDeque<>(); Token node = peekToken(); while (isValidQualifiedId(node)) { nextToken(); if (node.kind != TokenKind.DOT) { qualifiedIdPieces.add(new Identifier(node.stringValue(), node.startPos, node.endPos)); } node = peekToken(); } if (qualifiedIdPieces.isEmpty()) { if (node == null) { throw internalException( this.expressionString.length(), SpelMessage.OOD); } throw internalException(node.startPos, SpelMessage.NOT_EXPECTED_TOKEN, "qualified ID", node.getKind().toString().toLowerCase()); } return new QualifiedIdentifier(qualifiedIdPieces.getFirst().getStartPosition(), qualifiedIdPieces.getLast().getEndPosition(), qualifiedIdPieces.toArray(new SpelNodeImpl[0])); }
@Override public Builder isNull(String column, PredicateLeaf.Type type) { ExpressionTree parent = currentTree.getFirst(); if (column == null) { parent.getChildren().add(new ExpressionTree(TruthValue.YES_NO_NULL)); } else { PredicateLeaf leaf = new PredicateLeafImpl(PredicateLeaf.Operator.IS_NULL, type, column, null, null, conf); parent.getChildren().add(new ExpressionTree(addLeaf(leaf))); } return this; }
create().pollFirst(); create().pollLast(); create().getFirst(); create().getLast(); create().peekFirst();