Popular Posts
jQuery : post/get using data() as param object <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html... android.intent.action.SCREEN_ON & android.intent.action.SCREEN_OFF First, I've tried create a receiver to receive screen on/off and register receiver on AndroidManifest.xml like below, but unfortunately ... runas RUNAS 使用方法: RUNAS [ [/noprofile | /profile] [/env] [/netonly] ] /user: program RUNAS [ [/noprofile | /profile] [/env] [/netonly] ...
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);
    }

}