Skip to content

Commit 3ae78a6

Browse files
committed
Rename package and add support for interfaces
1 parent 3973da5 commit 3ae78a6

23 files changed

+48
-37
lines changed

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
<groupId>me.tinyoverflow</groupId>
88
<artifactId>tolker</artifactId>
9-
<version>1.0-SNAPSHOT</version>
9+
<version>0.1-SNAPSHOT</version>
1010

1111
<description>A Paper library to make messaging buttery smooth.</description>
1212

src/main/java/me/tinyoverflow/tolk/MessageBuilder.java renamed to src/main/java/me/tinyoverflow/tolker/MessageBuilder.java

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
package me.tinyoverflow.tolk;
1+
package me.tinyoverflow.tolker;
22

3-
import me.tinyoverflow.tolk.exceptions.MissingSerializerException;
4-
import me.tinyoverflow.tolk.serializer.TypeSerializer;
3+
import me.tinyoverflow.tolker.exceptions.MissingSerializerException;
4+
import me.tinyoverflow.tolker.serializer.TypeSerializer;
55
import net.kyori.adventure.audience.Audience;
66
import net.kyori.adventure.text.Component;
77
import net.kyori.adventure.text.minimessage.MiniMessage;
@@ -25,15 +25,26 @@ public MessageBuilder(Map<Class<?>, TypeSerializer<?>> serializerMap, String mes
2525
this.message = message;
2626
}
2727

28+
@SuppressWarnings("unchecked")
2829
public <T> MessageBuilder with(String key, T value)
2930
{
30-
if (!serializerMap.containsKey(value.getClass()))
31+
TypeSerializer<T> serializer = (TypeSerializer<T>) serializerMap.get(value.getClass());
32+
33+
if (serializer == null)
3134
{
32-
throw new MissingSerializerException(value.getClass());
33-
}
35+
Class<?>[] interfaces = value.getClass().getInterfaces();
3436

35-
//noinspection unchecked
36-
TypeSerializer<T> serializer = (TypeSerializer<T>) serializerMap.get(value.getClass());
37+
for (Class<?> interfaze : interfaces) {
38+
if (serializerMap.containsKey(interfaze)) {
39+
serializer = (TypeSerializer<T>) serializerMap.get(interfaze);
40+
break;
41+
}
42+
}
43+
44+
if (serializer == null) {
45+
throw new MissingSerializerException(value.getClass());
46+
}
47+
}
3748

3849
//noinspection PatternValidation
3950
replacements.add(Placeholder.component(key, serializer.serialize(value)));

src/main/java/me/tinyoverflow/tolk/Tolker.java renamed to src/main/java/me/tinyoverflow/tolker/Tolker.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
package me.tinyoverflow.tolk;
1+
package me.tinyoverflow.tolker;
22

3-
import me.tinyoverflow.tolk.repositories.MessageBag;
4-
import me.tinyoverflow.tolk.serializer.*;
3+
import me.tinyoverflow.tolker.repositories.MessageBag;
4+
import me.tinyoverflow.tolker.serializer.*;
55
import org.bukkit.Location;
66
import org.bukkit.OfflinePlayer;
77
import org.bukkit.World;

src/main/java/me/tinyoverflow/tolk/exceptions/MissingSerializerException.java renamed to src/main/java/me/tinyoverflow/tolker/exceptions/MissingSerializerException.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package me.tinyoverflow.tolk.exceptions;
1+
package me.tinyoverflow.tolker.exceptions;
22

33
public class MissingSerializerException extends RuntimeException
44
{

src/main/java/me/tinyoverflow/tolk/exceptions/UnknownMessageKeyException.java renamed to src/main/java/me/tinyoverflow/tolker/exceptions/UnknownMessageKeyException.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package me.tinyoverflow.tolk.exceptions;
1+
package me.tinyoverflow.tolker.exceptions;
22

33
public class UnknownMessageKeyException extends IllegalArgumentException
44
{

src/main/java/me/tinyoverflow/tolk/repositories/MemoryBag.java renamed to src/main/java/me/tinyoverflow/tolker/repositories/MemoryBag.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
package me.tinyoverflow.tolk.repositories;
1+
package me.tinyoverflow.tolker.repositories;
22

3-
import me.tinyoverflow.tolk.exceptions.UnknownMessageKeyException;
3+
import me.tinyoverflow.tolker.exceptions.UnknownMessageKeyException;
44
import org.jetbrains.annotations.NotNull;
55

66
import java.util.HashMap;

src/main/java/me/tinyoverflow/tolk/repositories/MessageBag.java renamed to src/main/java/me/tinyoverflow/tolker/repositories/MessageBag.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
package me.tinyoverflow.tolk.repositories;
1+
package me.tinyoverflow.tolker.repositories;
22

3-
import me.tinyoverflow.tolk.exceptions.UnknownMessageKeyException;
3+
import me.tinyoverflow.tolker.exceptions.UnknownMessageKeyException;
44
import org.jetbrains.annotations.NotNull;
55

66
public interface MessageBag

src/main/java/me/tinyoverflow/tolk/repositories/ResourceBundleBag.java renamed to src/main/java/me/tinyoverflow/tolker/repositories/ResourceBundleBag.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
package me.tinyoverflow.tolk.repositories;
1+
package me.tinyoverflow.tolker.repositories;
22

3-
import me.tinyoverflow.tolk.exceptions.UnknownMessageKeyException;
3+
import me.tinyoverflow.tolker.exceptions.UnknownMessageKeyException;
44
import org.jetbrains.annotations.NotNull;
55

66
import java.util.HashMap;

src/main/java/me/tinyoverflow/tolk/serializer/BooleanSerializer.java renamed to src/main/java/me/tinyoverflow/tolker/serializer/BooleanSerializer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package me.tinyoverflow.tolk.serializer;
1+
package me.tinyoverflow.tolker.serializer;
22

33
import net.kyori.adventure.text.Component;
44
import org.jetbrains.annotations.NotNull;

src/main/java/me/tinyoverflow/tolk/serializer/CharSerializer.java renamed to src/main/java/me/tinyoverflow/tolker/serializer/CharSerializer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package me.tinyoverflow.tolk.serializer;
1+
package me.tinyoverflow.tolker.serializer;
22

33
import net.kyori.adventure.text.Component;
44
import org.jetbrains.annotations.NotNull;

0 commit comments

Comments
 (0)