인터페이스값을 리턴을 하려고 합니다.

rbtjdi의 이미지

다음은 인터페이스 입니다.

package simpledb;
import java.util.*;
 
/**
 * DbFileIterator is the iterator interface that all SimpleDB Dbfile should
 * implement.
 */
public interface DbFileIterator {
    /**
     * Opens the iterator
     * @throws DbException when there are problems opening/accessing the database.
     */
    public void open()
        throws DbException, TransactionAbortedException;
 
    /** @return true if there are more tuples available. */
    public boolean hasNext()
        throws DbException, TransactionAbortedException;
 
    /**
     * Gets the next tuple from the operator (typically implementing by reading
     * from a child operator or an access method).
     *
     * @return The next tuple in the iterator.
     * @throws NoSuchElementException if there are no more tuples
     */
    public Tuple next()
        throws DbException, TransactionAbortedException, NoSuchElementException;
 
    /**
     * Resets the iterator to the start.
     * @throws DbException When rewind is unsupported.
     */
    public void rewind() throws DbException, TransactionAbortedException;
 
    /**
     * Closes the iterator.
     */
    public void close();
}

다음은 자바 메소드 입니다. 이 메소드에서 리턴을 합니다.
    public DbFileIterator iterator(TransactionId tid) {
        // some code goes here
    	BufferPool bufferPool = Database.getBufferPool();    	
    	Vector vT = new Vector();    	
    	Enumeration<PageId> ePid = bufferPool.pages.keys();
    	DbFileIterator re;
    	while(ePid.hasMoreElements())
    	{
    		PageId pid = (PageId) ePid.nextElement();
    		Page page = null;
			try {
				page = bufferPool.getPage(tid, pid, Permissions.READ_ONLY);
			} catch (TransactionAbortedException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (DbException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
    		if(((HeapPage)page).td == this.td)
    		{
    			for(Tuple t : ((HeapPage)page).tuples)
    			{
    				if(t != null)
    					vT.add(t);
    			}
    		}    		
    	}
    	re = (DbFileIterator) vT.iterator(); <----------
    	return re;
    }        
}

보시는 바와 같이 (DbFileIterator) vT.iterator(); 부분에서 JUnit 테스트를 통과 못하고 에러가 납니다. 그럴만도 한것 같습니다. 벡터의 iterator값을
DbFileIterator 인터페이스로 캐스팅이 될까요?

저 인터페이스를 implements한 클래스조차 없습니다. 이런 경우 어떻게 리턴을 해줘야 하는지 정말 모르겠네요..