Zandero Validation Utils

Common validation utilities

License

License

GroupId

GroupId

com.zandero
ArtifactId

ArtifactId

utils.validation
Last Version

Last Version

1.0.1
Release Date

Release Date

Type

Type

jar
Description

Description

Zandero Validation Utils
Common validation utilities
Source Code Management

Source Code Management

https://github.com/Zandero/utils.extra

Download utils.validation

How to add to project

<!-- https://jarcasting.com/artifacts/com.zandero/utils.validation/ -->
<dependency>
    <groupId>com.zandero</groupId>
    <artifactId>utils.validation</artifactId>
    <version>1.0.1</version>
</dependency>
// https://jarcasting.com/artifacts/com.zandero/utils.validation/
implementation 'com.zandero:utils.validation:1.0.1'
// https://jarcasting.com/artifacts/com.zandero/utils.validation/
implementation ("com.zandero:utils.validation:1.0.1")
'com.zandero:utils.validation:jar:1.0.1'
<dependency org="com.zandero" name="utils.validation" rev="1.0.1">
  <artifact name="utils.validation" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.zandero', module='utils.validation', version='1.0.1')
)
libraryDependencies += "com.zandero" % "utils.validation" % "1.0.1"
[com.zandero/utils.validation "1.0.1"]

Dependencies

compile (2)

Group / Artifact Type Version
com.zandero : utils jar [1.2,)
commons-validator : commons-validator jar [1.6,)

test (2)

Group / Artifact Type Version
junit : junit jar [4.12,)
com.zandero : utils.junit jar [1.0,)

Project Modules

There are no modules declared in this project.

utils

Collection of commonly used utilities (pure Java - without external dependencies)

Setup

<dependency>      
     <groupId>com.zandero</groupId>      
     <artifactId>utils</artifactId>      
     <version>1.2.10</version>      
</dependency>

Assert

Assertion utilities to check input parameters and throw IllegalArgumentException in case arguments are invalid.

true / false test

    Assert.isTrue(text.length >= 15, "Text is to short, must be at least 15 characters long!");

    Assert.isFalse(text.length < 15, "Text is to long, must be less than 15 characters long!");

null / not null test

    Assert.isNull(value, "Value was given, but null was expected!");
    
    Assert.notNull(value, "Value expected, but null was given!");

String null / empty tests

    Assert.notNullOrEmptyTrimmed(value, "Expected value but was not given!");

Collection, array, set, list ... tests

    Assert.notNullOrEmpty(array, "Expected array but null or empty provided!");
    Assert.notNullOrEmpty(list, "Expected list but null or empty provided!");
    Assert.notNullOrEmpty(set, "Expected set but null or empty provided!");
    Assert.notNullOrEmpty(map, "Expected map but null or empty provided!");
    
    Assert.isNullOrEmpty(array, "Expected empty array!");
    Assert.isNullOrEmpty(list, "Expected empty list!");
    Assert.isNullOrEmpty(set, "Expected empty set!");
    Assert.isNullOrEmpty(map, "Expected empty map!");

Date time

Time conversion between long, Date and String

  • Date time formatting,
  • Timezone support
  • Some handy functions to get the start/end of a period

Utils

    // return UTC initialized instance of Calendar
    DateTimeUtils.getCalendar(); 
    
    DateTimeUtils.getCalendar(long time); // returns UTC initialized instance of Calendar with set time provided in milliseconds 

Date time formatting

    // formats time to yyyy-MM-dd HH:mm:ss Z
    DateTimeUtils.formatDateTime(long time); 
    
    // formats time to yyyy-MM-dd HH:mm:ss
    DateTimeUtils.formatDateTimeShort(long time); 
    
    // formats time to yyyy-MM-dd
    DateTimeUtils.formatDate(long time); 
    
    // format time with custom format or to yyyy-MM-dd HH:mm:ss Z if format not provided
    DateTimeUtils.format(long time, SimpleDateFormat format); 

Timezone helpers

    // Returns time for given time zone (-12 / +12)
    DateTimeUtils.getTimezoneTime(long time, int timezone);

    // Converts local hour back to UTC hour
    DateTimeUtils.getUtcHour(int hour, int timezone);
    
    // Converts UTC hour to local hour
    DateTimeUtils.getTimezoneHour(int hour, int timezone);

