1/* 2* Conditions Of Use 3* 4* This software was developed by employees of the National Institute of 5* Standards and Technology (NIST), an agency of the Federal Government. 6* Pursuant to title 15 Untied States Code Section 105, works of NIST 7* employees are not subject to copyright protection in the United States 8* and are considered to be in the public domain. As a result, a formal 9* license is not needed to use the software. 10* 11* This software is provided by NIST as a service and is expressly 12* provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED 13* OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF 14* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT 15* AND DATA ACCURACY. NIST does not warrant or make any representations 16* regarding the use of the software or the results thereof, including but 17* not limited to the correctness, accuracy, reliability or usefulness of 18* the software. 19* 20* Permission to use this software is contingent upon your acceptance 21* of the terms of this agreement 22* 23* . 24* 25*/ 26/******************************************************************************* 27* Product of NIST/ITL Advanced Networking Technologies Division (ANTD). * 28*******************************************************************************/ 29package gov.nist.javax.sip.address; 30import gov.nist.core.*; 31import java.util.ListIterator; 32import java.util.LinkedList; 33import java.util.Iterator; 34import java.lang.reflect.*; 35 36/** 37* Root class for all the collection objects in this list: 38* a wrapper class on the GenericObjectList class for lists of objects 39* that can appear in NetObjects. 40* IMPORTANT NOTE: NetObjectList cannot derive from NetObject as this 41* will screw up the way in which we attach objects to headers. 42* 43*@version 1.2 $Revision: 1.8 $ $Date: 2009/07/17 18:57:22 $ 44* 45*@author M. Ranganathan <br/> 46* 47* 48* 49*/ 50public class NetObjectList extends GenericObjectList { 51 52 53 /** 54 * 55 */ 56 private static final long serialVersionUID = -1551780600806959023L; 57 58 /** 59 * Construct a NetObject List given a list name. 60 * @param lname String to set 61 */ 62 public NetObjectList(String lname) { 63 super(lname); 64 } 65 66 /** 67 * Construct a NetObject List given a list name and a class for 68 * the objects that go into the list. 69 * @param lname String to set 70 * @param cname Class to set 71 */ 72 public NetObjectList(String lname, Class<?> cname) { 73 super(lname, cname); 74 } 75 76 77 78 /** 79 * Construct an empty NetObjectList. 80 */ 81 public NetObjectList() { 82 super(); 83 } 84 85 /** 86 * Add a new object to the list. 87 * @param obj NetObject to set 88 */ 89 public void add(NetObject obj) { 90 super.add(obj); 91 } 92 93 /** concatenate the two Lists 94 * @param net_obj_list NetObjectList to set 95 */ 96 public void concatenate(NetObjectList net_obj_list) { 97 super.concatenate(net_obj_list); 98 } 99 100 101 102 /** returns the first element 103 * @return GenericObject 104 */ 105 public GenericObject first() { 106 return (NetObject) super.first(); 107 } 108 109 110 111 /** returns the next element 112 * @return GenericObject 113 */ 114 public GenericObject next() { 115 return (NetObject) super.next(); 116 } 117 118 /** returns the next element 119 * @param li ListIterator to set 120 * @return GenericObject 121 */ 122 public GenericObject next(ListIterator li) { 123 return (NetObject) super.next(li); 124 } 125 126 127 128 /** set the class 129 * @param cl Class to set 130 */ 131 public void setMyClass(Class cl) { 132 super.setMyClass(cl); 133 } 134 135 /** 136 * Convert to a string given an indentation(for pretty printing). 137 * @param indent int to set 138 * @return String 139 */ 140 public String debugDump(int indent) { 141 return super.debugDump(indent); 142 } 143 144 /** 145 * Encode this to a string. 146 * 147 *@return a string representation for this object. 148 */ 149 public String toString() { 150 return this.encode(); 151 } 152} 153