All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.nuiton.util.converter.FormatConverter Maven / Gradle / Ivy

There is a newer version: 3.1
Show newest version
/*
 * #%L
 * Nuiton Utils
 * %%
 * Copyright (C) 2004 - 2010 CodeLutin
 * %%
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as 
 * published by the Free Software Foundation, either version 3 of the 
 * License, or (at your option) any later version.
 * 
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Lesser Public License for more details.
 * 
 * You should have received a copy of the GNU General Lesser Public 
 * License along with this program.  If not, see
 * .
 * #L%
 */

package org.nuiton.util.converter;

import org.nuiton.util.converter.FormatMap.Format;

/**
 * Created: 14 septembre 2005 00:55:19 CEST
 * 

* Un converter est un objet qui permet de passé d'une representation d'un * objet vers une autre representation. Le mininum que converter doit savoir * faire, est de converter une representation Java vers le format qu'il * gère et inversement. Pour des raisons d'optimisation, il est possible * qu'un converter sache passé d'un autre type que java vers sa representation * pour eviter une conversion supplémentaire qui pourrait-etre couteuse. * * @param le type de l'objet a convertir * @author Benjamin Poussin - [email protected] * @deprecated since 3.0, will not pe replaced by anything (see https://forge.nuiton.org/issues/3326); will be removed later */ @Deprecated public interface FormatConverter { // FormatConverter Format FORMAT_JAVA = new Format("Format Java"); /** * Convertie une valeur vers la representation FORMAT géré par cette classe * * @param factory la factory utilisable pour rechercher d'autre converter * si la representation Java n'est pas presente dans values et que l'on * en a besoin * @param format le format souhaité en sortie * @param values une map contenant les différentes representation de la * meme valeur. Les cles de la map sont les valeurs retournés par la * methode getFormat(). * @param args des arguments qui peuvent-être utile pour la conversion. * par exemple si dans une application on a construit son propre * converter et que pour la conversion, on a besoin d'un Context applicatif * il peut-etre passé dans les args. Si le converter a besoin d'autre * converter les memes args lui seront passé. * @return l'objet dans la representation demandés par type * @throws IllegalArgumentException si auncun moyen n'est trouve pour * convertir une des valeurs de values dans le format géré par cette classe. * Ou s'il manque dans les args des objets utils pour la conversion. */ A convert(FormatConverterFactory factory, Format format, FormatMap values, Object... args); /** * Convertie une valeur vers le Java * * @param factory la factory utilisable pour rechercher d'autre converter * si la representation Java n'est pas presente dans values et que l'on * en a besoin * @param format le format à utiliser comme valeur d'entré * @param values une map contenant les différentes representation de la * meme valeur. La valeur interessante dans la map pour cette methode * est celle retournée par values.get(getFormat()) si cet appel, ne * retourne pas quelque chose de valid, la methode doit lever une exception * @param args des arguments qui peuvent-être utile pour la conversion. * par exemple si dans une application on a construit son propre * converter et que pour la conversion, on a besoin d'un Context applicatif * il peut-etre passé dans les args. Si le converter a besoin d'autre * converter les memes args lui seront passé. * @return la valeur java * @throws IllegalArgumentException si le format géré par cette classe n'est * pas trouvé dans les values. Ou s'il manque dans les args des objets utils * pour la conversion. */ Object unconvert(FormatConverterFactory factory, Format format, FormatMap values, Object... args); } // FormatConverter





© 2015 - 2025 Weber Informatics LLC | Privacy Policy