/**
   * Returns the SQL fragment string needed by insert or update statements within insert or update
   * method of sub-classes. This is done to avoid code duplication.
   */
  protected String getSQLStatementFragment(Object object) throws RegistryException {
    // object must be an ObjectRef for an objects affected by parent event
    ObjectRefType affectedObject = (ObjectRefType) object;

    String stmtFragment = null;

    String id = affectedObject.getId();
    String home = affectedObject.getHome();

    if (home != null) {
      home = "'" + home + "'";
    }

    String eventId = ((AuditableEventType) parent).getId();

    if (action == DAO_ACTION_INSERT) {
      stmtFragment =
          "INSERT INTO AffectedObject VALUES("
              + " '"
              + id
              + "', "
              + home
              + ", '"
              + eventId
              + "' ) ";
    } else if (action == DAO_ACTION_UPDATE) {
      throw new RegistryException(
          ServerResourceBundle.getInstance().getString("message.cannotUpdateComposedObject"));
    } else if (action == DAO_ACTION_DELETE) {
      stmtFragment = super.getSQLStatementFragment(object);
    }

    return stmtFragment;
  }