Java Web Services via REST bereitstellen
ulrich
2014-12-10 053e6a453efc712d7d52f060256a54e9de9e4a37
JSONNICE Wandler hinzugefügt
2 files modified
1 files added
72 ■■■■■ changed files
src/de/uhilger/transit/JsonFlatWandler.java 6 ●●●●● patch | view | raw | blame | history
src/de/uhilger/transit/JsonNiceWandler.java 62 ●●●●● patch | view | raw | blame | history
src/de/uhilger/transit/JsonWandler.java 4 ●●●● patch | view | raw | blame | history
src/de/uhilger/transit/JsonFlatWandler.java
@@ -29,6 +29,12 @@
 * Java-Objekte in die JavaScript Object Notation (JSON) 
 * verwandeln und umgekehrt
 * 
 * Dieser Wandler erzeugt ein strukturiertes und gut lesbares JSON-Format,
 * bei dem das Wurzelelement weggelassen wird. Im Falle einer Liste wird
 * damit z.B. der Inhalt ohne umschliessendes
 * <pre>{"List": [ ]}</pre>
 * erezeugt.
 *
 * <p>Diese Klasse benoetigt die Java-Klassenbibliotheken 
 * <a href="http://xstream.codehaus.org/" target="_blank">XStream</a>  
 * und <a href="http://jettison.codehaus.org/" target="_blank">Jettison</a> 
src/de/uhilger/transit/JsonNiceWandler.java
New file
@@ -0,0 +1,62 @@
/*
    Transit - Remote procedure calls made simple
    Copyright (c) 2012  Ulrich Hilger
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU Affero 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 Affero General Public License for more details.
    You should have received a copy of the GNU Affero General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/
package de.uhilger.transit;
import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.json.JsonHierarchicalStreamDriver;
/**
 * Java-Objekte in die JavaScript Object Notation (JSON)
 * verwandeln und umgekehrt
 *
 * Dieser Wandler erzeugt eine strukturierte und gut lesbare
 * Ausgabe des JSON-Formats.
 *
 * <p>Diese Klasse benoetigt die Java-Klassenbibliotheken
 * <a href="http://xstream.codehaus.org/" target="_blank">XStream</a>
 * und <a href="http://jettison.codehaus.org/" target="_blank">Jettison</a>
 * im Classpath.</p>
 *
 * @author Copyright (c) Ulrich Hilger, http://uhilger.de
 * @author Published under the terms and conditions of
 * the <a href="http://www.gnu.org/licenses/agpl-3.0" target="_blank">GNU Affero General Public License</a>
 *
 * @version 1, September 16, 2012
 */
public class JsonNiceWandler extends AbstractWandler {
  /** Bezeichnerdes Formats, das dieser Wandler unterstuetzt */
  public static final String FORMAT_JSON_NICE = "JSONNICE";
  @Override
  protected XStream getXStream() {
    return new XStream(new JsonHierarchicalStreamDriver());
  }
    /**
     * Das Format ermitteln, das dieser Wandler verarbeitet
     * @return das Format, das dieser Wandler verarbeitet
     */
    @Override
    public String getFormat() {
        return FORMAT_JSON_NICE;
    }
}
src/de/uhilger/transit/JsonWandler.java
@@ -26,6 +26,9 @@
 * Java-Objekte in die JavaScript Object Notation (JSON) 
 * verwandeln und umgekehrt
 * 
 * Dieser Wandler erzeugt ein unformatiertes und nicht so gut
 * lesbares , aber voll gueltiges JSON-Format
 *
 * <p>Diese Klasse benoetigt die Java-Klassenbibliotheken 
 * <a href="http://xstream.codehaus.org/" target="_blank">XStream</a>  
 * und <a href="http://jettison.codehaus.org/" target="_blank">Jettison</a> 
@@ -42,6 +45,7 @@
  /** Bezeichnerdes Formats, das dieser Wandler unterstuetzt */
  public static final String FORMAT_JSON = "JSON";
  @Override
  protected XStream getXStream() {
    return new XStream(new JettisonMappedXmlDriver());
  }