Example #1
0
  /** Initializes this DescriptorJClass with the required methods. */
  private void init() {
    // Make sure that the Descriptor is extended XMLClassDescriptor even when
    // the user has specified a super class for all the generated classes
    String superClass = null;
    if (_config != null) {
      superClass = _config.getProperty(BuilderConfiguration.Property.SUPER_CLASS, null);
    }

    boolean extended = false;

    if (_type.getSuperClassQualifiedName() == null
        || _type.getSuperClassQualifiedName().equals(superClass)) {
      setSuperClass(XMLCLASS_DESCRIPTOR_IMPL);
    } else {
      if (_type.getSuperClass() == null) {
        setSuperClass(null);
      } else {
        extended = true;
        setSuperClass(getSuperClassName());
      }
    }
    superClass = null;

    if (_type.getPackageName() != null && _type.getPackageName().length() > 0) {
      addImport(_type.getName());
      if (extended) {
        if (_type.getSuperClass() != null) {
          addImport(getSuperClassName());
        }
      }
    }

    addField(new JField(JType.BOOLEAN, "elementDefinition"));

    addField(new JField(SGTypes.String, "nsPrefix"));
    addField(new JField(SGTypes.String, "nsURI"));
    addField(new JField(SGTypes.String, "xmlName"));
    // -- if there is a super class, the identity field must remain
    // -- the same than the one in the super class
    addField(new JField(XML_FIELD_DESCRIPTOR_CLASS, "identity"));

    // -- create default constructor
    addDefaultConstructor(extended);

    // jsc.add("Class[] emptyClassArgs = new Class[0];");
    // jsc.add("Class[] classArgs = new Class[1];");

    // ---------------------------------------------/
    // - Methods Defined by XMLClassDescriptorImpl -/
    // ---------------------------------------------/

    addXMLClassDescriptorImplOverrides();

    // -----------------------------------------/
    // - Methods Defined by XMLClassDescriptor -/
    // -----------------------------------------/

    addXMLClassDescriptorOverrides();

    // --------------------------------------/
    // - Methods defined by ClassDescriptor -/
    // --------------------------------------/

    addClassDescriptorOverrides(extended);
  } // -- createSource