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}