<commit_before>package com.miviclin.droidengine2d.graphics.shaders;

import java.util.HashMap;

/**
 * Almacena ShaderPrograms
 * 
 * @author <NAME>
 * 
 */
public class ShaderProgramsManager {
	
	private HashMap<String, ShaderProgram> shaderPrograms;
	
	/**
	 * Constructor
	 */
	public ShaderProgramsManager() {
		this.shaderPrograms = new HashMap<String, ShaderProgram>();
	}
	
	/**
	 * Devuelve un ShaderProgram indexado por ID
	 * 
	 * @param id ID con el que se registro el ShaderProgram
	 * @return ShaderProgram asociado al ID especificado o null si no habia ningun ShaderProgram registrado con ese ID
	 */
	public ShaderProgram getShaderProgram(String id) {
		return shaderPrograms.get(id);
	}
	
	/**
	 * Agrega un ShaderProgram al ShaderProgramsManager
	 * 
	 * @param id ID con el que se registrara el ShaderProgram. Se utilizara despues para acceder a el
	 * @param shaderProgram ShaderProgram a agregar
	 */
	public void addShaderProgram(String id, ShaderProgram shaderProgram) {
		shaderPrograms.put(id, shaderProgram);
	}
	
	/**
	 * Elimina un ShaderProgram del ShaderProgramManager
	 * 
	 * @param id ID del ShaderProgram a eliminar
	 * @return Devuelve el ShaderProgram eliminado o null si no habia ninguno registrado con el ID especificado
	 */
	public ShaderProgram removeShaderProgram(String id) {
		return shaderPrograms.remove(id);
	}
	
	/**
	 * Elimina todos los ShaderPrograms previamente registrados
	 */
	public void clear() {
		shaderPrograms.clear();
	}
	
}<commit_msg>Modify ShadeProgramManager to index by Class instead of String<commit_after>package com.miviclin.droidengine2d.graphics.shaders;

import java.util.HashMap;

/**
 * Almacena ShaderPrograms
 * 
 * @author <NAME>
 * 
 */
public class ShaderProgramsManager {
	
	private HashMap<Class<? extends ShaderProgram>, ShaderProgram> shaderPrograms;
	
	/**
	 * Constructor
	 */
	public ShaderProgramsManager() {
		this.shaderPrograms = new HashMap<Class<? extends ShaderProgram>, ShaderProgram>();
	}
	
	/**
	 * Devuelve un ShaderProgram indexado por clase
	 * 
	 * @param spClass Clase a la que pertenece el ShaderProgram que se quiere obtener
	 * @return ShaderProgram asociado a la clase especificada o null si no habia ningun ShaderProgram registrado con esa clase
	 */
	public ShaderProgram getShaderProgram(Class<? extends ShaderProgram> spClass) {
		return shaderPrograms.get(spClass);
	}
	
	/**
	 * Agrega un ShaderProgram al ShaderProgramsManager
	 * 
	 * @param spClass Clase a la que pertenece el ShaderProgram que se quiere registrar
	 * @param shaderProgram ShaderProgram a agregar
	 */
	public void addShaderProgram(Class<? extends ShaderProgram> spClass, ShaderProgram shaderProgram) {
		shaderPrograms.put(spClass, shaderProgram);
	}
	
	/**
	 * Elimina un ShaderProgram del ShaderProgramManager
	 * 
	 * @param spClass Clase a la que pertenece el ShaderProgram que se quiere eliminar
	 * @return Devuelve el ShaderProgram eliminado o null si no habia ninguno registrado con el ID especificado
	 */
	public ShaderProgram removeShaderProgram(Class<? extends ShaderProgram> spClass) {
		return shaderPrograms.remove(spClass);
	}
	
	/**
	 * Elimina todos los ShaderPrograms previamente registrados
	 */
	public void clear() {
		shaderPrograms.clear();
	}
	
}
{'fraction_non_alphanumeric': 0.07867240319606637, 'fraction_numerical': 0.0006146281499692685, 'mean_word_length': 4.284090909090909, 'pattern_counts': {'":': 0, '<': 14, '<?xml version=': 0, '>': 14, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7061660', 'n_tokens_mistral': 1069, 'n_tokens_neox': 979, 'n_words': 304}