/* OperationAgentBuilder.java
Purpose:
Description:
History:
Mar 20, 2012 Created by pao
Copyright (C) 2011 Potix Corporation. All Rights Reserved.
*/
package org.zkoss.zats.mimic.impl;
import org.zkoss.zats.mimic.Agent;
import org.zkoss.zats.mimic.operation.OperationAgent;
/**
* Create an {@link OperationAgent} object for one or a group of ZK components.
*
* @author pao
* @author dennis
*/
public interface OperationAgentBuilder<A extends Agent,O extends OperationAgent> {
/**
* This method create and return a specific implementation of {@link OperationAgent} object for specified OperationAgent class.
* Similar to factory pattern.
* @param agent
* @return the operation agent
*/
O getOperation(A agent);
/**
* Provide class information for registration.
*
* @return a sub-class of {@link OperationAgent}
*/
Class<O> getOperationClass();
}