/**
  * Установка значения поля.<br>
  * Особенности перегруженного метода:
  *
  * <ul>
  *   <li>При установке значения поля, устанавливается значение ТОЛЬКО для карты Просмотра:
  *       компоненту загрузки файла выставить значение программно - невозможно.
  * </ul>
  *
  * @param value значение поля - объект наследник {@link
  *     com.technology.jep.jepria.shared.record.lob.JepFileReference}
  */
 @Override
 public void setValue(Object value) {
   Object oldValue = getValue();
   if (!JepRiaUtil.equalWithNull(oldValue, value)) {
     this.fileReference = (JepFileReference) value;
     setViewValue(value);
   }
 }
  /**
   * Получение значения поля.<br>
   * На основе значения карты Редактирования формируется объект наследник {@link
   * com.technology.jep.jepria.shared.record.lob.JepFileReference}.<br>
   * Особенности реализации метода:
   *
   * <ul>
   *   <li>Только если пользователем выбран файл(-ы) для загрузки, тогда ПЕРЕЗАПИСЫВАЕТСЯ имя файла
   *       в {@link #fileReference} вместо значения, которое (возможно) там было изначально
   *       (например: пришло с сервера/из ejb/из базы данных).
   * </ul>
   *
   * <br>
   *
   * @return значение поля - объект наследник {@link
   *     com.technology.jep.jepria.shared.record.lob.JepFileReference}
   */
  @Override
  @SuppressWarnings("unchecked")
  public JepFileReference getValue() {
    String fileName = editableCard.getFilename();
    if (fileReference == null) {
      fileReference = new JepFileReference();
    }

    // Только если пользователем выбран файл(-ы) для загрузки, тогда ПЕРЕЗАПИСЫВАЕМ имя файла в
    // fileReference вместо значения, которое
    // (возможно) там было изначально (например: пришло с сервера/из ejb/из базы данных).
    if (!JepRiaUtil.isEmpty(fileName)) {
      fileReference.setFileName(fileName);
    }

    return fileReference;
  }
 /**
  * Проверка, что сабмит был успешен.<br>
  * По умолчанию возвращает true, если получен пустой ответ или ответ содержит подстроку
  * &quot;success&quot;. В противном случае возвращает false. Может быть переопределён в
  * классе-наследнике.
  *
  * @param resultHtml полученный от сервера результат сабмита в виде строки
  * @return true в случае успешного сабмита, false в противном случае
  */
 protected boolean submitSuccessful(String resultHtml) {
   return JepRiaUtil.isEmpty(resultHtml) || resultHtml.contains(UPLOAD_SUCCESS_SUBSTRING);
 }
 /**
  * Получение признака наличия выбранного пользователем файла(-ов).
  *
  * @return true - файл(-ы) выбран, false - файл(-ы) не выбран
  */
 public boolean isFileSelected() {
   return !JepRiaUtil.isEmpty(editableCard.getFilename());
 }