Package er.corebusinesslogic

Source Code of er.corebusinesslogic.ERCPreference$ERCPreferenceClazz

// ERCPreference.java
// (c) by Anjo Krank (ak@kcmedia.ag)
package er.corebusinesslogic;
import org.apache.log4j.Logger;

import com.webobjects.eocontrol.EOEditingContext;
import com.webobjects.eocontrol.EOKeyValueUnarchiver;
import com.webobjects.eocontrol.EOQualifier;
import com.webobjects.foundation.NSArray;
import com.webobjects.foundation.NSDictionary;
import com.webobjects.foundation.NSPropertyListSerialization;

import er.extensions.eof.EOEnterpriseObjectClazz;
import er.extensions.eof.ERXQ;

public class ERCPreference extends _ERCPreference {
  /**
   * Do I need to update serialVersionUID?
   * See section 5.6 <cite>Type Changes Affecting Serialization</cite> on page 51 of the
   * <a href="http://java.sun.com/j2se/1.4/pdf/serial-spec.pdf">Java Object Serialization Spec</a>
   */
  private static final long serialVersionUID = 1L;

    static final Logger log = Logger.getLogger(ERCPreference.class);
    private final static String VALUE="_V";

    public ERCPreference() {
        super();
    }

    @Override
    public void init(EOEditingContext ec) {
        super.init(ec);
    }
   
   
    @Override
    public String userPresentableDescription() {
        return key() + ": " + decodedValue();
    }

    protected Object decodedValue() {
        NSDictionary d = (NSDictionary )NSPropertyListSerialization.propertyListFromString(value());
        if(d != null) {
            EOKeyValueUnarchiver u = new EOKeyValueUnarchiver(d);
            return u.decodeObjectForKey(VALUE);
        }
        return null;
    }   

    // Class methods go here
   
    public static class ERCPreferenceClazz extends _ERCPreferenceClazz {

        public NSArray preferencesWithKey(EOEditingContext ec, String key) {
        return objectsMatchingKeyAndValue(ec, Key.KEY, key);
      }
     
        public NSArray<ERCPreference> userPrefsWithKeyId(EOEditingContext ec, String key, Number id) {
            EOQualifier q = ERXQ.and(ERXQ.equals(Key.USER_ID, id), ERXQ.equals(Key.KEY, key));
        return objectsMatchingQualifier(ec, q);
      }
    }

    public static ERCPreferenceClazz preferenceClazz() { return (ERCPreferenceClazz)EOEnterpriseObjectClazz.clazzForEntityNamed("ERCPreference"); }
}
TOP

Related Classes of er.corebusinesslogic.ERCPreference$ERCPreferenceClazz

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.