Revision: 1753
          http://svn.sourceforge.net/spring-rich-c/?rev=1753&view=rev
Author:   jhoskens
Date:     2007-05-22 04:54:14 -0700 (Tue, 22 May 2007)

Log Message:
-----------
Added some javadocs
Registering listeners for Guards/MessageReceiver will also trigger a first time 
check.
(ValidationResultsModel can already contain results that need to be processed)

Modified Paths:
--------------
    
trunk/spring-richclient/support/src/main/java/org/springframework/richclient/form/builder/support/ValidationInterceptor.java

Modified: 
trunk/spring-richclient/support/src/main/java/org/springframework/richclient/form/builder/support/ValidationInterceptor.java
===================================================================
--- 
trunk/spring-richclient/support/src/main/java/org/springframework/richclient/form/builder/support/ValidationInterceptor.java
        2007-05-22 11:12:28 UTC (rev 1752)
+++ 
trunk/spring-richclient/support/src/main/java/org/springframework/richclient/form/builder/support/ValidationInterceptor.java
        2007-05-22 11:54:14 UTC (rev 1753)
@@ -28,74 +28,109 @@
 import org.springframework.richclient.dialog.Messagable;
 
 /**
+ * Adds basic functionality to deal with Validation. Guards and 
messageReceivers
+ * can be added to the [EMAIL PROTECTED] ValidationResultsModel} of the
+ * [EMAIL PROTECTED] ValidatingFormModel}.
+ * 
  * @author oliverh
  */
 public abstract class ValidationInterceptor extends 
