package io.jasonsparc.chemistry.internal;

import android.support.v7.widget.RecyclerView.ViewHolder;
import android.view.ViewGroup;

import io.jasonsparc.chemistry.BasicChemistry;
import io.jasonsparc.chemistry.ViewType;

/**
 * Created by Jason on 19/08/2016.
 */
public final class NullChemistry<Item, VH extends ViewHolder> extends BasicChemistry<Item, VH> {
	public static final NullChemistry INSTANCE = new NullChemistry<>();

	private NullChemistry() { }

	@SuppressWarnings("unchecked")
	public static <Item, VH extends ViewHolder> NullChemistry<Item, VH> get() {
		return INSTANCE;
	}

	@Override
	public int getViewType() {
		return ViewType.INVALID;
	}

	@Override
	public VH createViewHolder(ViewGroup parent) {
		return null;
	}

	@Override
	public void bindViewHolder(ViewHolder holder, Object o) {
		// Do nothing.
	}
}

@@ -47,90 +47,85 @@
 ort 
-android.support.v7.widget.RecyclerView.ViewHolder;%0Aimport android.view.ViewGroup;%0A
+io.jasonsparc.chemistry.Chemistry;%0Aimport io.jasonsparc.chemistry.ItemBinder;
 %0Aimp
@@ -152,28 +152,23 @@
 emistry.
-BasicChemist
+VhFacto
 ry;%0Aimpo
@@ -285,39 +285,16 @@
 try%3CItem
-, VH extends ViewHolder
 %3E extend
@@ -299,13 +299,8 @@
 nds 
-Basic
 Chem
@@ -309,20 +309,16 @@
 try%3CItem
-, VH
 %3E %7B%0A%09pub
@@ -469,31 +469,8 @@
 Item
-, VH extends ViewHolder
 %3E Nu
@@ -489,12 +489,8 @@
 Item
-, VH
 %3E ge
@@ -544,16 +544,20 @@
  int get
+Item
 ViewType
@@ -557,16 +557,25 @@
 iewType(
+Item item
 ) %7B%0A%09%09re
@@ -625,43 +625,42 @@
 ic V
-H createViewHolder(ViewGroup parent
+hFactory%3C?%3E getVhFactory(Item item
 ) %7B%0A
@@ -701,75 +701,77 @@
 lic 
-void bindViewHolder(ViewHolder holder, Object o) %7B%0A%09%09// Do nothing.
+ItemBinder%3C? super Item, ?%3E getItemBinder(Item item) %7B%0A%09%09return null;
 %0A%09%7D%0A

Make NullChemistry extend Chemistry directly