Class BasicCookieStore

  • All Implemented Interfaces:
    java.io.Serializable, CookieStore

    @Contract(threading=SAFE)
    public class BasicCookieStore
    extends java.lang.Object
    implements CookieStore, java.io.Serializable
    Default implementation of CookieStore
    Since:
    4.0
    See Also:
    Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.util.TreeSet<Cookie> cookies  
      private java.util.concurrent.locks.ReadWriteLock lock  
      private static long serialVersionUID  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addCookie​(Cookie cookie)
      Adds an HTTP cookie, replacing any existing equivalent cookies.
      void addCookies​(Cookie[] cookies)
      Adds an array of HTTP cookies.
      void clear()
      Clears all cookies.
      boolean clearExpired​(java.time.Instant instant)
      Removes all of cookies in this HTTP state that have expired by the specified date.
      boolean clearExpired​(java.util.Date date)
      Removes all of cookies in this HTTP state that have expired by the specified date.
      java.util.List<Cookie> getCookies()
      Returns an immutable array of cookies that this HTTP state currently contains.
      private void readObject​(java.io.ObjectInputStream stream)  
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • cookies

        private final java.util.TreeSet<Cookie> cookies
      • lock

        private transient java.util.concurrent.locks.ReadWriteLock lock
    • Constructor Detail

      • BasicCookieStore

        public BasicCookieStore()
    • Method Detail

      • readObject

        private void readObject​(java.io.ObjectInputStream stream)
                         throws java.io.IOException,
                                java.lang.ClassNotFoundException
        Throws:
        java.io.IOException
        java.lang.ClassNotFoundException
      • addCookie

        public void addCookie​(Cookie cookie)
        Adds an HTTP cookie, replacing any existing equivalent cookies. If the given cookie has already expired it will not be added, but existing values will still be removed.
        Specified by:
        addCookie in interface CookieStore
        Parameters:
        cookie - the cookie to be added
        See Also:
        addCookies(Cookie[])
      • addCookies

        public void addCookies​(Cookie[] cookies)
        Adds an array of HTTP cookies. Cookies are added individually and in the given array order. If any of the given cookies has already expired it will not be added, but existing values will still be removed.
        Parameters:
        cookies - the cookies to be added
        See Also:
        addCookie(Cookie)
      • getCookies

        public java.util.List<Cookie> getCookies()
        Returns an immutable array of cookies that this HTTP state currently contains.
        Specified by:
        getCookies in interface CookieStore
        Returns:
        an array of cookies.
      • clearExpired

        public boolean clearExpired​(java.util.Date date)
        Removes all of cookies in this HTTP state that have expired by the specified date.
        Specified by:
        clearExpired in interface CookieStore
        Returns:
        true if any cookies were purged.
        See Also:
        Cookie.isExpired(Date)
      • clearExpired

        public boolean clearExpired​(java.time.Instant instant)
        Removes all of cookies in this HTTP state that have expired by the specified date.
        Specified by:
        clearExpired in interface CookieStore
        Returns:
        true if any cookies were purged.
        Since:
        5.2
        See Also:
        Cookie.isExpired(Instant)
      • clear

        public void clear()
        Clears all cookies.
        Specified by:
        clear in interface CookieStore
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object