Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: org/jbpm/workflow/log/impl/ObjectReferenceImpl.java


1   package org.jbpm.workflow.log.impl;
2   
3   import org.apache.log4j.*;
4   import org.jbpm.util.db.*;
5   import org.jbpm.workflow.log.*;
6   
7   /**
8    * @hibernate.subclass discriminator-value="ObjectReference"
9    */
10  public class ObjectReferenceImpl extends LogDetailImpl implements ObjectReference {
11    
12    public ObjectReferenceImpl() {}
13  
14    public ObjectReferenceImpl( PersistentObject persistentObject ) {
15      this.referenceId = persistentObject.getId();
16      this.className = persistentObject.getClass().getName();
17    }
18    
19    public void resolve( DbSession dbSession ) {
20      try {
21        log.debug( "resolving object reference : " + referenceId + " : " + this.className );
22        Class clazz = ObjectReferenceImpl.class.getClassLoader().loadClass(this.className);
23        object = dbSession.load( clazz, referenceId );
24      } catch (ClassNotFoundException e) {
25        e.printStackTrace();
26      }
27    }
28    
29    public Object getObject() {
30      return object;
31    }
32    
33    /**
34     * @hibernate.property type="long" column="long_"
35     */
36    public Long getReferenceId() { return this.referenceId; }
37    public void setReferenceId(Long referenceId) { this.referenceId = referenceId; }
38    
39    /**
40     * @hibernate.property type="string" column="className"
41     */
42    public String getClassName() { return this.className; }
43    public void setClassName(String className) { this.className = className; }
44    
45    private Long referenceId = null;
46    private String className = null;
47    private Object object = null;
48    private static final Logger log = Logger.getLogger(ObjectReferenceImpl.class);
49  }