Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package org.openl.rules.repository.jcr;
  
  import java.util.Calendar;
  import java.util.Date;
  
  import javax.jcr.Node;
  import javax.jcr.Property;
 
 
 public class JcrProperty implements org.openl.rules.common.Property {
     private static final long serialVersionUID = -8880025417798262825L;
     private Node node;
     private String name;
     private ValueType type;
     private Object value;
 
     protected JcrProperty(Node nodeProperty pthrows RepositoryException {
         this. = node;
          = p.getName();
 
         Value v = p.getValue();
         switch (v.getType()) {
             case .:
                  = v.getDate().getTime();
                  = .;
                 break;
             case .:
                  = v.getBoolean();
                  = .;
                 break;
             default:
                  = v.getString();
                  = .;
         }
     }
 
     protected JcrProperty(Node nodeString nameValueType typeObject valuethrows RRepositoryException {
         this. = node;
         this. = name;
         this. = type;
         this. = value;
 
         try {
             switch (type) {
                 case :
                     Calendar c = date2Calendar((Datevalue);
                     node.setProperty(namec);
                     break;
                 case :
                     node.setProperty(name, (Boolean)value);
                     break;
                 default:
                     // STRING
                     node.setProperty(namevalue.toString());
             }
         } catch (RepositoryException e) {
             e.printStackTrace();
             throw new RRepositoryException("Cannot create property ''{0}''."ename);
         }
     }
 
     private Calendar date2Calendar(Date d) {
         Calendar c = Calendar.getInstance();
         c.setTime(d);
         return c;
     }
 
     public String getName() {
         return ;
     }
 
     public ValueType getType() {
         return ;
     }
 
     public Object getValue() {
         return ;
     }
 
     // --- private
 
     public void setValue(Object valuethrows RRepositoryException {
         try {
             Property p = .getProperty();
 
             switch () {
                 case :
                     Calendar c = date2Calendar((Datevalue);
 
                     p.setValue(c);
                     break;
                 default:
                     // STRING
                    p.setValue(value.toString());
            }
            this. = value;
        } catch (RepositoryException e) {
            throw new RRepositoryException("Cannot set value for ''{0}''."e);
        }
    }
    protected void checkType(ValueType typethrows PropertyException {
        if (this. != type) {
            throw new PropertyException("Property has {0} type"nullthis.);
        }
    }
    public Date getDate() throws PropertyException {
        checkType(.);
        return (Date;
    }
    public String getString() {
        return .toString();
    }
    
    public void setValue(Date valuethrows PropertyException {
        checkType(.);
        this. = value;
    }
    public void setValue(String valuethrows PropertyException {
        checkType(.);
        this. = value;
    }
New to GrepCode? Check out our FAQ X