package org.itsnat.droid.impl.xmlinflater.shared.attr; 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 AttrDescReflecMethodObject<TclassDesc extends ClassDesc,TattrTarget,TattrContext extends AttrContext> extends AttrDescReflecMethod<TclassDesc,TattrTarget,TattrContext> { public AttrDescReflecMethodObject(TclassDesc parent, String name, String methodName) { super(parent,name,methodName,getClassParam()); } public AttrDescReflecMethodObject(TclassDesc parent, String name) { super(parent,name,getClassParam()); } protected static Class<?> getClassParam() { return Object.class; } @Override public void setAttribute(TattrTarget target,DOMAttr attr, TattrContext attrCtx) { // El único caso que usa AttrDescReflecMethodObject es el atributo android:tag y sólo veo el caso de uso de ser una cadena CharSequence convValue = getText(attr.getResourceDesc(),attrCtx.getXMLInflaterContext()); callMethod(target, convValue); } @Override public void removeAttribute(TattrTarget target, TattrContext attrCtx) { callMethod(target, null); } }