⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 assembler.java

📁 一个java工作流引擎
💻 JAVA
字号:
package org.jbpm;

import java.io.*;

/**
 * creates data tranfer objects (DTO) (also known as Value Objects) from the domain implementation objects.
 * 
 * <p>The objects returned by the jbpm services are part of a larger graph.  E.g. when a 
 * {@link org.jbpm.model.execution.Token} is returned, you could do something like e.g. :
 * <code>token.getProcessInstance().getDefinition().getNodes()</code>.  If the jbpm services 
 * would return the complete graph for every object that we return to the jbpm clients, 
 * performance would be really bad.   To avoid that we have to read almost the complete 
 * database before returning an object, only a part of the graph is available on the objects 
 * returned by jbpm.
 * </p>
 * 
 * <p>jBpm uses <a href="http://hibernate.org">hibernate</a> as its O/R-mapper.  The default 
 * part of the graph that jBpm returns corresponds to the default graph that hibernate provides
 * us with.  This means that all related objects are fetched, but collections are stubbed.
 * So suppose again that a {@link org.jbpm.model.execution.Token} is returned.  By default, 
 * all the token properties such as id, name, actorId, start, end and hasEnded will be 
 * available.  Also the related objects parent, processInstance and state will be available.
 * But the collections children, variables and invocationLogs will not be available.  When 
 * you try to use these collections you'll get a LazyInitialisationException from hibernate.
 * </p>
 * 
 * <p>An assembler gives you the ability to fetch all related objects (also collections)
 * inside of the jBpm API method call.  In the jBpm service methods before the session 
 * with the database is closed, the assembler is asked to assemble the return object.  
 * This is the opportunity to fetch all related objects from the database.   
 * </p>
 * 
 * <p>jBpm provides one implementation that can be conveniently created with 
 * a property-name-dot-separated notation : {@link PropertyAssembler}
 * </p>
 * 
 * <p>TODO : Note that we'll change the interface slightly in one of the next beta 
 * releases.  The assemble method will return the object.  That allows the assembler
 * to completly replace the object.
 * </p>
 */
public interface Assembler extends Serializable {
  void assemble( Object object );
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -