package com.mixpanel.android.viewcrawler; /* package */ class PropertyDescription { public PropertyDescription(String name, Class<?> targetClass, Caller accessor, String mutatorName) { this.name = name; this.targetClass = targetClass; this.accessor = accessor; mMutatorName = mutatorName; } public Caller makeMutator(Object[] methodArgs) throws NoSuchMethodException { if (null == mMutatorName) { return null; } return new Caller(this.targetClass, mMutatorName, methodArgs, Void.TYPE); } @Override public String toString() { return "[PropertyDescription " + name + "," + targetClass + ", " + accessor + "/" + mMutatorName + "]"; } public final String name; public final Class<?> targetClass; public final Caller accessor; private final String mMutatorName; }