Listing 4: The Cookie Class
//clean information
private String key=null;
private String value=null;
private URI uri=null; //URI
private String domain=null; //domain
private Date expire_date=null; //expire
private String path=null; //path
//date formats
private static DateFormat DateFormat_I=
new SimpleDateFormat("E, dd MMM yyyy k:m:s 'GMT'");
private static DateFormat DateFormat_II=
new SimpleDateFormat("E, dd-MMM-yyyy k:m:s 'GMT'");
…
public Cookie(URI uri, String cookie_content) {
//initializare
this.uri = uri;
this.path = "/";
this.domain = uri.getHost();
System.out.println("cookie_content="+cookie_content);
//extract the domain, path and expiration date
StringTokenizer ST=new StringTokenizer(cookie_content,";");
String sir=ST.nextToken();
this.key=sir.substring(0,sir.indexOf('='));
this.value=sir.substring(sir.indexOf('='),sir.length());
String[] S=new String[ST.countTokens()];
int k=0;
while(ST.hasMoreTokens())
{
S[k]=ST.nextToken().trim();
k++;
}
for(int i=0;i<k;i++)
{
String key_side=S[i].substring(0,S[i].indexOf('='));
String value_side=S[i].substring(S[i].indexOf('=')+1,S[i].length());
if(key_side.equalsIgnoreCase("domain"))
{
//verify if uri.getHost coresponds to domain
this.domain=value_side;
}
if(key_side.equalsIgnoreCase("path"))
{
this.path=value_side;
}
if(key_side.equalsIgnoreCase("expires"))
{
try{
this.expire_date=DateFormat_I.parse(value_side);
}catch(ParseException e)
{
try{
this.expire_date=DateFormat_II.parse(value_side);
}catch(ParseException e2)
{throw new IllegalArgumentException
("Bad date format in cookie_content: " + value);}}
}
}
System.out.println("-----------------------------------------------");
System.out.println("domain / path / expire_date = "+this.domain+" / "
+this.path+" / "+expire_date);
System.out.println("-----------------------------------------------");
}
New on the Java Boutique:
New Review:
Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling
API boasts simplicity, ease-of-integration, a well-rounded feature
set, and it's free!
New Applet:
Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA
sequences into three useful formats.
Elsewhere on internet.com:
WebDeveloper Java
Lots of Java information on webdeveloper.com
WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.
ScriptSearch Java
Hundreds of free Java code files to download.
jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.
|