Uploaded image for project: 'Apache Avro'
  1. Apache Avro
  2. AVRO-1268

Add java-class, java-key-class and java-element-class support for stringable types to SpecificData

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 1.7.4
    • 1.7.5
    • java
    • None

    Description

      Stringable types are java classes that can be serialized through strings (which require a single string constructor and a valid toString() implementation). ReflectData currently has support from stringable types but it would be desirable to get this feature with SpecificData.

      The work involves changes to the SpecificCompiler (depends on @java-class support in AVRO-1267) to generate the specific sources with the proper java type as well as moving the ReflectDatumReader and ReflectDatumWriter to read the java-class/java-key-class and java-element-class properties.

      Attachments

        1. pseudo.patch
          2 kB
          Doug Cutting
        2. pseudo.patch
          4 kB
          Doug Cutting
        3. GenericStringsPerf.patch
          3 kB
          Doug Cutting
        4. AVRO-1268-performance.patch
          72 kB
          Alexandre Normand
        5. AVRO-1268-needs-work.patch
          113 kB
          Alexandre Normand
        6. AVRO-1268-MapSolution.patch
          56 kB
          Alexandre Normand
        7. AVRO-1268.sh
          0.5 kB
          Alexandre Normand
        8. AVRO-1268.patch
          45 kB
          Alexandre Normand
        9. AVRO-1268.patch
          48 kB
          Alexandre Normand
        10. AVRO-1268.patch
          36 kB
          Doug Cutting

        Issue Links

          Activity

            People

              alexandre.normand Alexandre Normand
              alexandre.normand Alexandre Normand
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: