Package com.gammastream.validity

Source Code of com.gammastream.validity.GSVExceptionRepetition

package com.gammastream.validity;

import com.webobjects.appserver.WOComponent;
import com.webobjects.appserver.WOContext;
import com.webobjects.foundation.NSArray;
import com.webobjects.foundation.NSDictionary;
import com.webobjects.foundation.NSMutableArray;
import com.webobjects.foundation.NSValidation;

public class GSVExceptionRepetition extends WOComponent {

    public NSArray messageArray = null;
   
    private NSArray _attributeKeys = null;

    public GSVExceptionRepetition(WOContext context) {
        super(context);
    }

    /********************************  Overrides  *******************************/

    public boolean isStateless(){ return true; }
    public boolean synchronizesVariablesWithBindings(){ return false; }
   
    /********************************  Bindings  *******************************/

    public NSValidation.ValidationException exception(){
        return (NSValidation.ValidationException)this.valueForBinding("exception");
    }

    public boolean showAllErrors(){
        if(this.hasBinding("showAllErrors")){
            return ((Boolean)this.valueForBinding("showAllErrors")).booleanValue();
        }
        return false;
    }

    public NSArray attributeKeys(){
        if( _attributeKeys == null ){
            String key = (String)this.valueForBinding("attributeKey");
            _attributeKeys = NSArray.componentsSeparatedByString(key, ":");
        }
        return _attributeKeys;
    }

    public String currentMessage(){
        return (String)valueForBinding("currentMessage");
    }

    public void setCurrentMessage(String str){
        setValueForBinding(str, "currentMessage");
    }

    /********************************  Other  *******************************/
   
    public boolean show() {
        return exception() != null;
    }

    public NSDictionary messageDictionary(){
        if(this.show() && exception().userInfo().objectForKey(GSVEngine.ERROR_DICTIONARY_KEY) != null){
            return   (NSDictionary)exception().userInfo().objectForKey(GSVEngine.ERROR_DICTIONARY_KEY);
        }
        return null;
    }

    public NSArray messages(){
        if( showAllErrors() ){
            NSDictionary md = messageDictionary();
            if( md != null ) return md.allValues();
            else return NSArray.EmptyArray;
        } else {
            NSMutableArray array = new NSMutableArray();
            NSDictionary d2 = exception().userInfo();
            if( d2 != null ){
                NSDictionary d = (NSDictionary)d2.objectForKey(GSVEngine.ERROR_DICTIONARY_KEY);
                if( d != null ){
                    if( attributeKeys() != null ){
                        for( int i=0;i<attributeKeys().count();i++){
                            array.addObjectsFromArray((NSArray)d.objectForKey( attributeKeys().objectAtIndex(i) ));
                        }
                    }
                }
            }
            return array;
        }
    }

}
TOP

Related Classes of com.gammastream.validity.GSVExceptionRepetition

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.