summaryrefslogtreecommitdiff
path: root/src/cuchaz/enigma/mapping/FieldMapping.java
diff options
context:
space:
mode:
authorGravatar lclc982016-06-30 00:49:21 +1000
committerGravatar GitHub2016-06-30 00:49:21 +1000
commit4be005617b3b8c3578cca07c5d085d12916f0d1d (patch)
treedb163431f38703e26da417ef05eaea2b27a498b9 /src/cuchaz/enigma/mapping/FieldMapping.java
parentSome small changes to fix idea importing (diff)
downloadenigma-fork-4be005617b3b8c3578cca07c5d085d12916f0d1d.tar.gz
enigma-fork-4be005617b3b8c3578cca07c5d085d12916f0d1d.tar.xz
enigma-fork-4be005617b3b8c3578cca07c5d085d12916f0d1d.zip
Json format (#2)
* Added new format * Fixed bug * Updated Version
Diffstat (limited to 'src/cuchaz/enigma/mapping/FieldMapping.java')
-rw-r--r--src/cuchaz/enigma/mapping/FieldMapping.java89
1 files changed, 0 insertions, 89 deletions
diff --git a/src/cuchaz/enigma/mapping/FieldMapping.java b/src/cuchaz/enigma/mapping/FieldMapping.java
deleted file mode 100644
index 2855740..0000000
--- a/src/cuchaz/enigma/mapping/FieldMapping.java
+++ /dev/null
@@ -1,89 +0,0 @@
1/*******************************************************************************
2 * Copyright (c) 2015 Jeff Martin.
3 * All rights reserved. This program and the accompanying materials
4 * are made available under the terms of the GNU Lesser General Public
5 * License v3.0 which accompanies this distribution, and is available at
6 * http://www.gnu.org/licenses/lgpl.html
7 *
8 * Contributors:
9 * Jeff Martin - initial API and implementation
10 ******************************************************************************/
11package cuchaz.enigma.mapping;
12
13import java.io.Serializable;
14
15public class FieldMapping implements Serializable, Comparable<FieldMapping>, MemberMapping<FieldEntry> {
16
17 private static final long serialVersionUID = 8610742471440861315L;
18
19 private String m_obfName;
20 private String m_deobfName;
21 private Type m_obfType;
22
23 public FieldMapping(String obfName, Type obfType, String deobfName) {
24 m_obfName = obfName;
25 m_deobfName = NameValidator.validateFieldName(deobfName);
26 m_obfType = obfType;
27 }
28
29 public FieldMapping(FieldMapping other, ClassNameReplacer obfClassNameReplacer) {
30 m_obfName = other.m_obfName;
31 m_deobfName = other.m_deobfName;
32 m_obfType = new Type(other.m_obfType, obfClassNameReplacer);
33 }
34
35 @Override
36 public String getObfName() {
37 return m_obfName;
38 }
39
40 public void setObfName(String val) {
41 m_obfName = NameValidator.validateFieldName(val);
42 }
43
44 public String getDeobfName() {
45 return m_deobfName;
46 }
47
48 public void setDeobfName(String val) {
49 m_deobfName = NameValidator.validateFieldName(val);
50 }
51
52 public Type getObfType() {
53 return m_obfType;
54 }
55
56 public void setObfType(Type val) {
57 m_obfType = val;
58 }
59
60 @Override
61 public int compareTo(FieldMapping other) {
62 return (m_obfName + m_obfType).compareTo(other.m_obfName + other.m_obfType);
63 }
64
65 public boolean renameObfClass(final String oldObfClassName, final String newObfClassName) {
66
67 // rename obf classes in the type
68 Type newType = new Type(m_obfType, new ClassNameReplacer() {
69 @Override
70 public String replace(String className) {
71 if (className.equals(oldObfClassName)) {
72 return newObfClassName;
73 }
74 return null;
75 }
76 });
77
78 if (!newType.equals(m_obfType)) {
79 m_obfType = newType;
80 return true;
81 }
82 return false;
83 }
84
85 @Override
86 public FieldEntry getObfEntry(ClassEntry classEntry) {
87 return new FieldEntry(classEntry, m_obfName, new Type(m_obfType));
88 }
89}