01: /* ===========================================================================
02: * $RCSfile: TreeItemRef.java,v $
03: * ===========================================================================
04: *
05: * RetroGuard -- an obfuscation package for Java classfiles.
06: *
07: * Copyright (c) 1998-2006 Mark Welsh (markw@retrologic.com)
08: *
09: * This program can be redistributed and/or modified under the terms of the
10: * Version 2 of the GNU General Public License as published by the Free
11: * Software Foundation.
12: *
13: * This program is distributed in the hope that it will be useful,
14: * but WITHOUT ANY WARRANTY; without even the implied warranty of
15: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16: * GNU General Public License for more details.
17: *
18: */
19:
20: package COM.rl.obf;
21:
22: import java.io.*;
23: import java.util.*;
24: import COM.rl.util.*;
25:
26: /**
27: * Reference to a TreeItem that may or may not currently exist in ClassTree.
28: *
29: * @author Mark Welsh
30: */
31: abstract public class TreeItemRef {
32: // Constants -------------------------------------------------------------
33:
34: // Fields ----------------------------------------------------------------
35: protected TreeItem ti = null; // Referenced item in ClassTree
36: protected String className = null;
37: protected String name = null;
38: protected String descriptor = null;
39:
40: // Class Methods ---------------------------------------------------------
41:
42: // Instance Methods ------------------------------------------------------
43: /** Ctor. */
44: protected TreeItemRef(String className, String name,
45: String descriptor) {
46: this .className = className;
47: this .name = name;
48: this .descriptor = descriptor;
49: }
50:
51: /** Convert ref to item using ClassTree, or null if not present. */
52: abstract public TreeItem toTreeItem(ClassTree classTree)
53: throws Exception;
54: }
|