package jdepend.server.service; import java.rmi.Remote; import java.util.Collection; import jdepend.metadata.JavaPackage; import jdepend.model.result.AnalysisResult; import jdepend.server.service.session.JDependRequest; /** * 远程后台服务接口 * * @author <b>Abner</b> * */ public interface JDependRemoteService extends Remote { /** * 分析服务 * * @param request * @param data * @return * @throws java.rmi.RemoteException */ public abstract AnalysisResult analyze(JDependRequest request, AnalyseDataDTO data) throws java.rmi.RemoteException; /** * 获得远程分析进度 * * @param request * @return * @throws java.rmi.RemoteException */ public abstract int getAnalyzeSchedule(JDependRequest request) throws java.rmi.RemoteException; /** * 得到分析目标包含的包集合 * * @param data * @param request * @return * @throws java.rmi.RemoteException */ public abstract Collection<JavaPackage> getPackages(JDependRequest request, AnalyseDataDTO data) throws java.rmi.RemoteException; }