Java tutorial
/** * Licensed to EsupPortail under one or more contributor license * agreements. See the NOTICE file distributed with this work for * additional information regarding copyright ownership. * * EsupPortail licenses this file to you under the Apache License, * Version 2.0 (the "License"); you may not use this file except in * compliance with the License. You may obtain a copy of the License at: * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.esupportail.koha.xstream; import org.springframework.oxm.xstream.XStreamMarshaller; import com.thoughtworks.xstream.XStream; import com.thoughtworks.xstream.mapper.CannotResolveClassException; import com.thoughtworks.xstream.mapper.MapperWrapper; /** * Made XStream tolerant to XML elements which are not mapped * * @see http://jira.codehaus.org/browse/XSTR-30 */ public class EsupXStreamMarshaller extends XStreamMarshaller { private final XStream xstream = new XStream() { @Override protected MapperWrapper wrapMapper(MapperWrapper next) { return new MapperWrapper(next) { @Override public boolean shouldSerializeMember(Class definedIn, String fieldName) { try { return definedIn != Object.class || realClass(fieldName) != null; } catch (CannotResolveClassException cnrce) { return false; } } }; } }; @Override public XStream getXStream() { return this.xstream; } }