From 55484a8932e23a974dfbc928b21d4ae47d8000c2 Mon Sep 17 00:00:00 2001 From: Joe Date: Thu, 11 Sep 2025 15:56:11 +0100 Subject: Add factory methods to the entry views --- .../main/java/cuchaz/enigma/api/view/entry/ClassEntryView.java | 6 ++++++ .../main/java/cuchaz/enigma/api/view/entry/FieldEntryView.java | 8 ++++++++ .../main/java/cuchaz/enigma/api/view/entry/MethodEntryView.java | 8 ++++++++ 3 files changed, 22 insertions(+) diff --git a/enigma/src/main/java/cuchaz/enigma/api/view/entry/ClassEntryView.java b/enigma/src/main/java/cuchaz/enigma/api/view/entry/ClassEntryView.java index 40c0bcb..085188b 100644 --- a/enigma/src/main/java/cuchaz/enigma/api/view/entry/ClassEntryView.java +++ b/enigma/src/main/java/cuchaz/enigma/api/view/entry/ClassEntryView.java @@ -1,5 +1,11 @@ package cuchaz.enigma.api.view.entry; +import cuchaz.enigma.translation.representation.entry.ClassEntry; + public interface ClassEntryView extends EntryView { ClassEntryView getParent(); + + static ClassEntryView create(String className) { + return new ClassEntry(className); + } } diff --git a/enigma/src/main/java/cuchaz/enigma/api/view/entry/FieldEntryView.java b/enigma/src/main/java/cuchaz/enigma/api/view/entry/FieldEntryView.java index a7967da..ae44458 100644 --- a/enigma/src/main/java/cuchaz/enigma/api/view/entry/FieldEntryView.java +++ b/enigma/src/main/java/cuchaz/enigma/api/view/entry/FieldEntryView.java @@ -1,7 +1,15 @@ package cuchaz.enigma.api.view.entry; +import cuchaz.enigma.translation.representation.TypeDescriptor; +import cuchaz.enigma.translation.representation.entry.ClassEntry; +import cuchaz.enigma.translation.representation.entry.FieldEntry; + public interface FieldEntryView extends EntryView { String getDescriptor(); ClassEntryView getParent(); + + static FieldEntryView create(String className, String fieldName, String descriptor) { + return new FieldEntry(new ClassEntry(className), fieldName, new TypeDescriptor(descriptor)); + } } diff --git a/enigma/src/main/java/cuchaz/enigma/api/view/entry/MethodEntryView.java b/enigma/src/main/java/cuchaz/enigma/api/view/entry/MethodEntryView.java index 7db192b..7d7fcd2 100644 --- a/enigma/src/main/java/cuchaz/enigma/api/view/entry/MethodEntryView.java +++ b/enigma/src/main/java/cuchaz/enigma/api/view/entry/MethodEntryView.java @@ -1,7 +1,15 @@ package cuchaz.enigma.api.view.entry; +import cuchaz.enigma.translation.representation.MethodDescriptor; +import cuchaz.enigma.translation.representation.entry.ClassEntry; +import cuchaz.enigma.translation.representation.entry.MethodEntry; + public interface MethodEntryView extends EntryView { String getDescriptor(); ClassEntryView getParent(); + + static MethodEntryView create(String className, String methodName, String descriptor) { + return new MethodEntry(new ClassEntry(className), methodName, new MethodDescriptor(descriptor)); + } } -- cgit v1.2.3