Class ExplicitNullableTypeChecker

java.lang.Object
com.vaadin.hilla.ExplicitNullableTypeChecker

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

    • ExplicitNullableTypeChecker

      public ExplicitNullableTypeChecker()
  • Method Details

    • 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.