001package org.kuali.common.util.xml.jaxb.adapter; 002 003import javax.xml.bind.annotation.adapters.XmlAdapter; 004 005import com.google.common.base.Optional; 006 007public class OmitOptionalAdapter<T> extends XmlAdapter<T, Optional<T>> { 008 009 @Override 010 public T marshal(Optional<T> optional) { 011 if (optional.isPresent()) { 012 return optional.get(); 013 } else { 014 return null; 015 } 016 } 017 018 @Override 019 public Optional<T> unmarshal(T value) { 020 if (value == null) { 021 return Optional.<T> absent(); 022 } else { 023 return Optional.<T> of(value); 024 } 025 } 026 027}