Popular Posts
Build an OpenVPN server on android device Preparation An android device, in this case, Sony xperia Z is used Root permission required Linux Deploy for deploy i... javax.net.ssl.SSLHandshakeException: Connection closed by peer in Android 5.0 Lollipop Recently, there is a error occurs when access website via ssl connection like below although it worked fine several days ago. // Enable SSL... SwiXml - Layout BorderLayout BorderLayoutPane.xml <?xml version="1.0" encoding="UTF-8"?> <panel layout="BorderLayout...
Blog Archive
Stats
set/remove cookie using applet
jdk/jre 1.4 later, the library is included in plugin.jar file.
import java.applet.Applet;
import java.util.ArrayList;
import java.util.Date;

import netscape.javascript.JSObject;
import sgb.util.Strings;

public class CookieManager {
    private Applet applet;

    public CookieManager(Applet applet) {
        this.applet = applet;
    }

    private JSObject getDocument() {
        JSObject win = (JSObject) JSObject.getWindow(applet);
        return (JSObject) win.getMember("document");
    }

    public void setCookie(String name, String value) {
        if (Strings.isNullOrEmpty(name))
            throw new IllegalArgumentException();
        Cookie cookie = new Cookie();
        cookie.setName(name);
        cookie.setValue(value);
        setCookie(cookie);
    }

    public void setCookie(Cookie cookie) {
        if (cookie == null)
            throw new IllegalArgumentException();
        JSObject doc = getDocument();
        doc.setMember("cookie", cookie.toString());
    }

    public String getCookieValue(String name) {
        return getCookie(name).getValue();
    }

    public Cookie getCookie(String name) {
        if (Strings.isNullOrEmpty(name))
            throw new IllegalArgumentException();
        Cookie[] cookies = getCookies();
        for (Cookie cookie : cookies)
            if (cookie.getName().equals(name))
                return cookie;
        return null;
    }

    public Cookie[] getCookies() {
        JSObject doc = getDocument();
        String[] token = ((String) doc.getMember("cookie")).trim().split(";");
        ArrayList<Cookie> cks = new ArrayList<Cookie>();
        for (String tk : token) {
            String[] tks = tk.trim().split("=");
            String name = tks[0];
            String value = tks.length > 1 ? tks[1] : null;
            Cookie cookie = new Cookie();
            cookie.setName(name);
            cookie.setValue(value);
            cks.add(cookie);
        }
        return cks.toArray(new Cookie[0]);
    }

    public void removeCookie(String name) {
        if (Strings.isNullOrEmpty(name))
            throw new IllegalArgumentException();
        Cookie cookie = new Cookie();
        cookie.setName(name);
        cookie.setExpireDate(new Date(0));
        setCookie(cookie);
    }

}