001 package org.kuali.common.util.xml.jaxb.adapter; 002 003 import javax.xml.bind.annotation.adapters.XmlAdapter; 004 005 import org.kuali.common.util.Assert; 006 007 public abstract class OmitClassAdapter extends XmlAdapter<Class<?>, Class<?>> { 008 009 public OmitClassAdapter(Class<?> omitClass) { 010 Assert.noNulls(omitClass); 011 this.omitClass = omitClass; 012 } 013 014 private final Class<?> omitClass; 015 016 @Override 017 public final Class<?> marshal(Class<?> value) { 018 if (omitClass == value) { 019 return null; 020 } else { 021 return value; 022 } 023 } 024 025 @Override 026 public final Class<?> unmarshal(Class<?> value) { 027 if (value == null) { 028 return omitClass; 029 } else { 030 return value; 031 } 032 } 033 034 public final Class<?> getOmitClass() { 035 return omitClass; 036 } 037 038 }