Uploaded image for project: 'REEF (Retired)'
  1. REEF (Retired)
  2. REEF-950

Make Tang allow empty string as a default value for String NameParameter

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 0.14
    • Tang
    • None

    Description

      Tang does not allow empty string, "", as a default value. Precisely speaking, we can declare it like the following, but it raises InjectionException if we use that as an `OptionalParameter`.

      Sample.java
      @NamedParameter(default_value = "")
      class EmptyStringAsDefaultParam implements Name<String> {
      }
      

      It is because `NamedParameter` interface uses "" as a default value and `JavaNodeFactory` calls `isEmpty` to check the existence of default values.

      NamedParameter.java
      String default_value() default "";
      
      JavaNodeFactory.java
      if (!namedParameter.default_value().isEmpty()) {
      ...
      }
      

      Instead of Empty String, Tang had better use some kind of MAGIC String to distinguish whether the existence of default values.

      Attachments

        Issue Links

          Activity

            People

              dongjoon Dongjoon Hyun
              dongjoon Dongjoon Hyun
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: