33 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
package speiger.src.collections.PACKAGE.utils;
 | 
						|
 | 
						|
import java.util.Objects;
 | 
						|
import java.util.function.Consumer;
 | 
						|
 | 
						|
import speiger.src.collections.utils.IArray;
 | 
						|
 | 
						|
/**
 | 
						|
 * Type-Specific Helper class to get the underlying array of array implementations.
 | 
						|
 * @see speiger.src.collections.PACKAGE.lists.ARRAY_LIST
 | 
						|
 * @Type(T)
 | 
						|
 */
 | 
						|
public interface IARRAY KEY_GENERIC_TYPE extends IArray
 | 
						|
{
 | 
						|
	/**
 | 
						|
	 * Provides the Underlying Array in the Implementation
 | 
						|
	 * @return underlying Array
 | 
						|
	 * @throws ClassCastException if the return type does not match the underlying array. (Only for Object Implementations)
 | 
						|
	 */
 | 
						|
	public KEY_TYPE[] elements();
 | 
						|
	
 | 
						|
	/**
 | 
						|
	 * Provides the Underlying Array in the Implementation. This function exists purely because of Synchronization wrappers to help run Synchronized Code
 | 
						|
	 * @param action the action that handles the array
 | 
						|
	 * @throws NullPointerException if action is null
 | 
						|
	 * @throws ClassCastException if the return type does not match the underlying array. (Only for Object Implementations)
 | 
						|
	 */
 | 
						|
	public default void elements(Consumer<KEY_TYPE[]> action) {
 | 
						|
		Objects.requireNonNull(action);
 | 
						|
		action.accept(elements());
 | 
						|
	}
 | 
						|
}
 |