package io.jasonsparc.chemistry.internal;

import io.jasonsparc.chemistry.Chemistry;
import io.jasonsparc.chemistry.ItemBinder;
import io.jasonsparc.chemistry.VhFactory;
import io.jasonsparc.chemistry.ViewType;

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

	private NullChemistry() { }

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

	@Override
	public int getItemViewType(Item item) {
		return ViewType.INVALID;
	}

	@Override
	public VhFactory<?> getVhFactory(Item item) {
		return null;
	}

	@Override
	public ItemBinder<? super Item, ?> getItemBinder(Item item) {
		return null;
	}
}

@@ -769,11 +769,93 @@
 null;%0A%09%7D
+%0A%0A%09@Override%0A%09public String toString() %7B%0A%09%09return %22io.chemistry.NullChemistry%22;%0A%09%7D
 %0A%7D%0A

Implement `toString()` for NullChemistry