<commit_before>package net.nunnerycode.bukkit.mythicdrops.socketting;

import net.nunnerycode.bukkit.mythicdrops.api.socketting.GemType;
import org.apache.commons.lang3.text.WordUtils;
import org.bukkit.enchantments.Enchantment;

import java.util.List;
import java.util.Map;

public final class SocketGem {

	private final String name;
	private final GemType gemType;
	private final List<SocketPotionEffect> socketPotionEffects;
	private final List<SocketParticleEffect> socketParticleEffects;
	private final double chance;
	private final String prefix;
	private final String suffix;
	private final List<String> lore;
	private final Map<Enchantment, Integer> enchantments;
	private final List<SocketCommand> commands;

	public SocketGem(String name, GemType gemType, List<SocketPotionEffect> socketPotionEffects,
					 List<SocketParticleEffect> socketParticleEffects, double chance, String prefix, String suffix,
					 List<String> lore, Map<Enchantment,  Integer> enchantments, List<SocketCommand> commands) {
		this.name = name;
		this.gemType = gemType;
		this.socketPotionEffects = socketPotionEffects;
		this.socketParticleEffects = socketParticleEffects;
		this.chance = chance;
		this.prefix = prefix;
		this.suffix = suffix;
		this.lore = lore;
		this.enchantments = enchantments;
		this.commands = commands;
	}

	public List<SocketCommand> getCommands() {
		return commands;
	}

	public Map<Enchantment, Integer> getEnchantments() {
		return enchantments;
	}

	public String getName() {
		return name;
	}

	public GemType getGemType() {
		return gemType;
	}

	public String getPresentableType() {
		return WordUtils.capitalize(getGemType().getName());
	}

	public List<SocketPotionEffect> getSocketPotionEffects() {
		return socketPotionEffects;
	}

	public double getChance() {
		return chance;
	}

	public String getPrefix() {
		return prefix;
	}

	public String getSuffix() {
		return suffix;
	}

	public List<String> getLore() {
		return lore;
	}

	public List<SocketParticleEffect> getSocketParticleEffects() {
		return socketParticleEffects;
	}

}<commit_msg>using abstract classes over concrete classes<commit_after>package net.nunnerycode.bukkit.mythicdrops.socketting;

import net.nunnerycode.bukkit.mythicdrops.api.socketting.GemType;
import net.nunnerycode.bukkit.mythicdrops.api.socketting.SocketEffect;
import org.apache.commons.lang3.text.WordUtils;
import org.bukkit.enchantments.Enchantment;

import java.util.List;
import java.util.Map;

public final class SocketGem {

	private final String name;
	private final GemType gemType;
	private final List<SocketEffect> socketEffects;
	private final double chance;
	private final String prefix;
	private final String suffix;
	private final List<String> lore;
	private final Map<Enchantment, Integer> enchantments;
	private final List<SocketCommand> commands;

	public SocketGem(String name, GemType gemType, List<SocketEffect> socketEffects, double chance, String prefix,
					 String suffix, List<String> lore, Map<Enchantment, Integer> enchantments,
					 List<SocketCommand> commands) {
		this.name = name;
		this.gemType = gemType;
		this.socketEffects = socketEffects;
		this.chance = chance;
		this.prefix = prefix;
		this.suffix = suffix;
		this.lore = lore;
		this.enchantments = enchantments;
		this.commands = commands;
	}

	public List<SocketCommand> getCommands() {
		return commands;
	}

	public Map<Enchantment, Integer> getEnchantments() {
		return enchantments;
	}

	public String getName() {
		return name;
	}

	public String getPresentableType() {
		return WordUtils.capitalize(getGemType().getName());
	}

	public GemType getGemType() {
		return gemType;
	}

	public List<SocketEffect> getSocketEffects() {
		return socketEffects;
	}

	public double getChance() {
		return chance;
	}

	public String getPrefix() {
		return prefix;
	}

	public String getSuffix() {
		return suffix;
	}

	public List<String> getLore() {
		return lore;
	}

}
{'fraction_non_alphanumeric': 0.09037678207739308, 'fraction_numerical': 0.0005091649694501018, 'mean_word_length': 5.063271604938271, 'pattern_counts': {'":': 0, '<': 30, '<?xml version=': 0, '>': 30, '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': '6003992', 'n_tokens_mistral': 1336, 'n_tokens_neox': 1240, 'n_words': 304}