KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > net > sf > javaguard > Md


1 /**
2  * JavaGuard -- an obfuscation package for Java classfiles.
3  *
4  * Copyright (c) 1999 Mark Welsh (markw@retrologic.com)
5  * Copyright (c) 2002 Thorsten Heit (theit@gmx.de)
6  *
7  * This library is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU Lesser General Public
9  * 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  */

26 package net.sf.javaguard;
27
28
29 /** Tree item representing a method.
30  *
31  * @author <a HREF="mailto:markw@retrologic.com">Mark Welsh</a>
32  * @author <a HREF="mailto:theit@gmx.de">Thorsten Heit</a>
33  */

34 public class Md extends MdFd {
35   // Constants -------------------------------------------------------------
36
/** Holds the name of the writeObject() method. */
37   public static final String JavaDoc MD_WRITE_OBJECT = "writeObject";
38   /** Holds the Java signature of the writeObject() method. */
39   public static final String JavaDoc DESC_WRITE_OBJECT = "(Ljava/io/ObjectOutputStream;)V";
40   
41   /** Holds the name of the readObject() method. */
42   public static final String JavaDoc MD_READ_OBJECT = "readObject";
43   /** Holds the Java signature of the readObject() method. */
44   public static final String JavaDoc DESC_READ_OBJECT = "(Ljava/io/ObjectInputStream;)V";
45   
46   /** Holds the name of the writeReplace() method. */
47   public static final String JavaDoc MD_WRITE_REPLACE = "writeReplace";
48   /** Holds the Java signature of the writeReplace() method. */
49   public static final String JavaDoc DESC_WRITE_REPLACE = "()Ljava/lang/Object;";
50   
51   /** Holds the name of the readResolve() method. */
52   public static final String JavaDoc MD_READ_RESOLVE = "readResolve";
53   /** Holds the Java signature of the readResolve() method. */
54   public static final String JavaDoc DESC_READ_RESOLVE = "()Ljava/lang/Object;";
55   
56   
57   /** Ctor.
58    */

59   public Md(TreeItem parent, boolean isSynthetic, String JavaDoc name, String JavaDoc descriptor, int access) {
60     super(parent, isSynthetic, name, descriptor, access);
61     
62     // if the method name equals the names possible in serializable classes
63
// add the object to the list in the class tree
64
if ( (name.equals(MD_WRITE_OBJECT) && descriptor.equals(DESC_WRITE_OBJECT))
65     || (name.equals(MD_READ_OBJECT) && descriptor.equals(DESC_READ_OBJECT))
66     || (name.equals(MD_WRITE_REPLACE) && descriptor.equals(DESC_WRITE_REPLACE))
67     || (name.equals(MD_READ_RESOLVE) && descriptor.equals(DESC_READ_RESOLVE))
68     ) {
69       ClassTree classTree = getClassTree();
70       if (null != classTree) {
71         classTree.addSerializableMethod(this);
72       }
73     }
74   }
75 }
76
Popular Tags