Source code: com/gammastream/validity/GSVGenericRecord.java
1 package com.gammastream.validity;
2
3 import com.webobjects.foundation.*;
4 import com.webobjects.appserver.*;
5 import com.webobjects.eocontrol.*;
6 import com.webobjects.eoaccess.*;
7
8 /**
9 * In order for your EOGenericRecords to take advantage of Validity validation,
10 * they must extend GSVGenericRecord. Similarly, your EOCustomObjects must extend
11 * GSVCustomObject.
12 *
13 * @author GammaStream Technologies, Inc.
14 */
15 public class GSVGenericRecord extends EOGenericRecord {
16
17 public void validateForDelete(){
18 try{
19 GSVEngine.sharedValidationEngine().validateEOObjectOnDelete(this);
20 } catch(NSValidation.ValidationException e){
21 throw e;
22 }
23 super.validateForDelete();
24 }
25
26 public void validateForInsert(){
27 try{
28 GSVEngine.sharedValidationEngine().validateEOObjectOnInsert(this);
29 } catch(NSValidation.ValidationException e){
30 throw e;
31 }
32 super.validateForInsert();
33 }
34
35 public void validateForSave(){
36 try{
37 GSVEngine.sharedValidationEngine().validateEOObjectOnSave(this);
38 } catch(NSValidation.ValidationException e){
39 throw e;
40 }
41 super.validateForSave();
42 }
43
44 public void validateForUpdate(){
45 try{
46 GSVEngine.sharedValidationEngine().validateEOObjectOnUpdate(this);
47 } catch(NSValidation.ValidationException e){
48 throw e;
49 }
50 super.validateForUpdate();
51 }
52
53 public Object validateValueForKey(Object value, String key){
54 //NSLog.debug.appendln("*** Validity: GSVGenericRecord.validateValueForKey(Object value, String key)");
55 if( this.shouldUseDefaultValidition() ){
56 return super.validateValueForKey(value, key);
57 } else {
58 return value;
59 }
60 }
61
62 /**
63 * Override this method in your EOGenericRecord if you do not want to take advantage
64 * of the built in EOF validation.
65 */
66 public boolean shouldUseDefaultValidition(){
67 return true;
68 }
69
70 }