Class ParameterDeserializer


  • public final class ParameterDeserializer
    extends Object
    Parameter deserialization utility.

    For internal use only. May be renamed or removed in a future release.

    Since:
    1.0
    • Method Detail

      • deserializeParameter

        public static <T> T deserializeParameter​(Class<T> parameterType,
                                                 String parameter,
                                                 String targetClass)
        Deserializer method for known parameter types.
        Type Parameters:
        T - the type to deserialize into
        Parameters:
        parameterType - class to deserialize parameter as
        parameter - parameter to deserialize
        targetClass - name of handled class for exception usage
        Returns:
        converted parameter as class if parameterType of supported type
      • deserializeRouteParameters

        public static Object deserializeRouteParameters​(Class<?> navigationTarget,
                                                        List<String> parameters)
        Deserializes the list of url segments to an instance of the parameter type. Attempts to cast the first parameter segment to the parameter type and returns null if the parameter list is empty.
        Parameters:
        navigationTarget - navigation target for which to deserialize parameters
        parameters - the list of route parameters to deserialize
        Returns:
        the deserialized url parameter, can be null
      • validateWildcardType

        public static void validateWildcardType​(Class<?> navigationTarget,
                                                Class<?> parameterType)
        Validate that we can support the given wildcard parameter type.
        Parameters:
        navigationTarget - navigation target class
        parameterType - parameter type to check validity for usage with wildcard
      • verifyParameters

        public static boolean verifyParameters​(Class<?> navigationTarget,
                                               List<String> parameters)
        Verifies that the list of route parameters is valid for the given navigation target.
        Parameters:
        navigationTarget - the navigation target to verify against
        parameters - the list of route parameters to verify
        Returns:
        true if the parameters are valid, otherwise false
      • getClassType

        public static Class<?> getClassType​(Class<?> navigationTarget)
        Get the parameter type class.
        Parameters:
        navigationTarget - navigation target to get parameter type class for
        Returns:
        parameter type class
      • isAnnotatedParameter

        public static boolean isAnnotatedParameter​(Class<?> navigationTarget,
                                                   Class<? extends Annotation> parameterAnnotation)
        Check if the parameter value is annotated as OptionalParameter.
        Parameters:
        navigationTarget - navigation target to check for optional
        parameterAnnotation - annotation to check parameter for
        Returns:
        parameter is optional