private void addInverseBindingMethods(RoundEnvironment roundEnv, SetterStore store) {
for (Element element : AnnotationUtil
.getElementsAnnotatedWith(roundEnv, InverseBindingMethods.class)) {
InverseBindingMethods bindingMethods =
element.getAnnotation(InverseBindingMethods.class);
for (InverseBindingMethod bindingMethod : bindingMethods.value()) {
final String attribute = bindingMethod.attribute();
final String method = bindingMethod.method();
final String event = bindingMethod.event().isEmpty()
? bindingMethod.attribute() + INVERSE_BINDING_EVENT_ATTR_SUFFIX
: bindingMethod.event();
warnAttributeNamespace(element, attribute);
warnAttributeNamespace(element, event);
String type;
try {
type = bindingMethod.type().getCanonicalName();
} catch (MirroredTypeException e) {
type = AnnotationTypeUtil.getInstance().toJava(e.getTypeMirror());
}
store.addInverseBindingMethod(attribute, event, type, method, (TypeElement)element);
}
}
}