Conversions

    // Converts timestamp into OffsetDatetime
    DateTimeUtils.toOffsetDateTime(long timestamp);
    
    // Converts offset date time to long timestamp
    DateTimeUtils.fromOffsetDateTime(OffsetDateTime timestamp);
    // Gets first millisecond of first day in month for given time    
    DateTimeUtils.getMonthStart(long time);
    
    // Returns last millisecond of last day in month 
    DateTimeUtils.getMonthEnd(long time);
    
    // Returns day in month, where first day of month == 1
    DateTimeUtils.getDayInMonth(long time);
    
    // Gets first millisecond of first day in week for given time
    DateTimeUtils.getWeekStart(long time);
    
    // Returns last millisecond of last day in week for given time
    DateTimeUtils.getWeekEnd(long time);
    
    // Returns number of day in week, where monday is the first day of the week (monday = 1, tuesday = 2 ..., sunday = 7)
    DateTimeUtils.getDayInWeek(long time);
    
    // Check if it is a weekend day (Saturday or Sunday)
    DateTimeUtils.isWeekend(long time);
    
    // Removes time component from date time
    DateTimeUtils.getDateOnly(long time);
    
    // Convert any given timestamp string to long trying a list of provided formats
    DateTimeUtils.getTimestamp(String value, SimpleDateFormat[] formats);

Dir

Directory, path and file utilities

    // Gets file extension: someFile.zip -> zip
    DirUtils.getFileExtension(String file);

    // Lists all files in given directory recursive (with option to filter by extension)
    DirUtils.getAllFilesRecursive(File rootDir, String fileExtension);
    DirUtils.getAllFilesRecursive(File rootDir, String[] fileExtensions);
    
    // Lists all files in single directory, (with option to filter by extension)
    DirUtils.getAllFilesInDir(File rootDir, String fileExtension)
    DirUtils.getAllFilesInDir(File rootDir, String[] fileExtensions);
    
    // Calculates size of all files in given directory and it's sub-directories.
    DirUtils.dirSize(File directory);

Equality utils

  • NPE safe checks to compare two objects of same type: Long, Integer ...
    // compare integers
    Integer one = null;
    Integer two = 3;

    EqualsUtils.equals(one, two);
    
    // compare longs
    Integer longOne = null;
    Integer longTwo = 3;
    
    EqualsUtils.equals(longOne, longTwo);
    
    // compare strings (case sensitive)
    EqualsUtils.equals("Some string", null);
    
    // Compares if two maps hold the same set of keys and same values
    // comparison of values utilizes the equals call, so make sure equals is implemented 
    // position of key is not considered (like in LinkedHashMap)
    Map<String, T> one;
    Map<String, T> two;
    EqualsUtils.equals(mapOne, mapTwo);

JUnit probe

Checks if code runs inside a JUnit test or not

    // Checks if code is run inside a unit test
    JUnitProbe.isUnitTest();

KeyGenerator

Generates random keys of given length.

    // Generates random string from A-Z, a-z, 0-9 set of chars and numbers
    // with lenght from 1-100
    KeyGenerator.generateString(int length);
    
    // Generates non negative long key of maximum length 18
    KeyGenerator.generateLong(int length);

Maps

Map helpers and manipulation utils

Merging two maps

    Map outputMap = MapUtils.mergeMaps(firatMap, mergeFunction, otherMap);
    
    // Example
    Map<String, Long> m1 = new HashMap<>();
    m1.put("A", 10L);
    m1.put("B", 20L);
    
    Map<String, Long> m2 = new HashMap<>();
    m2.put("C", 2L);
    m2.put("D", 3L);
    m2.put("E", 1L);
   
    // sum those two maps together
    Map<String, Long> result = MapUtils.mergeMaps(Stream.of(m1, m2), Long::sum, HashMap::new);

Sorting

    // sort map with given comparator ... 
    LinkedHashMap sorted = sort(map, comparator);

    // example
    LinkedHashMap sortedMap = MapUtils.sort(map, Comparator.comparing(Map.Entry::getValue));

Compare maps

    // compare maps by keys
    MapUtils.equals(mapOne, mapTwo);
	
	// compare maps by keys and values 
    MapUtils.equals(mapOne, mapTwo, true);

Resources

