001    package org.kuali.common.jdbc.suppliers;
002    
003    import org.kuali.common.jdbc.reader.SqlReader;
004    import org.kuali.common.util.Assert;
005    
006    public final class SqlLocationContext {
007    
008            public static final int DEFAULT_MAX_COUNT = 50;
009            public static final int DEFAULT_MAX_SIZE = 50 * 1024;
010    
011            public SqlLocationContext(String encoding, SqlReader reader) {
012                    this(encoding, reader, DEFAULT_MAX_COUNT, DEFAULT_MAX_SIZE);
013            }
014    
015            public SqlLocationContext(String encoding, SqlReader reader, int maxCount, int maxSize) {
016                    Assert.noBlanks(encoding);
017                    Assert.noNulls(reader);
018                    Assert.isTrue(maxCount > 0, "max count must be a positive integer");
019                    Assert.isTrue(maxSize >= 0, "max size is negative");
020                    this.encoding = encoding;
021                    this.reader = reader;
022                    this.maxCount = maxCount;
023                    this.maxSize = maxSize;
024            }
025    
026            private final String encoding;
027            private final SqlReader reader;
028            private final int maxCount;
029            private final int maxSize;
030    
031            public String getEncoding() {
032                    return encoding;
033            }
034    
035            public SqlReader getReader() {
036                    return reader;
037            }
038    
039            public int getMaxCount() {
040                    return maxCount;
041            }
042    
043            public int getMaxSize() {
044                    return maxSize;
045            }
046    
047    }