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 OmitOptionalStringAdapter extends XmlAdapter<String, Optional<String>> {
008
009        @Override
010        public String marshal(Optional<String> optional) {
011                if (optional.isPresent()) {
012                        return optional.get();
013                } else {
014                        return null;
015                }
016        }
017
018        @Override
019        public Optional<String> unmarshal(String value) {
020                if (value == null) {
021                        return Optional.<String> absent();
022                } else {
023                        return Optional.<String> of(value);
024                }
025        }
026
027}