EN · DE · RU · FR · ES

#765: ClassConverter.java

projectforge-business/src/main/java/org/projectforge/framework/xmlstream/converter/ClassConverter.java Typ: Java · Rolle: Konverter · Quelle: projectforge-business/src/main/java/org/projectforge/framework/xmlstream/converter/ClassConverter.java 66 Zeilen · 26 Code · 35 Kommentare · 5 leer
XML-Stream-Konverter, der IConverter für typsichere Serialisierung/Deserialisierung zwischen Zeichenkettenrepräsentationen und Java-Objekten implementiert.

Codestruktur

Paket: org.projectforge.framework.xmlstream.converter

Klassen: ClassConverter

Implementiert: IConverter>

Methoden (1): toString

Importe: 2 Pakete

Quellcode (gekürzt)

package org.projectforge.framework.xmlstream.converter;

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

/**
 * Klassennamen werden als vollqualifizierte Zeichenketten gespeichert, wie z. B. "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);

  /**
   * Gibt die durch die angegebene Zeichenkette repräsentierte Klasse zurück, andernfalls null, wenn die Klasse nicht instanziiert werden kann oder die angegebene Zeichenkette null ist.
   * @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("Kann Wert '" + str + "' nicht in Klasse konvertieren (keine solche Klasse gefunden).");
      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-Verlauf

868d6abb7 2025 -> 2026
63081666f Quelltextdatei-Header: 2024 -> 2025.
b6092df09 Copyright 2023 -> 2024
ab45d51fa Copyright 2001-2022 -> 2001-2023.
5f7ef41b8 Copyright 2021 -> 2022