diff --git a/README.md b/README.md index c7d6f0a..f65309e 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ _**Compatible JDK 8, 11 and 15**_ -This library supports **`Kotlin`** aswell +This library supports **`Kotlin`** as well ## Contributing diff --git a/documentation/1-logical-predicates.md b/documentation/1-logical-predicates.md new file mode 100644 index 0000000..e5dc6a2 --- /dev/null +++ b/documentation/1-logical-predicates.md @@ -0,0 +1,38 @@ +# 1. Logical Predicates +Predicates located under `br.com.fluentvalidator.predicate.LogicalPredicate` class. + + ++ [isTrue](#isTrue) ++ [isFalse](#isTrue) ++ [not](#isTrue) + +## isTrue +Used to validate if a function or a method results in `true`. + +```java +isTrue() +``` + +```java +isTrue(final Function function) +``` + + +## isFalse +Used to validate if a function or a method results in `false`. + +```java +isFalse() +``` + +```java +isFalse(final Function function) +``` + + +## not +Used to negate a validation, inverting a boolean result + +```java +not(final predicate) +``` diff --git a/documentation/2-object-predicates.md b/documentation/2-object-predicates.md new file mode 100644 index 0000000..1325acb --- /dev/null +++ b/documentation/2-object-predicates.md @@ -0,0 +1,45 @@ +# 2. Object Predicates +Predicates located under `br.com.fluentvalidator.predicate.ObjectPredicate` class. + ++ [equalObject](#equalObject) ++ [instanceOf](#instanceOf) ++ [nullValue](#nullValue) + +## equalObject +Used to validate if two objects are equal. + +```java +equalObject(final Function source, final Function target) +``` + +```java +equalObject(final Function source, final Object target) +``` + +```java +equalObject(final T obj) +``` + + +## instanceOf +Used to validate if a given object is an instance of a determined class. + +```java +instanceOf(final Class clazz) +``` + +```java +instanceOf(final Function source, final Class clazz) +``` + + +## nullValue +Used to validate if a given object is null. + +```java +nullValue() +``` + +```java +nullValue(final Function source) +``` diff --git a/documentation/3-string-predicates.md b/documentation/3-string-predicates.md new file mode 100644 index 0000000..3d8e757 --- /dev/null +++ b/documentation/3-string-predicates.md @@ -0,0 +1,286 @@ +# 3. String Predicates +Predicates located under `br.com.fluentvalidator.predicate.StringPredicate` class. + ++ [isAlpha](#isAlpha) ++ [isAlphaNumeric](#isAlphaNumeric) ++ [isDate](#isDate) ++ [isDateTime](#isDateTime) ++ [isTime](#isTime) ++ [isNumber](#isNumber) ++ [isNumeric](#isNumeric) ++ [stringContains](#stringContains) ++ [stringEmptyOrNull](#stringEmptyOrNull) ++ [stringEquals](#stringEquals) ++ [stringEqualsIgnoreCase](#stringEqualsIgnoreCase) ++ [stringMatches](#stringMatches) ++ [stringSize](#stringSize) ++ [stringSizeBetween](#stringSizeBetween) ++ [stringSizeGreaterThan](#stringSizeGreaterThan) ++ [stringSizeGreaterThanOrEqual](#stringSizeGreaterThanOrEqual) ++ [stringSizeLessThan](#stringSizeLessThan) ++ [stringSizeLessThanOrEqual](#stringSizeLessThanOrEqual) ++ [stringInCollection](#stringInCollection) + + +## isAlpha +Used to validate if a string is composed only by `letters`. + +```java +isAlpha() +``` + +```java +isAlpha(final Function source) +``` + + +## isAlphaNumeric +Used to validate if a string is composed only by `letters` or `digits`. + +```java +isAlphaNumeric() +``` + +```java +isAlphaNumeric(final Function source) +``` + + +## isDate +Used to validate if a string can be converted to `LocalDate`, given a [DateTimePattern](https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html). + +```java +isDate(final Function source, final String pattern) +``` + +```java +isDate(final String pattern) +``` + + +## isDateTime +Used to validate if a string can be converted to `LocalDateTime`, given a [DateTimePattern](https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html). + +```java +isDateTime(final Function source, final String pattern) +``` + +```java +isDateTime(final String pattern) +``` + + +## isTime +Used to validate if a string can be converted to `LocalTime`, given a [DateTimePattern](https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html). + +```java +isTime(final Function source, final String pattern) +``` + +```java +isTime(final String pattern) +``` + + +## isNumber +Used to validate if a string can be converted into a `number` object. This includes negative, positive, decimal and scientific notation. + +```java +isNumber() +``` + +```java +isNumber(final Function source) +``` + + +## isNumeric +Used to validate if a string is composed only by `digits`. + +```java +isNumeric() +``` + +```java +isNumeric(final Function source) +``` + + +## stringContains +Used to validate if a string `contains` a given string. + +```java +stringContains(final Function source, final String str) +``` + +```java +stringContains(final String str) +``` + + +## stringEmptyOrNull +Used to validate if a string `empty` or `null`. + +```java +stringEmptyOrNull() +``` + +```java +stringEmptyOrNull(final Function source) +``` + + +## stringEquals +Used to validate if two strings are `equal`. + +```java +stringEquals(final Function source, final Function target) +``` + +```java +stringEquals(final Function source, final String value) +``` + +```java +stringEquals(final String value) +``` + + +## stringEqualsIgnoreCase +Used to validate if two strings are `equal` ignoring both strings case. + +```java +stringEqualsIgnoreCase(final Function source, final Function target) +``` + +```java +stringEqualsIgnoreCase(final Function source, final String value) +``` + +```java +stringEqualsIgnoreCase(final String value) +``` + + +## stringMatches +Used to validate if a string matches a pattern using `regular expression`. + +```java +stringMatches(final Function source, final String regex) +``` + +```java +stringMatches(final String regex) +``` + + +## stringSize +Used to validate a string `size`. + +```java +stringSize(final Function source, final Function target) +``` + +```java +stringSize(final Function source, final Integer size) +``` + +```java +stringSize(final Integer size) +``` + + +## stringSizeBetween +Used to validate if a string `size is between` a given `rage`. + +```java +stringSizeBetween(final Function source, final Integer minSize, final Integer maxSize) +``` + +```java +stringSizeBetween(final Integer minSize, final Integer maxSize) +``` + + +## stringSizeGreaterThan +Used to validate if a string size is `greater than` a given number. + +```java +stringSizeGreaterThan(final Function source, final Function target) +``` + +```java +stringSizeGreaterThan(final Function source, final Integer size) +``` + +```java +stringSizeGreaterThan(final Integer size) +``` + + +## stringSizeGreaterThanOrEqual +Used to validate if a string size is `greater than or equal` a given number. + +```java +stringSizeGreaterThanOrEqual(final Function source, final Function target) +``` + +```java +stringSizeGreaterThanOrEqual(final Function source, final Integer size) +``` + +```java +stringSizeGreaterThanOrEqual(final Integer size) +``` + + +## stringSizeLessThan +Used to validate if a string size is `less than` a given number. + +```java +stringSizeLessThan(final Function source, final Function target) +``` + +```java +stringSizeLessThan(final Function source, final Integer size) +``` + +```java +stringSizeLessThan(final Integer size) +``` + + +## stringSizeLessThanOrEqual +Used to validate if a string size is `less than or equal` a given number. + +```java +stringSizeLessThanOrEqual(final Function source, final Function target) +``` + +```java +stringSizeLessThanOrEqual(final Function source, final Integer size) +``` + +```java +stringSizeLessThanOrEqual(final Integer size) +``` + + +## stringInCollection +Used to validate if a collection of strings `contains` a given string. + +```java +stringInCollection(final Collection collection) +``` + +```java +stringInCollection(final Function source, final Collection collection) +``` + +```java +stringInCollection(final String source, final Function> target) +``` + +```java +stringInCollection(final Function source, final Function> target) +``` diff --git a/documentation/4-comparable-predicates.md b/documentation/4-comparable-predicates.md new file mode 100644 index 0000000..a8f1ecb --- /dev/null +++ b/documentation/4-comparable-predicates.md @@ -0,0 +1,163 @@ +# 4. Comparable Predicates +Predicates located under `br.com.fluentvalidator.predicate.ComparablePredicate` class. + + ++ [between](#between) ++ [betweenInclusive](#betweenInclusive) ++ [equalTo](#equalTo) ++ [greaterThan](#greaterThan) ++ [greaterThanOrEqual](#greaterThanOrEqual) ++ [lessThan](#lessThan) ++ [lessThanOrEqual](#lessThanOrEqual) + + +## between +Used to validate if a given `Comparable` value is `between` two values. + +```java +between(final E min, final E max) +``` + +```java +between(final E min, final Function max) +``` + +```java +between(final Function min, final E max) +``` + +```java +between(final Function min, final Function max) +``` + +```java +between(final Function source, final E min, final E max) +``` + +```java +between(final Function source, final E min, final Function max) +``` + +```java +between(final Function source, final Function min, final E max) +``` + +```java +between(final Function source, final Function min, final Function max) +``` + + +## betweenInclusive +Used to validate if a given `Comparable` value is `between (inclusive)` two values. + +```java +betweenInclusive(final E min, final E max) +``` + +```java +betweenInclusive(final E min, final Function max) +``` + +```java +betweenInclusive(final Function min, final E max) +``` + +```java +betweenInclusive(final Function min, final Function max) +``` + +```java +betweenInclusive(final Function source, final E min, final E max) +``` + +```java +betweenInclusive(final Function source, final E min, final Function max) +``` + +```java +betweenInclusive(final Function source, final Function min, final E max) +``` + +```java +betweenInclusive(final Function source, final Function min, final Function max) +``` + + +## equalTo +Used to validate if two `Comparables` are `equal`. + +```java +equalTo(final E value) +``` + +```java +equalTo(final Function source, final E value) +``` + +```java +equalTo(final Function source, final Function target) +``` + + +## greaterThan +Used to validate if a given `Comparable` value is `greater than` another `Comparable`. + +```java +greaterThan(final E min) +``` + +```java +greaterThan(final Function source, final E min) +``` + +```java +greaterThan(final Function source, final Function target) +``` + + +## greaterThanOrEqual +Used to validate if a given `Comparable` value is `greater than or equal` another `Comparable`. + +```java +greaterThanOrEqual(final E min) +``` + +```java +greaterThanOrEqual(final Function source, final E min) +``` + +```java +greaterThanOrEqual(final Function source, final Function target) +``` + + +## lessThan +Used to validate if a given `Comparable` value is `less than` another `Comparable`. + +```java +lessThan(final E max) +``` + +```java +lessThan(final Function source, final E max) +``` + +```java +lessThan(final Function source, final Function target) +``` + + +## lessThanOrEqual +Used to validate if a given `Comparable` value is `less than or equal` another `Comparable`. + +```java +lessThanOrEqual(final E max) +``` + +```java +lessThanOrEqual(final Function source, final E max) +``` + +```java +lessThanOrEqual(final Function source, final Function target) +``` diff --git a/documentation/9-function-builder.md b/documentation/function-builder.md similarity index 100% rename from documentation/9-function-builder.md rename to documentation/function-builder.md diff --git a/documentation/6-predicate-methods.md b/documentation/predicate-methods.md similarity index 82% rename from documentation/6-predicate-methods.md rename to documentation/predicate-methods.md index b467d0e..ddb343c 100644 --- a/documentation/6-predicate-methods.md +++ b/documentation/predicate-methods.md @@ -4,247 +4,14 @@ This is a functional interface and can therefore be used as the assignment targe Represents a predicate (boolean-valued function) of one argument. -## 6.1 Logical - -```java -isTrue() -``` - -```java -isTrue(final Function function) -``` - -```java -isFalse() -``` - -```java -isFalse(final Function function) -``` - -```java -not(final predicate) -``` - -## 6.2 Object - -```java -equalObject(final Function source, final Function target) -``` - -```java -equalObject(final Function source, final Object target) -``` - -```java -equalObject(final T obj) -``` - -```java -instanceOf(final Class clazz) -``` - -```java -instanceOf(final Function source, final Class clazz) -``` - -```java -nullValue() -``` - -```java -nullValue(final Function source) -``` ## 6.3 String -```java -isAlpha() -``` - -```java -isAlpha(final Function source) -``` - -```java -isAlphaNumeric() -``` - -```java -isAlphaNumeric(final Function source) -``` - -```java -isDate(final Function source, final String pattern) -``` - -```java -isDate(final String pattern) -``` - -```java -isDateTime(final Function source, final String pattern) -``` - -```java -isDateTime(final String pattern) -``` - -```java -isTime(final Function source, final String pattern) -``` - -```java -isTime(final String pattern) -``` - -```java -isNumber() -``` - -```java -isNumber(final Function source) -``` - -```java -isNumeric() -``` - -```java -isNumeric(final Function source) -``` - -```java -stringContains(final Function source, final String str) -``` - -```java -stringContains(final String str) -``` - -```java -stringEmptyOrNull() -``` - -```java -stringEmptyOrNull(final Function source) -``` - -```java -stringEquals(final Function source, final Function target) -``` - -```java -stringEquals(final Function source, final String value) -``` - -```java -stringEquals(final String value) -``` - -```java -stringEqualsIgnoreCase(final Function source, final Function target) -``` - -```java -stringEqualsIgnoreCase(final Function source, final String value) -``` - -```java -stringEqualsIgnoreCase(final String value) -``` - -```java -stringMatches(final Function source, final String regex) -``` - -```java -stringMatches(final String regex) -``` - -```java -stringSize(final Function source, final Function target) -``` - -```java -stringSize(final Function source, final Integer size) -``` - -```java -stringSize(final Integer size) -``` - -```java -stringSizeBetween(final Function source, final Integer minSize, final Integer maxSize) -``` - -```java -stringSizeBetween(final Integer minSize, final Integer maxSize) -``` - -```java -stringSizeGreaterThan(final Function source, final Function target) -``` - -```java -stringSizeGreaterThan(final Function source, final Integer size) -``` - -```java -stringSizeGreaterThan(final Integer size) -``` - -```java -stringSizeGreaterThanOrEqual(final Function source, final Function target) -``` -```java -stringSizeGreaterThanOrEqual(final Function source, final Integer size) -``` -```java -stringSizeGreaterThanOrEqual(final Integer size) -``` -```java -stringSizeLessThan(final Function source, final Function target) -``` -```java -stringSizeLessThan(final Function source, final Integer size) -``` -```java -stringSizeLessThan(final Integer size) -``` - -```java -stringSizeLessThanOrEqual(final Function source, final Function target) -``` - -```java -stringSizeLessThanOrEqual(final Function source, final Integer size) -``` - -```java -stringSizeLessThanOrEqual(final Integer size) -``` - -```java -stringInCollection(final Collection collection) -``` - -```java -stringInCollection(final Function source, final Collection collection) -``` - -```java -stringInCollection(final String source, final Function> target) -``` - -```java -stringInCollection(final Function source, final Function> target) -``` ## 6.4 Comparable