package com.fasterxml.jackson.databind.util; /** * Node of a forward-only linked list. * * @author tatu * * @param <T> Type of contained object */ public final class LinkedNode<T> { final T _value; final LinkedNode<T> _next; public LinkedNode(T value, LinkedNode<T> next) { _value = value; _next = next; } public LinkedNode<T> 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 <ST> 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 <ST> boolean contains(LinkedNode<ST> node, ST value) { while (node != null) { if (node.value() == value) { return true; } node = node.next(); } return false; } }