001package org.jsoup.parser;
002
003import java.util.ArrayList;
004
005/**
006 * A container for ParseErrors.
007 * 
008 * @author Jonathan Hedley
009 */
010public class ParseErrorList extends ArrayList<ParseError>{
011    private static final int INITIAL_CAPACITY = 16;
012    private final int maxSize;
013    
014    ParseErrorList(int initialCapacity, int maxSize) {
015        super(initialCapacity);
016        this.maxSize = maxSize;
017    }
018    
019    boolean canAddError() {
020        return size() < maxSize;
021    }
022
023    int getMaxSize() {
024        return maxSize;
025    }
026
027    public static ParseErrorList noTracking() {
028        return new ParseErrorList(0, 0);
029    }
030    
031    public static ParseErrorList tracking(int maxSize) {
032        return new ParseErrorList(INITIAL_CAPACITY, maxSize);
033    }
034}