KickJava   Java API By Example, From Geeks To Geeks.

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


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: MdFd.java,v 1.4 2002/05/11 22:48:53 glurk Exp $
25  */

26 package net.sf.javaguard;
27
28
29 import java.lang.reflect.Modifier JavaDoc;
30
31
32 /** Base to method and field tree items.
33  *
34  * @author <a HREF="mailto:theit@gmx.de">Thorsten Heit</a>
35  * @author <a HREF="mailto:markw@retrologic.com">Mark Welsh</a>
36  */

37 abstract public class MdFd extends TreeItem {
38   /** Holds the method or field descriptor. */
39   private String JavaDoc descriptor = null;
40   
41   
42   /** Ctor.
43    */

44   public MdFd(TreeItem parent, boolean synthetic, String JavaDoc name, String JavaDoc descriptor, int access) {
45     super(parent, name);
46     setDescriptor(descriptor);
47     setModifiers(access);
48     setSynthetic(synthetic);
49     if (name.equals("") || descriptor.equals("") || !(parent instanceof Cl)) {
50       throw new InternalError JavaDoc("Internal error: method/field must have name and descriptor, and have Class or Interface as parent");
51     }
52     
53     // Disallow obfuscation of 'Synthetic' and native methods and fields
54
if (isSynthetic() || Modifier.isNative(getModifiers())) {
55       setOutName(getInName());
56     }
57   }
58
59   
60   
61   
62   /** Sets the method or field descriptor.
63    * @param descr the method or field descriptor.
64    * @see #getDescriptor
65    */

66   protected void setDescriptor(String JavaDoc descr) {
67     this.descriptor = descr;
68   }
69   
70   
71   /** Return the method or field descriptor.
72    * @return method or field descriptor
73    * @see #setDescriptor
74    */

75   public String JavaDoc getDescriptor() {
76     return descriptor;
77   }
78 }
79
Popular Tags