fancyholograms v3: Mark methods as final in HologramTrait for immutability

This commit is contained in:
Oliver
2025-07-19 20:31:03 +02:00
parent d2f222b03d
commit 8c98524d37

View File

@@ -30,7 +30,8 @@ public abstract class HologramTrait {
protected Hologram hologram; protected Hologram hologram;
protected JDB storage; protected JDB storage;
public void attachHologram(Hologram hologram) { @ApiStatus.Internal
public final void attachHologram(Hologram hologram) {
if (this.hologram != null) { if (this.hologram != null) {
throw new IllegalStateException("Trait is already attached to a hologram"); throw new IllegalStateException("Trait is already attached to a hologram");
} }
@@ -98,7 +99,7 @@ public abstract class HologramTrait {
public void save() { public void save() {
} }
public String getName() { public final String getName() {
if (getClass().isAnnotationPresent(HologramTraitClass.class)) { if (getClass().isAnnotationPresent(HologramTraitClass.class)) {
return getClass().getAnnotation(HologramTraitClass.class).traitName(); return getClass().getAnnotation(HologramTraitClass.class).traitName();
} }
@@ -106,7 +107,7 @@ public abstract class HologramTrait {
throw new IllegalArgumentException("Trait class " + getClass() + " is not annotated with HologramTraitClass"); throw new IllegalArgumentException("Trait class " + getClass() + " is not annotated with HologramTraitClass");
} }
protected boolean isTraitAttached(Class<? extends HologramTrait> trait) { protected final boolean isTraitAttached(Class<? extends HologramTrait> trait) {
for (HologramTrait hologramTrait : hologram.getTraitTrait().getTraits()) { for (HologramTrait hologramTrait : hologram.getTraitTrait().getTraits()) {
if (hologramTrait.getClass().equals(trait)) { if (hologramTrait.getClass().equals(trait)) {
return true; return true;
@@ -116,7 +117,7 @@ public abstract class HologramTrait {
return false; return false;
} }
protected <T extends HologramTrait> T getTrait(Class<T> trait) { protected final <T extends HologramTrait> T getTrait(Class<T> trait) {
for (HologramTrait hologramTrait : hologram.getTraitTrait().getTraits()) { for (HologramTrait hologramTrait : hologram.getTraitTrait().getTraits()) {
if (hologramTrait.getClass().equals(trait)) { if (hologramTrait.getClass().equals(trait)) {
return (T) hologramTrait; return (T) hologramTrait;
@@ -126,7 +127,7 @@ public abstract class HologramTrait {
return null; return null;
} }
public Hologram getHologram() { public final Hologram getHologram() {
return hologram; return hologram;
} }
} }