beanit / asn1bean

ASN1bean (formerly known as jASN1) is a Java ASN.1 BER and DER encoding/decoding library
https://www.beanit.com/asn1/
Apache License 2.0
110 stars 45 forks source link

Use `enum` for `ENUMERATED` #40

Open odiferousmint opened 3 years ago

odiferousmint commented 3 years ago

Hello.

I expected

foobar [3] IMPLICIT ENUMERATED { six(0), eight(1), ten(2) }

to generate something like:

public static enum Foobar {
  SIX,
  EIGHT,
  TEN
}

Some even go as far as (not very :P):

if (instance.getFoobar() != null) {
  writer.writeComponent("foobar");
  switch (instance.getFoobar()) {
    case SIX:
      writer.writeIdentifier("six");
      break;
    case EIGHT:
      writer.writeIdentifier("eight");
      break;
    case TEN:
      writer.writeIdentifier("ten");
      break;
  }
}