Package dev.hilla

Class ExplicitNullableTypeChecker


  • public class ExplicitNullableTypeChecker
    extends Object
    A checker for TypeScript null compatibility in Vaadin endpoint methods parameter and return types.
    • Constructor Detail

      • ExplicitNullableTypeChecker

        public ExplicitNullableTypeChecker()
    • Method Detail

      • isRequired

        public static boolean isRequired​(AnnotatedElement element,
                                         boolean requiredByContext)
        Checks if the reflected element should be required (not nullable) in the generated Typescript code based on annotations.
        Parameters:
        element - an element to be required
        requiredByContext - true if the context defines that the node is required
        Returns:
        a result of check
      • isRequired

        public static boolean isRequired​(boolean requiredByContext,
                                         List<com.github.javaparser.ast.expr.AnnotationExpr> annotations)
        Checks if the parsed node should be required (not nullable) in the generated Typescript code based on the list of annotations.
        Parameters:
        requiredByContext - true if the context defines that the node is required
        annotations - a list of node annotations to check
        Returns:
        a result of check
      • checkValueForAnnotatedElement

        public String checkValueForAnnotatedElement​(Object value,
                                                    AnnotatedElement annotatedElement,
                                                    boolean requiredByContext)
        Validates the given value for the given expected method return value type.
        Parameters:
        value - the value to validate
        annotatedElement - the entity to be type checked
        requiredByContext - true if the context defines that the node is required
        Returns:
        error message when the value is null while the expected type does not explicitly allow null, or null meaning the value is OK.