Top Description Fields Constructors Methods
org.apache.http.cookie

public Class CookiePathComparator

extends Object
implements Serializable, Comparator<Cookie>
Class Inheritance
All Implemented Interfaces
java.util.Comparator, java.io.Serializable
Annotations
@Contract
threading:IMMUTABLE
Imports
java.io.Serializable, java.util.Comparator, org.apache.http.annotation.Contract, .ThreadingBehavior

This cookie comparator ensures that multiple cookies satisfying a common criteria are ordered in the Cookie header such that those with more specific Path attributes precede those with less specific.

This comparator assumes that Path attributes of two cookies path-match a commmon request-URI. Otherwise, the result of the comparison is undefined.

Since
4.0

Field Summary

Modifier and TypeField and Description
public static final CookiePathComparator
private static final long

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public int
compare(final Cookie
the first object to be compared.
c1
,
final Cookie
the second object to be compared.
c2
)

Implements java.util.Comparator.compare.

Compares its two arguments for order.
private String
normalizePath(final Cookie cookie)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

INSTANCEback to summary
public static final CookiePathComparator INSTANCE
serialVersionUIDback to summary
private static final long serialVersionUID

Constructor Detail

CookiePathComparatorback to summary
public CookiePathComparator()

Method Detail

compareback to summary
public int compare(final Cookie c1, final Cookie c2)

Implements java.util.Comparator.compare.

Doc from java.util.Comparator.compare.

Compares its two arguments for order. Returns a negative integer, zero, or a positive integer as the first argument is less than, equal to, or greater than the second.

The implementor must ensure that signum(compare(x, y)) == -signum(compare(y, x)) for all x and y. (This implies that compare(x, y) must throw an exception if and only if compare(y, x) throws an exception.)

The implementor must also ensure that the relation is transitive: ((compare(x, y)>0) && (compare(y, z)>0)) implies compare(x, z)>0.

Finally, the implementor must ensure that compare(x, y)==0 implies that signum(compare(x, z))==signum(compare(y, z)) for all z.

Parameters
c1:Cookie

the first object to be compared.

c2:Cookie

the second object to be compared.

Returns:int

a negative integer, zero, or a positive integer as the first argument is less than, equal to, or greater than the second.

Annotations
@Override
normalizePathback to summary
private String normalizePath(final Cookie cookie)