ContactInfoListIterator.java revision 608:7e06bf1dcb09
1/* 2 * Copyright (c) 2002, 2003, Oracle and/or its affiliates. All rights reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * This code is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License version 2 only, as 7 * published by the Free Software Foundation. Oracle designates this 8 * particular file as subject to the "Classpath" exception as provided 9 * by Oracle in the LICENSE file that accompanied this code. 10 * 11 * This code is distributed in the hope that it will be useful, but WITHOUT 12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 * version 2 for more details (a copy is included in the LICENSE file that 15 * accompanied this code). 16 * 17 * You should have received a copy of the GNU General Public License version 18 * 2 along with this work; if not, write to the Free Software Foundation, 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 * 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 * or visit www.oracle.com if you need additional information or have any 23 * questions. 24 */ 25 26package com.sun.corba.se.pept.transport; 27 28import java.util.Iterator; 29 30/** 31 * <code>ContactInfoIterator</code> is used to retrieve individual 32 * {@link com.sun.corba.se.pept.transport.ContactInfo ContactInfo}. 33 * 34 * @author Harold Carr 35 */ 36public interface ContactInfoListIterator 37 extends 38 Iterator 39{ 40 /** 41 * The underlying list for this iterator. 42 * 43 * @return The underlying list for this iterator. 44 */ 45 public ContactInfoList getContactInfoList(); 46 47 /** 48 * Used to report information to the iterator to be used 49 * in future invocations. 50 * 51 * @param contactInfo The 52 * {@link com.sun.corba.se.pept.transport.ContactInfo ContactInfo} 53 * obtained from this iterator which resulted in a successful invocation. 54 */ 55 public void reportSuccess(ContactInfo contactInfo); 56 57 /** 58 * Used to report information to the iterator to be used 59 * in future invocations. 60 * 61 * @param contactInfo The 62 * {@link com.sun.corba.se.pept.transport.ContactInfo ContactInfo} 63 * in effect when an invocation exception occurs. 64 * @param exception The 65 * {@link java.lang.RuntimeException RuntimeException}. 66 * 67 * @return Returns true if the request should be retried. 68 */ 69 public boolean reportException(ContactInfo contactInfo, 70 RuntimeException exception); 71 72 /** 73 * The exception to report to the presentation block. 74 * 75 * @return If the iterator reaches the end before the invocation 76 * is successful one returns this exception (previously reported to 77 * the iterator via {@link #reportException}). 78 79 */ 80 public RuntimeException getFailureException(); 81} 82 83// End of file. 84