/** Return a platform independant definition of the database table. */
  public static TableDefinition tableDefinition(Session session) {
    TableDefinition definition = TypeTester.tableDefinition();
    FieldDefinition fieldDef;

    definition.setName("BOOLEANS");
    fieldDef = new FieldDefinition("BOOLEANV", Boolean.class);
    fieldDef.setShouldAllowNull(false);
    definition.addField(fieldDef);

    fieldDef = new FieldDefinition("BOOLEANC", Boolean.class);
    fieldDef.setShouldAllowNull(false);
    definition.addField(fieldDef);

    return definition;
  }
 /** INTERNAL: Return the create type statement. */
 public Writer buildCreationWriter(AbstractSession session, Writer writer)
     throws ValidationException {
   try {
     writer.write("CREATE TYPE " + getFullName() + " AS OBJECT (");
     for (Enumeration fieldsEnum = getFields().elements(); fieldsEnum.hasMoreElements(); ) {
       FieldDefinition field = (FieldDefinition) fieldsEnum.nextElement();
       field.appendTypeString(writer, session);
       if (fieldsEnum.hasMoreElements()) {
         writer.write(", ");
       }
     }
     writer.write(")");
   } catch (IOException ioException) {
     throw ValidationException.fileError(ioException);
   }
   return writer;
 }