EN · DE · RU · FR · ES

#765: ClassConverter.java

projectforge-business/src/main/java/org/projectforge/framework/xmlstream/converter/ClassConverter.java Тип: Java · Роль: Конвертер · Исходник: projectforge-business/src/main/java/org/projectforge/framework/xmlstream/converter/ClassConverter.java 66 строк · 26 кода · 35 комментариев · 5 пустых
Конвертер XML-потока, реализующий IConverter для типобезопасной сериализации/десериализации между строковыми представлениями и Java-объектами.

Структура кода

Пакет: org.projectforge.framework.xmlstream.converter

Классы: ClassConverter

Реализует: IConverter>

Методы (1): toString

Импорты: 2 пакета

Исходный код (сокращённый)

package org.projectforge.framework.xmlstream.converter;

import org.apache.commons.lang3.StringUtils;
import org.projectforge.framework.xmlstream.XmlConstants;

/**
 * Имена классов хранятся в виде полных квалифицированных строк, таких как "org.projectforge.web.calendar.CalendarPage".
 * @author Kai Reinhard (k.reinhard@micromata.de)
 *
 */
public class ClassConverter implements IConverter<Class< ? >>
{
  static org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(ClassConverter.class);

  /**
   * Возвращает класс, представленный заданной строкой, или null, если класс не может быть создан или заданная строка равна null.
   * @see org.projectforge.framework.xmlstream.converter.IConverter#fromString(java.lang.String)
   * @see Class#forName(String)
   */
  @Override
  public Class< ? > fromString(final String str)
  {
    if (StringUtils.isBlank(str) || XmlConstants.NULL_IDENTIFIER.equals(str)) {
      return null;
    }
    try {
      final Class< ? > clazz = Class.forName(str);
      return clazz;
    } catch (final ClassNotFoundException ex) {
      log.warn("Не удалось преобразовать значение '" + str + "' в класс (класс не найден).");
      return null;
    }
  }

  /**
   * @see org.projectforge.framework.xmlstream.converter.IConverter#toString(java.lang.Object)
   */
  @Override
  public String toString(final Object obj)
  {
    return String.valueOf(obj);
  }
}

История Git

868d6abb7 2025 -> 2026
63081666f Заголовки исходных файлов: 2024 -> 2025.
b6092df09 Авторские права 2023 -> 2024
ab45d51fa Авторские права 2001-2022 -> 2001-2023.
5f7ef41b8 Авторские права 2021 -> 2022