Class Fields

java.lang.Object
org.eclipse.jetty.util.Fields
All Implemented Interfaces:
Iterable<Fields.Field>

public class Fields extends Object implements Iterable<Fields.Field>

A container for name/value pairs, known as fields.

A Fields.Field is composed of a name string that can be case-sensitive or case-insensitive (by specifying the option at the constructor) and of a case-sensitive set of value strings.

The implementation of this class is not thread safe.

  • Constructor Details

    • Fields

      public Fields()

      Creates an empty, modifiable, case insensitive Fields instance.

      See Also:
    • Fields

      public Fields(boolean caseSensitive)

      Creates an empty, modifiable, case insensitive Fields instance.

      Parameters:
      caseSensitive - whether this Fields instance must be case sensitive
      See Also:
    • Fields

      public Fields(Fields original, boolean immutable)

      Creates a Fields instance by copying the fields from the given Fields and making it (im)mutable depending on the given immutable parameter

      Parameters:
      original - the Fields to copy fields from
      immutable - whether this instance is immutable
  • Method Details

    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • getNames

      public Set<String> getNames()
      Returns:
      a set of field names
    • get

      public Fields.Field get(String name)
      Parameters:
      name - the field name
      Returns:
      the Fields.Field with the given name, or null if no such field exists
    • put

      public void put(String name, String value)

      Inserts or replaces the given name/value pair as a single-valued Fields.Field.

      Parameters:
      name - the field name
      value - the field value
    • put

      public void put(Fields.Field field)

      Inserts or replaces the given Fields.Field, mapped to the field's name

      Parameters:
      field - the field to put
    • add

      public void add(String name, String value)

      Adds the given value to a field with the given name, creating a Fields.Field is none exists for the given name.

      Parameters:
      name - the field name
      value - the field value to add
    • remove

      public Fields.Field remove(String name)

      Removes the Fields.Field with the given name

      Parameters:
      name - the name of the field to remove
      Returns:
      the removed field, or null if no such field existed
    • clear

      public void clear()

      Empties this Fields instance from all fields

      See Also:
    • isEmpty

      public boolean isEmpty()
      Returns:
      whether this Fields instance is empty
    • getSize

      public int getSize()
      Returns:
      the number of fields
    • iterator

      public Iterator<Fields.Field> iterator()
      Specified by:
      iterator in interface Iterable<Fields.Field>
      Returns:
      an iterator over the Fields.Fields present in this instance
    • toString

      public String toString()
      Overrides:
      toString in class Object