title: Can I alter the typesafeEnumMemberName generated bij cxf-xjc-plugin?
body: <p>I'm generating java class files using org.apache.cxf:cxf-xjc-plugin from an xsd. I'm using the global binding <code>typesafeEnumMemberName="generateName"</code> so the plugin generates member names for the enum class when the plugin cannot create a valid Java identifier for a member of the enumeration.</p>
  
  <p>My question is:<br/>
  Is there a way to alter the way these typesafe enum member names are generated?<br/> For example, alter it to include the value? This so the member represents the value in stead of just an incremental number.</p>
  
  <p><hr>
  Additional info:<br/>
  The xsd I have specifies the following simpleType:</p>
  
  <pre><code>&lt;xs:simpleType name="CodeBurgelijkeStaat"&gt;
          &lt;xs:annotation&gt;
              &lt;xs:documentation&gt;COD366_NEN&lt;/xs:documentation&gt;
          &lt;/xs:annotation&gt;
          &lt;xs:restriction base="xs:string"&gt;
              &lt;xs:enumeration value="0"&gt;
                  &lt;xs:annotation&gt;
                      &lt;xs:documentation&gt;Onbekend&lt;/xs:documentation&gt;
                  &lt;/xs:annotation&gt;
              &lt;/xs:enumeration&gt;
              &lt;xs:enumeration value="1"&gt;
                  &lt;xs:annotation&gt;
                      &lt;xs:documentation&gt;Ongehuwd en geen geregistreerd partner en nooit gehuwd of geregistreerd partner geweest&lt;/xs:documentation&gt;
                  &lt;/xs:annotation&gt;
              &lt;/xs:enumeration&gt;
          &lt;/xs:restriction&gt;
      &lt;/xs:simpleType&gt;
  </code></pre>
  
  <p>Which results in the following class:</p>
  
  <pre><code>@XmlType(name = "CodeBurgelijkeStaat")
  @XmlEnum
  public enum CodeBurgelijkeStaat {
  
      /**
       * Onbekend
       * 
       */
      @XmlEnumValue("0")
      VALUE_1("0"),
  
      /**
       * Ongehuwd en geen geregistreerd partner en nooit gehuwd of geregistreerd partner geweest
       * 
       */
      @XmlEnumValue("1")
      VALUE_2("1");
  
      private final String value;
  
      CodeBurgelijkeStaat(String v) {
          value = v;
      }
  
      public String value() {
          return value;
      }
  
      public static CodeBurgelijkeStaat fromValue(String v) {
          for (CodeBurgelijkeStaat c: CodeBurgelijkeStaat.values()) {
              if (c.value.equals(v)) {
                  return c;
              }
          }
          throw new IllegalArgumentException(v);
      }
  }
  </code></pre>