• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 package org.jsoup.parser;
2 
3 import java.util.ArrayList;
4 
5 /**
6  * A container for ParseErrors.
7  *
8  * @author Jonathan Hedley
9  */
10 public class ParseErrorList extends ArrayList<ParseError>{
11     private static final int INITIAL_CAPACITY = 16;
12     private final int initialCapacity;
13     private final int maxSize;
14 
ParseErrorList(int initialCapacity, int maxSize)15     ParseErrorList(int initialCapacity, int maxSize) {
16         super(initialCapacity);
17         this.initialCapacity = initialCapacity;
18         this.maxSize = maxSize;
19     }
20 
21     /**
22      Create a new ParseErrorList with the same settings, but no errors in the list
23      @param copy initial and max size details to copy
24      */
ParseErrorList(ParseErrorList copy)25     ParseErrorList(ParseErrorList copy) {
26         this(copy.initialCapacity, copy.maxSize);
27     }
28 
canAddError()29     boolean canAddError() {
30         return size() < maxSize;
31     }
32 
getMaxSize()33     int getMaxSize() {
34         return maxSize;
35     }
36 
noTracking()37     public static ParseErrorList noTracking() {
38         return new ParseErrorList(0, 0);
39     }
40 
tracking(int maxSize)41     public static ParseErrorList tracking(int maxSize) {
42         return new ParseErrorList(INITIAL_CAPACITY, maxSize);
43     }
44 
45     @Override
clone()46     public Object clone() {
47         // all class fields are primitive, so native clone is enough.
48         return super.clone();
49     }
50 }
51