package net.ME1312.SubServers.Bungee.Library; /** * Named Container Class * @param Name * @param Item */ public class NamedContainer extends Container { private T name; /** * Creates a TaggedContainer * * @param name Tag to Bind * @param item Object to Store */ public NamedContainer(T name, V item) { super(item); this.name = name; } /** * Gets the name of the Container * * @return Container name */ public T name() { return name; } /** * Renames the Container * * @param name New Container Name */ public void rename(T name) { this.name = name; } @Override public boolean equals(Object object) { if (object instanceof NamedContainer) { if (name == null || ((NamedContainer) object).name() == null) { return name == ((NamedContainer) object).name() && super.equals(object); } else { return name.equals(((NamedContainer) object).name()) && super.equals(object); } } else { return super.equals(object); } } }