private void emitReset(StringBuilder builder) { builder.append(" public static void reset(").append(targetClass).append(" target) {\n"); if (parentInjector != null) { builder.append(" ").append(parentInjector).append(".reset(target);\n\n"); } for (ViewInjection injection : viewIdMap.values()) { for (ViewBinding viewBinding : injection.getViewBindings()) { builder.append(" target.").append(viewBinding.getName()).append(" = null;\n"); } } for (CollectionBinding collectionBinding : collectionBindings.keySet()) { builder.append(" target.").append(collectionBinding.getName()).append(" = null;\n"); } builder.append(" }\n"); }
private void emitCollectionBinding(StringBuilder builder, CollectionBinding binding, int[] ids) { builder.append(" target.").append(binding.getName()).append(" = "); switch (binding.getKind()) { case ARRAY: builder.append("Finder.arrayOf("); break; case LIST: builder.append("Finder.listOf("); break; default: throw new IllegalStateException("Unknown kind: " + binding.getKind()); } for (int i = 0; i < ids.length; i++) { if (i > 0) { builder.append(','); } builder.append("\n "); emitCastIfNeeded(builder, binding.getType()); if (binding.isRequired()) { builder .append("finder.findRequiredView(source, ") .append(ids[i]) .append(", \"") .append(binding.getName()) .append("\")"); } else { builder.append("finder.findOptionalView(source, ").append(ids[i]).append(")"); } } builder.append("\n );"); }