Loading of resource files

    // Loads resource into string
    String output = ResourceUtils.getResourceAsString(String resourceFile, Class clazz);

     // Loads resource as a set of Strings, where each word is added to the set
     Set<String> output = ResourceUtils.getResourceWords(file, clazz);
     
     // Get resource absolute path
     String output = ResourceUtils.getResourceAbsolutePath(String resource, Class clazz);

Reading streams and files into strings

    // Loads resource to String 
    String output = ResourceUtils.readFileToString(file);
    
    // Get resource last modified time stamp
    Long time = ResourceUtils.getLastModifiedTime(file);
    
    // Load input stream into string
    String output = ResourceUtils.getString(inputStream);
    
    // Load input stream into string
    String output = ResourceUtils.getString(inputStream, encoding);
    
    // Load input stream into byte array
    byte[] output = ResourceUtils.getBytes(InputStream is);

Strings

Various handy string utilities.

NPE safe String comparison

    // NPE safe compare of two strings (case sensitive)
    StringUtils.equals(original, compare);
    
    // NPE safe compare of two strings - case sensitive or insensitive
    StringUtils.equals(original, compare, ignoreCase);
    // NPE safe compare same as String.compare()
    int result = StringUtils.compare(one, two);

Null and empty checks

    // Checks if string is null or empty == ""
    StringUtils.isNullOrEmpty(value);
    
    // Checks if string is null, empty or contains only spaces
    StringUtils.isNullOrEmptyTrimmed(value);

String trimming

    // NPE safe String.trim()
    StringUtils.trim(String value);
    
    // Trim with inner double space trim
    StringUtils.trimDoubleSpaces(text);
    
    // Complete trim of all spaces
    StringUtils.trimInner(text);
    
    // Trims only end of text
    StringUtils.trimEnd(text);
    
    // Trims only start of text
    StringUtils.trimStart(text);
    
    // Trims specific text only
    StringUtils.trimAll(text, toBeTrimmed);
    
    // Trims to null if empty
    StringUtils.trimToNull(text);

String transformation

    // Capitalizes first found character in given string
    // "123 abc" -> "123 Abc"
    String TEXT = StringUtils.capitalize(text);
    
    // Removes punctuation from text
    // "test!" -> "test"
    StringUtils.removePunctuation(text);
    
    // Removes all multiple-consecutive whitespace characters (space, tab, newline) and replaces them with single space.
    // Also removes leading and trailing spaces.
    Stirng out = StringUtils.sanitizeWhitespace(text)
    byte[] out = sanitizeWhitespace(byte[] input);
    
    // Reduces text to max given size preserving words
    StringUtils.trimTextDown(text, maxWidth);
    
    // Reduces text size to a given size preserving words with appendix
    StringUtils.trimTextDown(text, widthMinusAppend, append)
    
    // Simple enumeration: first, second, third ... 5th, 6th .. etc for given number
    StringUtils.enumerate(number);
    
    // Removes double quotes if any are present (in begging and end)
    StringUtils.unQuote(text);

String joining

    // Joins list of string items to a single string, where items are separated
    // with a defined separator. Limiting number of included items. 
    StringUtils.join(List<?> list, separator);
    StringUtils.join(List<?> list, separator, includeMaxLimit);
    
    // Joins array of objects to a single string, where items are separated
    // with a defined separator. Limiting number of included items.
    StringUtils.join(Object[] args, separator);
    StringUtils.join(Object[] args, separator, includeMaxLimit);
    
    // Joins set of objects to a single string, where items are separated
    // with a defined separator.
    StringUtils.join(Set<?> items, separator);
    StringUtils.join(Set<?> items, separator, includeMaxLimit);
    
    // Joins map of items to a single string, where items are separated with a defined separator.
    StringUtils.join(Map<String, String> map, separator);

Word extraction

    // Extracts words from text removing non alpha characters
    List<String> words = StringUtils.getWords(text);
    
    // Converts text to list of characters
    List<String> chars = asListOfChars(text);
    
    // Checks if given string is a single word (doesn't accepts words with "-" as a single word!)
    isWord(word);

Search by relevance

    // Calculates matching relevance between given string and search expression
    // -1 not relevant, 0..N - where lower values represents more relevant results
    relevance(text, search); 
com.zandero

Zandero

A collection of useful utilities, extensions and wrappers

Versions

Version
1.0.1
1.0