📄 assembler.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 + -