package org.itsnat.droid.impl.xmlinflater.shared.attr; import android.graphics.drawable.Drawable; import org.itsnat.droid.impl.dom.DOMAttr; import org.itsnat.droid.impl.xmlinflater.AttrContext; import org.itsnat.droid.impl.xmlinflater.shared.classtree.ClassDesc; /** * Created by jmarranz on 30/04/14. */ public class AttrDescReflecFieldSetDrawable<TclassDesc extends ClassDesc,TattrTarget,TattrContext extends AttrContext> extends AttrDescReflecFieldSet<Drawable,TclassDesc,TattrTarget,TattrContext> { protected String defaultValue; public AttrDescReflecFieldSetDrawable(TclassDesc parent, String name, String fieldName, String defaultValue) { super(parent,name,fieldName); this.defaultValue = defaultValue; } @Override public void setAttribute(final TattrTarget target, final DOMAttr attr,final TattrContext attrCtx) { Drawable convertedValue = getDrawable(attr.getResourceDesc(), attrCtx.getXMLInflaterContext()); setField(target,convertedValue); } @Override public void removeAttribute(TattrTarget target, TattrContext attrCtx) { if (defaultValue != null) setAttributeToRemove(target, defaultValue,attrCtx); } }