Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | Related Pages

IDField.java

00001 package edu.virtualschool.jwaa.field;
00002 
00003 import gnu.regexp.RE;
00004 
00005 /*
00006  * IDs are auto-increment record numbers (longs) used internally to identify
00007  * specific records in some database tables. Copyright 2002 by Brad Cox:
00008  * <bcox@virtualschool.edu>
00009  */
00010 public class IDField extends GenericField
00011 {
00012   public final long longValue;
00013 
00014   public final static String sqlType = "integer(32) unsigned";
00015   final static RE re = createRegexp("[1-9][0-9]{0,31}");
00016   public final static IDField Null = new IDField(0L);
00017   
00018   public IDField(long v)
00019   {
00020     super(v+"", "");
00021     this.longValue = Long.parseLong(stringValue);
00022   }
00023   public IDField(Object value, Object defaultValue)
00024   {
00025     super(value, defaultValue);
00026     requireMatch(re, value + " must be a positive integer; 32 digits max");
00027     this.longValue = Long.parseLong(stringValue);
00028   }
00029 }