EN · DE · RU · FR · ES

#726: Base64Helper.java

projectforge-business/src/main/java/org/projectforge/framework/utils/Base64Helper.java Тип: Java · Роль: Утилита · Исходник: projectforge-business/src/main/java/org/projectforge/framework/utils/Base64Helper.java 75 строк · 22 кода · 46 комментариев · 7 пустых
Статические утилитарные методы для Base64Helper. Коллекция чистых функций без побочных эффектов, предоставляющая общие вспомогательные операции.

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

Пакет: org.projectforge.framework.utils

Классы: Base64Helper

Методы (2): decodeObject, encodeObject

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

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

package org.projectforge.framework.utils;

import org.apache.commons.codec.binary.Base64;

import java.io.*;

/*******************************************************************************************************************************************
 * Вспомогательный класс для кодирования/декодирования сериализуемых объектов в base64 представление.
 * 
 * @see java.io.ObjectInputStream
 * @see java.io.ObjectOutputStream
 * @author Wolfgang Jung (w.jung@micromata.de)
 * 
 *         TODO DESIGNBUG избыточно
 */
public class Base64Helper
{

  /*****************************************************************************************************************************************
   * Преобразует заданное base64 представление в объект.
   * 
   * @param base64object объект, закодированный в base64
   * @return десериализованный объект
   * @throws IOException если base64 представление не содержит объект
   * @throws ClassNotFoundException если десериализованный объект не может быть разрешён
   */
  public static Object decodeObject(String base64object) throws IOException, ClassNotFoundException
  {
    ObjectInputStream ois = new ObjectInputStream(
        new ByteArrayInputStream(Base64.decodeBase64(base64object.getBytes())));
    Object o = ois.readObject();
    ois.close();
    return o;
  }

  /*****************************************************************************************************************************************
   * Кодирует объект в base64 представление
   * 
   * @param obj сериализуемый объект
   * @return строковое представление
   * @throws IOException если объект не сериализуем
   */
  public static String encodeObject(Object obj) throws IOException
  {
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    ObjectOutputStream oos = new ObjectOutputStream(baos);
    oos.writeObject(obj);
    oos.close();
    return new String(Base64.encodeBase64(baos.toByteArray()));
  }

}

История Git

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