01: /**
02: * JavaGuard -- an obfuscation package for Java classfiles.
03: *
04: * Copyright (c) 1999 Mark Welsh (markw@retrologic.com)
05: * Copyright (c) 2002 Thorsten Heit (theit@gmx.de)
06: *
07: * This library is free software; you can redistribute it and/or
08: * modify it under the terms of the GNU Lesser General Public
09: * License as published by the Free Software Foundation; either
10: * version 2 of the License, or (at your option) any later version.
11: *
12: * This library is distributed in the hope that it will be useful,
13: * but WITHOUT ANY WARRANTY; without even the implied warranty of
14: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15: * Lesser General Public License for more details.
16: *
17: * You should have received a copy of the GNU Lesser General Public
18: * License along with this library; if not, write to the Free Software
19: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20: *
21: * The author may be contacted at theit@gmx.de.
22: *
23: *
24: * $Id: Md.java,v 1.4 2002/05/24 08:59:52 glurk Exp $
25: */package net.sf.javaguard;
26:
27: /** Tree item representing a method.
28: *
29: * @author <a href="mailto:markw@retrologic.com">Mark Welsh</a>
30: * @author <a href="mailto:theit@gmx.de">Thorsten Heit</a>
31: */
32: public class Md extends MdFd {
33: // Constants -------------------------------------------------------------
34: /** Holds the name of the writeObject() method. */
35: public static final String MD_WRITE_OBJECT = "writeObject";
36: /** Holds the Java signature of the writeObject() method. */
37: public static final String DESC_WRITE_OBJECT = "(Ljava/io/ObjectOutputStream;)V";
38:
39: /** Holds the name of the readObject() method. */
40: public static final String MD_READ_OBJECT = "readObject";
41: /** Holds the Java signature of the readObject() method. */
42: public static final String DESC_READ_OBJECT = "(Ljava/io/ObjectInputStream;)V";
43:
44: /** Holds the name of the writeReplace() method. */
45: public static final String MD_WRITE_REPLACE = "writeReplace";
46: /** Holds the Java signature of the writeReplace() method. */
47: public static final String DESC_WRITE_REPLACE = "()Ljava/lang/Object;";
48:
49: /** Holds the name of the readResolve() method. */
50: public static final String MD_READ_RESOLVE = "readResolve";
51: /** Holds the Java signature of the readResolve() method. */
52: public static final String DESC_READ_RESOLVE = "()Ljava/lang/Object;";
53:
54: /** Ctor.
55: */
56: public Md(TreeItem parent, boolean isSynthetic, String name,
57: String descriptor, int access) {
58: super (parent, isSynthetic, name, descriptor, access);
59:
60: // if the method name equals the names possible in serializable classes
61: // add the object to the list in the class tree
62: if ((name.equals(MD_WRITE_OBJECT) && descriptor
63: .equals(DESC_WRITE_OBJECT))
64: || (name.equals(MD_READ_OBJECT) && descriptor
65: .equals(DESC_READ_OBJECT))
66: || (name.equals(MD_WRITE_REPLACE) && descriptor
67: .equals(DESC_WRITE_REPLACE))
68: || (name.equals(MD_READ_RESOLVE) && descriptor
69: .equals(DESC_READ_RESOLVE))) {
70: ClassTree classTree = getClassTree();
71: if (null != classTree) {
72: classTree.addSerializableMethod(this);
73: }
74: }
75: }
76: }
|