package com.fasterxml.jackson.databind.util; /** * Node of a forward-only linked list. * * @author tatu */ public final class LinkedNode { private final T value; private LinkedNode next; public LinkedNode(T value, LinkedNode next) { this.value = value; this.next = next; } public void linkNext(LinkedNode n) { if (next != null) { // sanity check throw new IllegalStateException(); } next = n; } public LinkedNode next() { return next; } public T value() { return value; } /** * Convenience method that can be used to check if a linked list * with given head node (which may be null to indicate empty list) * contains given value * * @param Type argument that defines contents of the linked list parameter * @param node Head node of the linked list * @param value Value to look for * @return True if linked list contains the value, false otherwise */ public static boolean contains(LinkedNode node, ST value) { while (node != null) { if (node.value() == value) { return true; } node = node.next(); } return false; } }