@Override
	public String getType(Uri uri) {

		ContractHolder contractHolder = contracts.findMatching(uri);

		switch (uriMatcher.match(uri)) {
		case ITEM:
			return "vnd.android.cursor.dir/vdn." + contractHolder.getTable();
		case ITEM_ID:
			return "vnd.android.cursor.item/vdn." + contractHolder.getTable();
		default:
			throw new IllegalArgumentException("Unknown uri " + uri);
		}
	}
Used to switch from a {@link Contract} to an other dynamically.<br/>
Note that this may change the database schema.
May be used for testing purpose. <br/>
@param contractClass The {@link Contract} to switch to.
@throws InvalidContractException
samples/actionbarcompat/src/com/tjeannin/provigen/ProviGenProvider.java