AbstractFormComponentInterceptor {
 
-    private final ValidationResultsModel validationResults;
+       private final ValidationResultsModel validationResults;
 
-    public ValidationInterceptor(FormModel formModel) {
-        super(formModel);
-        validationResults = 
((ValidatingFormModel)formModel).getValidationResults();
-    }
+       /**
+        * @param formModel the [EMAIL PROTECTED] ValidatingFormModel} to 
operate on.
+        */
+       public ValidationInterceptor(FormModel formModel) {
+               super(formModel);
+               validationResults = ((ValidatingFormModel) 
formModel).getValidationResults();
+       }
 
-    protected ValidationListener registerMessageReceiver(String propertyName, 
Messagable messageReceiver) {
-        MessagableValidationListener messagableValidationListener = new 
MessagableValidationListener(propertyName,
-                messageReceiver);
-        validationResults.addValidationListener(propertyName, 
messagableValidationListener);
-        return messagableValidationListener;
-    }
+       /**
+        * Register a messageReceiver on a specific property. To keep things in
+        * sync, it also triggers a first time check. (validationResultsModel 
can
+        * already be populated)
+        * 
+        * @param propertyName property to listen for.
+        * @param messageReceiver message capable component.
+        * @return [EMAIL PROTECTED] ValidationListener} created during the 
process.
+        */
+       protected ValidationListener registerMessageReceiver(String 
propertyName, Messagable messageReceiver) {
+               MessagableValidationListener messagableValidationListener = new 
MessagableValidationListener(propertyName,
+                               messageReceiver);
+               validationResults.addValidationListener(propertyName, 
messagableValidationListener);
+               
messagableValidationListener.validationResultsChanged(validationResults);
+               return messagableValidationListener;
+       }
 
-    protected ValidationListener registerGuarded(String propertyName, Guarded 
guarded) {
-        GuardedValidationListener guardedValidationListener = new 
GuardedValidationListener(propertyName, guarded);
-        validationResults.addValidationListener(propertyName, 
guardedValidationListener);
-        return guardedValidationListener;
-    }
+       /**
+        * Register a guarded object on a specific property. To keep things in 
sync,
+        * it also triggers a first time check. (validationResultsModel can 
already
+        * be populated)
+        * 
+        * @param propertyName property to listen for.
+        * @param guarded component that needs guarding.
+        * @return [EMAIL PROTECTED] ValidationListener} created during the 
process.
+        */
+       protected ValidationListener registerGuarded(String propertyName, 
Guarded guarded) {
+               GuardedValidationListener guardedValidationListener = new 
GuardedValidationListener(propertyName, guarded);
+               validationResults.addValidationListener(propertyName, 
guardedValidationListener);
+               
guardedValidationListener.validationResultsChanged(validationResults);
+               return guardedValidationListener;
+       }
 
-    private static class MessagableValidationListener implements 
ValidationListener {
-        private final String propertyName;
+       /**
+        * [EMAIL PROTECTED] ValidationListener} that will handle validation 
messages of the
+        * given property.
+        */
+       private static class MessagableValidationListener implements 
ValidationListener {
+               private final String propertyName;
 
-        private final Messagable messageReceiver;
+               private final Messagable messageReceiver;
 
-        public MessagableValidationListener(String propertyName, Messagable 
messageReceiver) {
-            this.propertyName = propertyName;
-            this.messageReceiver = messageReceiver;
-        }
+               public MessagableValidationListener(String propertyName, 
Messagable messageReceiver) {
+                       this.propertyName = propertyName;
+                       this.messageReceiver = messageReceiver;
+               }
 
-        public void validationResultsChanged(ValidationResults results) {
-            if (results.getMessageCount(propertyName) > 0) {
-                ValidationMessage message = getNewestMessage(results);
-                messageReceiver.setMessage(new Message(message.getMessage(), 
message.getSeverity()));
-            }
-            else {
-                messageReceiver.setMessage(null);
-            }
-        }
+               public void validationResultsChanged(ValidationResults results) 
{
+                       if (results.getMessageCount(propertyName) > 0) {
+                               ValidationMessage message = 
getNewestMessage(results);
+                               messageReceiver.setMessage(new 
Message(message.getMessage(), message.getSeverity()));
+                       }
+                       else {
+                               messageReceiver.setMessage(null);
+                       }
+               }
 
-        protected ValidationMessage getNewestMessage(ValidationResults 
results) {
-            ValidationMessage newestMessage = null;
-            for (Iterator i = results.getMessages(propertyName).iterator(); 
i.hasNext();) {
-                ValidationMessage message = (ValidationMessage)i.next();
-                if (newestMessage == null || newestMessage.getTimeStamp() < 
message.getTimeStamp()) {
-                    newestMessage = message;
-                }
-            }
-            return newestMessage;
-        }
-    }
+               protected ValidationMessage getNewestMessage(ValidationResults 
results) {
+                       ValidationMessage newestMessage = null;
+                       for (Iterator i = 
results.getMessages(propertyName).iterator(); i.hasNext();) {
+                               ValidationMessage message = (ValidationMessage) 
i.next();
+                               if (newestMessage == null || 
newestMessage.getTimeStamp() < message.getTimeStamp()) {
+                                       newestMessage = message;
+                               }
+                       }
+                       return newestMessage;
+               }
+       }
 
-    private static class GuardedValidationListener implements 
ValidationListener {
-        private final String propertyName;
+       /**
+        * [EMAIL PROTECTED] ValidationListener} that will handle the enabling 
of the guard
+        * according to the validation of the given property.
+        */
+       private static class GuardedValidationListener implements 
ValidationListener {
+               private final String propertyName;
 
-        private final Guarded guarded;
+               private final Guarded guarded;
 
-        public GuardedValidationListener(String propertyName, Guarded guarded) 
{
-            this.propertyName = propertyName;
-            this.guarded = guarded;
-        }
+               public GuardedValidationListener(String propertyName, Guarded 
guarded) {
+                       this.propertyName = propertyName;
+                       this.guarded = guarded;
+               }
 
-        public void validationResultsChanged(ValidationResults results) {
-            guarded.setEnabled(results.getMessageCount(propertyName) == 0);
-        }
-    }
+               public void validationResultsChanged(ValidationResults results) 
{
+                       
guarded.setEnabled(results.getMessageCount(propertyName) == 0);
+               }
+       }
 }
\ No newline at end of file


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
spring-rich-c-cvs mailing list
spring-rich-c-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/spring-rich-c-cvs

Reply via email to