1 26 27 package it.stefanochizzolini.clown.objects; 28 29 import it.stefanochizzolini.clown.bytes.IOutputStream; 30 import it.stefanochizzolini.clown.files.File; 31 import it.stefanochizzolini.clown.util.NotImplementedException; 32 33 import java.util.ArrayList ; 34 import java.util.Collection ; 35 import java.util.Iterator ; 36 import java.util.List ; 37 import java.util.ListIterator ; 38 39 42 public class PdfArray 43 extends PdfDirectObject 44 implements List <PdfDirectObject> 45 { 46 private ArrayList <PdfDirectObject> items; 50 52 public PdfArray( 54 ) 55 {items = new ArrayList <PdfDirectObject>();} 56 57 public PdfArray( 58 int capacity 59 ) 60 {items = new ArrayList <PdfDirectObject>(capacity);} 61 62 public PdfArray( 63 PdfDirectObject[] items 64 ) 65 { 66 this(items.length); 67 68 for(PdfDirectObject item : items) 69 {this.items.add(item);} 70 } 71 73 @Override 76 public Object clone( 77 File context 78 ) 79 { 80 PdfArray clone = new PdfArray(items.size()); 82 83 for(PdfDirectObject item : items) 84 {clone.add((PdfDirectObject)item.clone(context));} 85 86 return clone; 87 } 88 89 @Override 90 public String toPdf( 91 ) 92 {throw new NotImplementedException();} 93 94 @Override 95 public String toString( 96 ) 97 { 98 StringBuilder buffer = new StringBuilder (); 99 100 buffer.append("[ "); 102 103 for(PdfDirectObject item : items) 105 {buffer.append(item.toString() + " ");} 106 107 buffer.append("]"); 109 110 return buffer.toString(); 111 } 112 113 public void add( 115 int index, 116 PdfDirectObject object 117 ) 118 {items.add(index,object);} 119 120 public boolean addAll( 121 int index, 122 Collection <? extends PdfDirectObject> objects 123 ) 124 {return items.addAll(index,objects);} 125 126 public PdfDirectObject get( 127 int index 128 ) 129 {return items.get(index);} 130 131 public int indexOf( 132 Object object 133 ) 134 {return items.indexOf(object);} 135 136 public int lastIndexOf( 137 Object object 138 ) 139 {return items.lastIndexOf(object);} 140 141 public ListIterator <PdfDirectObject> listIterator( 142 ) 143 {return items.listIterator();} 144 145 public ListIterator <PdfDirectObject> listIterator( 146 int index 147 ) 148 {return items.listIterator(index);} 149 150 public PdfDirectObject remove( 151 int index 152 ) 153 {return items.remove(index);} 154 155 public PdfDirectObject set( 156 int index, 157 PdfDirectObject object 158 ) 159 {return items.set(index,object);} 160 161 public List <PdfDirectObject> subList( 162 int fromIndex, 163 int toIndex 164 ) 165 {return items.subList(fromIndex,toIndex);} 166 167 public boolean add( 169 PdfDirectObject object 170 ) 171 {return items.add(object);} 172 173 public boolean addAll( 174 Collection <? extends PdfDirectObject> objects 175 ) 176 {return items.addAll(objects);} 177 178 public void clear( 179 ) 180 {items.clear();} 181 182 public boolean contains( 183 Object object 184 ) 185 {return items.contains(object);} 186 187 public boolean containsAll( 188 Collection <?> objects 189 ) 190 {return items.containsAll(objects);} 191 192 public boolean equals( 193 PdfDirectObject object 194 ) 195 {throw new NotImplementedException();} 196 197 public int hashCode( 198 ) 199 {return items.hashCode();} 200 201 public boolean isEmpty( 202 ) 203 {return items.isEmpty();} 204 205 public boolean remove( 206 Object object 207 ) 208 {return items.remove(object);} 209 210 public boolean removeAll( 211 Collection <?> objects 212 ) 213 {return items.removeAll(objects);} 214 215 public boolean retainAll( 216 Collection <?> objects 217 ) 218 {return items.retainAll(objects);} 219 220 public int size( 221 ) 222 {return items.size();} 223 224 public PdfDirectObject[] toArray( 225 ) 226 {return (PdfDirectObject[])items.toArray();} 227 228 public <PdfDirectObject> PdfDirectObject[] toArray( 229 PdfDirectObject[] objects 230 ) 231 {return (PdfDirectObject[])items.toArray(objects);} 232 233 public Iterator <PdfDirectObject> iterator( 235 ) 236 {return items.iterator();} 237 242 int writeTo( 244 IOutputStream stream 245 ) 246 { 247 int size = stream.write("[ "); 249 250 for( 252 PdfDirectObject item : items 253 ) 254 { 255 size += item.writeTo(stream); 256 size += stream.write(" "); 257 } 258 259 size += stream.write("]"); 261 262 return size; 263 } 264 } | Popular Tags |