package com.rev.system.io;

/**
 * 
 * <p>
 * 		This interface holds all the methods for Collection to Override. 
 * 		The amount of methods provided allows for any type of data to be 
 * 		Broadcasted. Each method is self explanatory.
 * </p>
 *
 */
interface Receiver {

	public int getInt(long name);
	
	public String getString(long name);
	
	public byte getByte(long name);
	
	public float getFloat(long name);
	
	public long getLong(long name);
	
	public boolean getBoolean(long name);
	
	public double getDouble(long name);
	
	public Object getObject(long name);
	
	public long getLongArray(long name, int index);

	public int getIntArray(long name, int index);
	
	public String getStringArray(long name, int index);
	
	public byte getByteArray(long name, int index);
	
	public float getFloatArray(long name, int index);
	
	public boolean getBooleanArray(long name, int index);
	
	public double getDoubleArray(long name, int index);
	
	public Object getObjectArray(long name, int index);
	
	/**
	 * 
	 * @param name
	 * 		The name is the Collection Type requested. The Only one that will
	 * 		work is of course RANDOM_CALL_DATA 
	 * @return
	 * 		This method returns an Object
	 */
	public Object[] getRandomDataObjectArray(long name);
	
	
	
}
