/******************************************************************************* * Copyright (c) 2014 Jeff Martin.\ * * All rights reserved. This program and the accompanying materials * are made available under the terms of the GNU Public License v3.0 * which accompanies this distribution, and is available at * http://www.gnu.org/licenses/gpl.html * * Contributors: * Jeff Martin - initial API and implementation ******************************************************************************/ package cuchaz.enigma; import cuchaz.enigma.analysis.EntryReference; import cuchaz.enigma.mapping.BehaviorEntry; import cuchaz.enigma.mapping.ClassEntry; import cuchaz.enigma.mapping.ConstructorEntry; import cuchaz.enigma.mapping.FieldEntry; import cuchaz.enigma.mapping.MethodEntry; public class EntryFactory { public static ClassEntry newClass(String name) { return new ClassEntry(name); } public static FieldEntry newField(String className, String fieldName) { return new FieldEntry(newClass(className), fieldName); } public static MethodEntry newMethod(String className, String methodName, String methodSignature) { return new MethodEntry(newClass(className), methodName, methodSignature); } public static ConstructorEntry newConstructor(String className, String signature) { return new ConstructorEntry(newClass(className), signature); } public static EntryReference newFieldReferenceByMethod(FieldEntry fieldEntry, String callerClassName, String callerName, String callerSignature) { return new EntryReference(fieldEntry, "", newMethod(callerClassName, callerName, callerSignature)); } public static EntryReference newFieldReferenceByConstructor(FieldEntry fieldEntry, String callerClassName, String callerSignature) { return new EntryReference(fieldEntry, "", newConstructor(callerClassName, callerSignature)); } public static EntryReference newBehaviorReferenceByMethod(BehaviorEntry behaviorEntry, String callerClassName, String callerName, String callerSignature) { return new EntryReference(behaviorEntry, "", newMethod(callerClassName, callerName, callerSignature)); } public static EntryReference newBehaviorReferenceByConstructor(BehaviorEntry behaviorEntry, String callerClassName, String callerSignature) { return new EntryReference(behaviorEntry, "", newConstructor(callerClassName, callerSignature)); } }