153295844df24dff0a1f59e1104795e640b54c2efchrismair/* 253295844df24dff0a1f59e1104795e640b54c2efchrismair * Copyright 2007 the original author or authors. 353295844df24dff0a1f59e1104795e640b54c2efchrismair * 453295844df24dff0a1f59e1104795e640b54c2efchrismair * Licensed under the Apache License, Version 2.0 (the "License"); 553295844df24dff0a1f59e1104795e640b54c2efchrismair * you may not use this file except in compliance with the License. 653295844df24dff0a1f59e1104795e640b54c2efchrismair * You may obtain a copy of the License at 753295844df24dff0a1f59e1104795e640b54c2efchrismair * 853295844df24dff0a1f59e1104795e640b54c2efchrismair * http://www.apache.org/licenses/LICENSE-2.0 953295844df24dff0a1f59e1104795e640b54c2efchrismair * 1053295844df24dff0a1f59e1104795e640b54c2efchrismair * Unless required by applicable law or agreed to in writing, software 1153295844df24dff0a1f59e1104795e640b54c2efchrismair * distributed under the License is distributed on an "AS IS" BASIS, 1253295844df24dff0a1f59e1104795e640b54c2efchrismair * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1353295844df24dff0a1f59e1104795e640b54c2efchrismair * See the License for the specific language governing permissions and 1453295844df24dff0a1f59e1104795e640b54c2efchrismair * limitations under the License. 1553295844df24dff0a1f59e1104795e640b54c2efchrismair */ 1653295844df24dff0a1f59e1104795e640b54c2efchrismairpackage org.mockftpserver.core.command; 1753295844df24dff0a1f59e1104795e640b54c2efchrismair 1853295844df24dff0a1f59e1104795e640b54c2efchrismair/** 1953295844df24dff0a1f59e1104795e640b54c2efchrismair * Interface for an object that can retrieve and clear the history of InvocationRecords 2053295844df24dff0a1f59e1104795e640b54c2efchrismair * for a command handler. 2153295844df24dff0a1f59e1104795e640b54c2efchrismair * 2253295844df24dff0a1f59e1104795e640b54c2efchrismair * @version $Revision$ - $Date$ 2353295844df24dff0a1f59e1104795e640b54c2efchrismair * 2453295844df24dff0a1f59e1104795e640b54c2efchrismair * @author Chris Mair 2553295844df24dff0a1f59e1104795e640b54c2efchrismair */ 2653295844df24dff0a1f59e1104795e640b54c2efchrismairpublic interface InvocationHistory { 2753295844df24dff0a1f59e1104795e640b54c2efchrismair 2853295844df24dff0a1f59e1104795e640b54c2efchrismair /** 2953295844df24dff0a1f59e1104795e640b54c2efchrismair * @return the number of invocation records stored for this command handler instance 3053295844df24dff0a1f59e1104795e640b54c2efchrismair */ 3153295844df24dff0a1f59e1104795e640b54c2efchrismair public int numberOfInvocations(); 3253295844df24dff0a1f59e1104795e640b54c2efchrismair 3353295844df24dff0a1f59e1104795e640b54c2efchrismair /** 3453295844df24dff0a1f59e1104795e640b54c2efchrismair * Return the InvocationRecord representing the command invoction data for the nth invocation 3553295844df24dff0a1f59e1104795e640b54c2efchrismair * for this command handler instance. One InvocationRecord should be stored for each invocation 3653295844df24dff0a1f59e1104795e640b54c2efchrismair * of the CommandHandler. 3753295844df24dff0a1f59e1104795e640b54c2efchrismair * 3853295844df24dff0a1f59e1104795e640b54c2efchrismair * @param index - the index of the invocation record to return. The first record is at index zero. 3953295844df24dff0a1f59e1104795e640b54c2efchrismair * @return the InvocationRecord for the specified index 4053295844df24dff0a1f59e1104795e640b54c2efchrismair * 4153295844df24dff0a1f59e1104795e640b54c2efchrismair * @throws AssertFailedException - if there is no invocation record corresponding to the specified index */ 4253295844df24dff0a1f59e1104795e640b54c2efchrismair public InvocationRecord getInvocation(int index); 4353295844df24dff0a1f59e1104795e640b54c2efchrismair 4453295844df24dff0a1f59e1104795e640b54c2efchrismair /** 4553295844df24dff0a1f59e1104795e640b54c2efchrismair * Clear out the invocation history for this CommandHandler. After invoking this method, the 4653295844df24dff0a1f59e1104795e640b54c2efchrismair * <code>numberOfInvocations()</code> method will return zero. 4753295844df24dff0a1f59e1104795e640b54c2efchrismair */ 4853295844df24dff0a1f59e1104795e640b54c2efchrismair public void clearInvocations(); 4953295844df24dff0a1f59e1104795e640b54c2efchrismair 5053295844df24dff0a1f59e1104795e640b54c2efchrismair}