All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.dongliu.cute.http.Cookies Maven / Gradle / Ivy

The newest version!
package net.dongliu.cute.http;

import net.dongliu.commons.Lazy;

import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Optional;

/**
 * Collection of Cookie
 */
public class Cookies {
    private final List cookies;
    private final Lazy> map;

    /**
     * only for internal use
     */
    Cookies(List cookies) {
        this.cookies = List.copyOf(cookies);
        this.map = Lazy.of(() -> toMap(cookies));
    }

    private static Map toMap(List cookies) {
        var map = new HashMap();
        for (Cookie cookie : cookies) {
            map.put(cookie.name(), cookie);
        }
        return map;
    }

    /**
     * Get cookie with name, if not exists, return empty Optional
     */
    public Optional getCookie(String name) {
        var c = map.get().get(name);
        return Optional.ofNullable(c);
    }

    /**
     * Return all cookies
     */
    public List allCookies() {
        return cookies;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy