Class SharedUtil

  • All Implemented Interfaces:
    Serializable

    public class SharedUtil
    extends Object
    implements Serializable
    Misc internal utility methods used by both the server and the client package.
    Since:
    7.1
    Author:
    Vaadin Ltd
    See Also:
    Serialized Form
    • Field Detail

      • SIZE_PATTERN

        public static final String SIZE_PATTERN
        RegEx pattern to extract the width/height values.
        See Also:
        Constant Field Values
    • Constructor Detail

      • SharedUtil

        public SharedUtil()
    • Method Detail

      • equals

        public static boolean equals​(Object o1,
                                     Object o2)
        Checks if a and b are equals using Object.equals(Object). Handles null values as well. Does not ensure that objects are of the same type. Assumes that the first object's equals method handle equals properly.
        Parameters:
        o1 - The first value to compare
        o2 - The second value to compare
        Returns:
        true if the objects are equal, false otherwise
      • trimTrailingSlashes

        public static String trimTrailingSlashes​(String value)
        Trims trailing slashes (if any) from a string.
        Parameters:
        value - The string value to be trimmed. Cannot be null.
        Returns:
        String value without trailing slashes.
      • splitCamelCase

        public static String[] splitCamelCase​(String camelCaseString)
        Splits a camelCaseString into an array of words with the casing preserved.
        Parameters:
        camelCaseString - The input string in camelCase format
        Returns:
        An array with one entry per word in the input string
        Since:
        7.4
      • camelCaseToHumanFriendly

        public static String camelCaseToHumanFriendly​(String camelCaseString)
        Converts a camelCaseString to a human friendly format (Camel case string).

        In general splits words when the casing changes but also handles special cases such as consecutive upper case characters. Examples:

        MyBeanContainer becomes My Bean Container AwesomeURLFactory becomes Awesome URL Factory SomeUriAction becomes Some Uri Action

        Parameters:
        camelCaseString - The input string in camelCase format
        Returns:
        A human friendly version of the input
        Since:
        7.4
      • upperCaseUnderscoreToHumanFriendly

        public static String upperCaseUnderscoreToHumanFriendly​(String upperCaseUnderscoreString)
        Converts an UPPER_CASE_STRING to a human friendly format (Upper Case String).

        Splits words on _. Examples:

        MY_BEAN_CONTAINER becomes My Bean Container AWESOME_URL_FACTORY becomes Awesome Url Factory SOMETHING becomes Something

        Parameters:
        upperCaseUnderscoreString - The input string in UPPER_CASE_UNDERSCORE format
        Returns:
        A human friendly version of the input
        Since:
        7.7.4
      • join

        public static String join​(String[] parts,
                                  String separator)
        Joins the words in the input array together into a single string by inserting the separator string between each word.
        Parameters:
        parts - The array of words
        separator - The separator string to use between words
        Returns:
        The constructed string of words and separators
        Since:
        7.4
      • capitalize

        public static String capitalize​(String string)
        Capitalizes the first character in the given string in a way suitable for use in code (methods, properties etc)
        Parameters:
        string - The string to capitalize
        Returns:
        The capitalized string
        Since:
        7.4
      • propertyIdToHumanFriendly

        public static String propertyIdToHumanFriendly​(Object propertyId)
        Converts a property id to a human friendly format. Handles nested properties by only considering the last part, e.g. "address.streetName" is equal to "streetName" for this method.
        Parameters:
        propertyId - The propertyId to format
        Returns:
        A human friendly version of the property id
        Since:
        7.4
      • addGetParameters

        public static String addGetParameters​(String uri,
                                              String extraParams)
        Adds the get parameters to the uri and returns the new uri that contains the parameters.
        Parameters:
        uri - The uri to which the parameters should be added.
        extraParams - One or more parameters in the format "a=b" or "c=d&e=f". An empty string is allowed but will not modify the url.
        Returns:
        The modified URI with the get parameters in extraParams added.
      • dashSeparatedToCamelCase

        public static String dashSeparatedToCamelCase​(String dashSeparated)
        Converts a dash ("-") separated string into camelCase.

        Examples:

        foo becomes foo foo-bar becomes fooBar foo--bar becomes fooBar

        Parameters:
        dashSeparated - The dash separated string to convert
        Returns:
        a camelCase version of the input string
        Since:
        7.5
      • containsDuplicates

        public static boolean containsDuplicates​(Object[] values)
        Checks if the given array contains duplicates (according to Object.equals(Object).
        Parameters:
        values - the array to check for duplicates
        Returns:
        true if the array contains duplicates, false otherwise
      • getDuplicates

        public static String getDuplicates​(Object[] values)
        Return duplicate values in the given array in the format "duplicateValue1, duplicateValue2".
        Parameters:
        values - the values to check for duplicates
        Returns:
        a comma separated string of duplicates or an empty string if no duplicates were found