Skip to content

Commit 5809e6e

Browse files
committed
docs: add Javadoc and input validation to cache configuration in Configuration.Builder
1 parent 59db66a commit 5809e6e

2 files changed

Lines changed: 28 additions & 0 deletions

File tree

parse/src/main/java/com/parse/Parse.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -602,8 +602,14 @@ private Configuration(Builder builder) {
602602

603603
/** Allows for simple constructing of a {@code Configuration} object. */
604604
public static final class Builder {
605+
/**
606+
* The default maximum number of bytes to use for the Parse cache on disk.
607+
*/
605608
public static final int DEFAULT_MAX_KEY_VALUE_CACHE_BYTES =
606609
ParseKeyValueCache.DEFAULT_MAX_KEY_VALUE_CACHE_BYTES;
610+
/**
611+
* The default maximum number of files to store in the Parse cache on disk.
612+
*/
607613
public static final int DEFAULT_MAX_KEY_VALUE_CACHE_FILES =
608614
ParseKeyValueCache.DEFAULT_MAX_KEY_VALUE_CACHE_FILES;
609615
private final Context context;
@@ -727,6 +733,9 @@ public Builder maxRetries(int maxRetries) {
727733
* @return The same builder, for easy chaining.
728734
*/
729735
public Builder maxKeyValueCacheBytes(int maxKeyValueCacheBytes) {
736+
if (maxKeyValueCacheBytes < 0) {
737+
throw new IllegalArgumentException("maxKeyValueCacheBytes must be >= 0");
738+
}
730739
this.maxKeyValueCacheBytes = maxKeyValueCacheBytes;
731740
return this;
732741
}
@@ -739,6 +748,9 @@ public Builder maxKeyValueCacheBytes(int maxKeyValueCacheBytes) {
739748
* @return The same builder, for easy chaining.
740749
*/
741750
public Builder maxKeyValueCacheFiles(int maxKeyValueCacheFiles) {
751+
if (maxKeyValueCacheFiles < 0) {
752+
throw new IllegalArgumentException("maxKeyValueCacheFiles must be >= 0");
753+
}
742754
this.maxKeyValueCacheFiles = maxKeyValueCacheFiles;
743755
return this;
744756
}

parse/src/test/java/com/parse/ParseKeyValueCacheTest.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,4 +132,20 @@ public void testConfigurationBuilderCacheSize() {
132132
assertEquals(customBytes, configuration.maxKeyValueCacheBytes);
133133
assertEquals(customFiles, configuration.maxKeyValueCacheFiles);
134134
}
135+
136+
@Test(expected = IllegalArgumentException.class)
137+
public void testConfigurationBuilderRejectsNegativeCacheBytes() {
138+
new Parse.Configuration.Builder(null)
139+
.applicationId("test")
140+
.maxKeyValueCacheBytes(-1)
141+
.build();
142+
}
143+
144+
@Test(expected = IllegalArgumentException.class)
145+
public void testConfigurationBuilderRejectsNegativeCacheFiles() {
146+
new Parse.Configuration.Builder(null)
147+
.applicationId("test")
148+
.maxKeyValueCacheFiles(-1)
149+
.build();
150+
}
135151
}

0 commit comments

Comments
 (0)