1 /******************************************************************************* 2 * Copyright (c) 2000, 2004 IBM Corporation and others. 3 * All rights reserved. This program and the accompanying materials 4 * are made available under the terms of the Common Public License v1.0 5 * which accompanies this distribution, and is available at 6 * http://www.eclipse.org/legal/cpl-v10.html 7 * 8 * Contributors: 9 * IBM Corporation - initial API and implementation 10 *******************************************************************************/ 11 package net.sourceforge.phpdt.internal.core.util; 12 13 import org.eclipse.jface.text.IDocument; 14 import org.eclipse.jface.text.IDocumentListener; 15 import org.eclipse.jface.text.IDocumentPartitioner; 16 import org.eclipse.jface.text.IDocumentPartitioningListener; 17 import org.eclipse.jface.text.IPositionUpdater; 18 import org.eclipse.jface.text.IRegion; 19 import org.eclipse.jface.text.ITypedRegion; 20 import org.eclipse.jface.text.Position; 21 22 /** 23 * Minimal implementation of IDocument to apply text edit onto a string. 24 */ 25 public class SimpleDocument implements IDocument { 26 27 private StringBuffer buffer; 28 SimpleDocument(String source)29 public SimpleDocument(String source) { 30 this.buffer = new StringBuffer(source); 31 } 32 33 /* 34 * (non-Javadoc) 35 * 36 * @see org.eclipse.jface.text.IDocument#getChar(int) 37 */ getChar(int offset)38 public char getChar(int offset) { 39 return 0; 40 } 41 42 /* 43 * (non-Javadoc) 44 * 45 * @see org.eclipse.jface.text.IDocument#getLength() 46 */ getLength()47 public int getLength() { 48 return this.buffer.length(); 49 } 50 51 /* 52 * (non-Javadoc) 53 * 54 * @see org.eclipse.jface.text.IDocument#get() 55 */ get()56 public String get() { 57 return this.buffer.toString(); 58 } 59 60 /* 61 * (non-Javadoc) 62 * 63 * @see org.eclipse.jface.text.IDocument#get(int, int) 64 */ get(int offset, int length)65 public String get(int offset, int length) { 66 return this.buffer.substring(offset, offset + length); 67 } 68 69 /* 70 * (non-Javadoc) 71 * 72 * @see org.eclipse.jface.text.IDocument#set(java.lang.String) 73 */ set(String text)74 public void set(String text) { 75 // defining interface method 76 } 77 78 /* 79 * (non-Javadoc) 80 * 81 * @see org.eclipse.jface.text.IDocument#replace(int, int, java.lang.String) 82 */ replace(int offset, int length, String text)83 public void replace(int offset, int length, String text) { 84 85 this.buffer.replace(offset, offset + length, text); 86 } 87 88 /* 89 * (non-Javadoc) 90 * 91 * @see org.eclipse.jface.text.IDocument#addDocumentListener(org.eclipse.jface.text.IDocumentListener) 92 */ addDocumentListener(IDocumentListener listener)93 public void addDocumentListener(IDocumentListener listener) { 94 // defining interface method 95 } 96 97 /* 98 * (non-Javadoc) 99 * 100 * @see org.eclipse.jface.text.IDocument#removeDocumentListener(org.eclipse.jface.text.IDocumentListener) 101 */ removeDocumentListener(IDocumentListener listener)102 public void removeDocumentListener(IDocumentListener listener) { 103 // defining interface method 104 } 105 106 /* 107 * (non-Javadoc) 108 * 109 * @see org.eclipse.jface.text.IDocument#addPrenotifiedDocumentListener(org.eclipse.jface.text.IDocumentListener) 110 */ addPrenotifiedDocumentListener(IDocumentListener documentAdapter)111 public void addPrenotifiedDocumentListener(IDocumentListener documentAdapter) { 112 // defining interface method 113 } 114 115 /* 116 * (non-Javadoc) 117 * 118 * @see org.eclipse.jface.text.IDocument#removePrenotifiedDocumentListener(org.eclipse.jface.text.IDocumentListener) 119 */ removePrenotifiedDocumentListener( IDocumentListener documentAdapter)120 public void removePrenotifiedDocumentListener( 121 IDocumentListener documentAdapter) { 122 // defining interface method 123 } 124 125 /* 126 * (non-Javadoc) 127 * 128 * @see org.eclipse.jface.text.IDocument#addPositionCategory(java.lang.String) 129 */ addPositionCategory(String category)130 public void addPositionCategory(String category) { 131 // defining interface method 132 } 133 134 /* 135 * (non-Javadoc) 136 * 137 * @see org.eclipse.jface.text.IDocument#removePositionCategory(java.lang.String) 138 */ removePositionCategory(String category)139 public void removePositionCategory(String category) { 140 // defining interface method 141 } 142 143 /* 144 * (non-Javadoc) 145 * 146 * @see org.eclipse.jface.text.IDocument#getPositionCategories() 147 */ getPositionCategories()148 public String[] getPositionCategories() { 149 // defining interface method 150 return null; 151 } 152 153 /* 154 * (non-Javadoc) 155 * 156 * @see org.eclipse.jface.text.IDocument#containsPositionCategory(java.lang.String) 157 */ containsPositionCategory(String category)158 public boolean containsPositionCategory(String category) { 159 // defining interface method 160 return false; 161 } 162 163 /* 164 * (non-Javadoc) 165 * 166 * @see org.eclipse.jface.text.IDocument#addPosition(org.eclipse.jface.text.Position) 167 */ addPosition(Position position)168 public void addPosition(Position position) { 169 // defining interface method 170 } 171 172 /* 173 * (non-Javadoc) 174 * 175 * @see org.eclipse.jface.text.IDocument#removePosition(org.eclipse.jface.text.Position) 176 */ removePosition(Position position)177 public void removePosition(Position position) { 178 // defining interface method 179 } 180 181 /* 182 * (non-Javadoc) 183 * 184 * @see org.eclipse.jface.text.IDocument#addPosition(java.lang.String, 185 * org.eclipse.jface.text.Position) 186 */ addPosition(String category, Position position)187 public void addPosition(String category, Position position) { 188 // defining interface method 189 } 190 191 /* 192 * (non-Javadoc) 193 * 194 * @see org.eclipse.jface.text.IDocument#removePosition(java.lang.String, 195 * org.eclipse.jface.text.Position) 196 */ removePosition(String category, Position position)197 public void removePosition(String category, Position position) { 198 // defining interface method 199 } 200 201 /* 202 * (non-Javadoc) 203 * 204 * @see org.eclipse.jface.text.IDocument#getPositions(java.lang.String) 205 */ getPositions(String category)206 public Position[] getPositions(String category) { 207 // defining interface method 208 return null; 209 } 210 211 /* 212 * (non-Javadoc) 213 * 214 * @see org.eclipse.jface.text.IDocument#containsPosition(java.lang.String, 215 * int, int) 216 */ containsPosition(String category, int offset, int length)217 public boolean containsPosition(String category, int offset, int length) { 218 // defining interface method 219 return false; 220 } 221 222 /* 223 * (non-Javadoc) 224 * 225 * @see org.eclipse.jface.text.IDocument#computeIndexInCategory(java.lang.String, 226 * int) 227 */ computeIndexInCategory(String category, int offset)228 public int computeIndexInCategory(String category, int offset) { 229 // defining interface method 230 return 0; 231 } 232 233 /* 234 * (non-Javadoc) 235 * 236 * @see org.eclipse.jface.text.IDocument#addPositionUpdater(org.eclipse.jface.text.IPositionUpdater) 237 */ addPositionUpdater(IPositionUpdater updater)238 public void addPositionUpdater(IPositionUpdater updater) { 239 // defining interface method 240 } 241 242 /* 243 * (non-Javadoc) 244 * 245 * @see org.eclipse.jface.text.IDocument#removePositionUpdater(org.eclipse.jface.text.IPositionUpdater) 246 */ removePositionUpdater(IPositionUpdater updater)247 public void removePositionUpdater(IPositionUpdater updater) { 248 // defining interface method 249 } 250 251 /* 252 * (non-Javadoc) 253 * 254 * @see org.eclipse.jface.text.IDocument#insertPositionUpdater(org.eclipse.jface.text.IPositionUpdater, 255 * int) 256 */ insertPositionUpdater(IPositionUpdater updater, int index)257 public void insertPositionUpdater(IPositionUpdater updater, int index) { 258 // defining interface method 259 } 260 261 /* 262 * (non-Javadoc) 263 * 264 * @see org.eclipse.jface.text.IDocument#getPositionUpdaters() 265 */ getPositionUpdaters()266 public IPositionUpdater[] getPositionUpdaters() { 267 // defining interface method 268 return null; 269 } 270 271 /* 272 * (non-Javadoc) 273 * 274 * @see org.eclipse.jface.text.IDocument#getLegalContentTypes() 275 */ getLegalContentTypes()276 public String[] getLegalContentTypes() { 277 // defining interface method 278 return null; 279 } 280 281 /* 282 * (non-Javadoc) 283 * 284 * @see org.eclipse.jface.text.IDocument#getContentType(int) 285 */ getContentType(int offset)286 public String getContentType(int offset) { 287 // defining interface method 288 return null; 289 } 290 291 /* 292 * (non-Javadoc) 293 * 294 * @see org.eclipse.jface.text.IDocument#getPartition(int) 295 */ getPartition(int offset)296 public ITypedRegion getPartition(int offset) { 297 // defining interface method 298 return null; 299 } 300 301 /* 302 * (non-Javadoc) 303 * 304 * @see org.eclipse.jface.text.IDocument#computePartitioning(int, int) 305 */ computePartitioning(int offset, int length)306 public ITypedRegion[] computePartitioning(int offset, int length) { 307 // defining interface method 308 return null; 309 } 310 311 /* 312 * (non-Javadoc) 313 * 314 * @see org.eclipse.jface.text.IDocument#addDocumentPartitioningListener(org.eclipse.jface.text.IDocumentPartitioningListener) 315 */ addDocumentPartitioningListener( IDocumentPartitioningListener listener)316 public void addDocumentPartitioningListener( 317 IDocumentPartitioningListener listener) { 318 // defining interface method 319 } 320 321 /* 322 * (non-Javadoc) 323 * 324 * @see org.eclipse.jface.text.IDocument#removeDocumentPartitioningListener(org.eclipse.jface.text.IDocumentPartitioningListener) 325 */ removeDocumentPartitioningListener( IDocumentPartitioningListener listener)326 public void removeDocumentPartitioningListener( 327 IDocumentPartitioningListener listener) { 328 // defining interface method 329 } 330 331 /* 332 * (non-Javadoc) 333 * 334 * @see org.eclipse.jface.text.IDocument#setDocumentPartitioner(org.eclipse.jface.text.IDocumentPartitioner) 335 */ setDocumentPartitioner(IDocumentPartitioner partitioner)336 public void setDocumentPartitioner(IDocumentPartitioner partitioner) { 337 // defining interface method 338 } 339 340 /* 341 * (non-Javadoc) 342 * 343 * @see org.eclipse.jface.text.IDocument#getDocumentPartitioner() 344 */ getDocumentPartitioner()345 public IDocumentPartitioner getDocumentPartitioner() { 346 // defining interface method 347 return null; 348 } 349 350 /* 351 * (non-Javadoc) 352 * 353 * @see org.eclipse.jface.text.IDocument#getLineLength(int) 354 */ getLineLength(int line)355 public int getLineLength(int line) { 356 // defining interface method 357 return 0; 358 } 359 360 /* 361 * (non-Javadoc) 362 * 363 * @see org.eclipse.jface.text.IDocument#getLineOfOffset(int) 364 */ getLineOfOffset(int offset)365 public int getLineOfOffset(int offset) { 366 // defining interface method 367 return 0; 368 } 369 370 /* 371 * (non-Javadoc) 372 * 373 * @see org.eclipse.jface.text.IDocument#getLineOffset(int) 374 */ getLineOffset(int line)375 public int getLineOffset(int line) { 376 // defining interface method 377 return 0; 378 } 379 380 /* 381 * (non-Javadoc) 382 * 383 * @see org.eclipse.jface.text.IDocument#getLineInformation(int) 384 */ getLineInformation(int line)385 public IRegion getLineInformation(int line) { 386 // defining interface method 387 return null; 388 } 389 390 /* 391 * (non-Javadoc) 392 * 393 * @see org.eclipse.jface.text.IDocument#getLineInformationOfOffset(int) 394 */ getLineInformationOfOffset(int offset)395 public IRegion getLineInformationOfOffset(int offset) { 396 // defining interface method 397 return null; 398 } 399 400 /* 401 * (non-Javadoc) 402 * 403 * @see org.eclipse.jface.text.IDocument#getNumberOfLines() 404 */ getNumberOfLines()405 public int getNumberOfLines() { 406 // defining interface method 407 return 0; 408 } 409 410 /* 411 * (non-Javadoc) 412 * 413 * @see org.eclipse.jface.text.IDocument#getNumberOfLines(int, int) 414 */ getNumberOfLines(int offset, int length)415 public int getNumberOfLines(int offset, int length) { 416 // defining interface method 417 return 0; 418 } 419 420 /* 421 * (non-Javadoc) 422 * 423 * @see org.eclipse.jface.text.IDocument#computeNumberOfLines(java.lang.String) 424 */ computeNumberOfLines(String text)425 public int computeNumberOfLines(String text) { 426 // defining interface method 427 return 0; 428 } 429 430 /* 431 * (non-Javadoc) 432 * 433 * @see org.eclipse.jface.text.IDocument#getLegalLineDelimiters() 434 */ getLegalLineDelimiters()435 public String[] getLegalLineDelimiters() { 436 // defining interface method 437 return null; 438 } 439 440 /* 441 * (non-Javadoc) 442 * 443 * @see org.eclipse.jface.text.IDocument#getLineDelimiter(int) 444 */ getLineDelimiter(int line)445 public String getLineDelimiter(int line) { 446 // defining interface method 447 return null; 448 } 449 450 /** 451 * @see org.eclipse.jface.text.IDocument#search(int, java.lang.String, 452 * boolean, boolean, boolean) 453 * @deprecated 454 */ search(int startOffset, String findString, boolean forwardSearch, boolean caseSensitive, boolean wholeWord)455 public int search(int startOffset, String findString, 456 boolean forwardSearch, boolean caseSensitive, boolean wholeWord) { 457 // defining interface method 458 return 0; 459 } 460 461 } 462