KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > yworks > yguard > obf > Md


1 /**
2  * YGuard -- an obfuscation library for Java(TM) classfiles.
3  *
4  * Original Copyright (c) 1999 Mark Welsh (markw@retrologic.com)
5  * Modifications Copyright (c) 2002 yWorks GmbH (yguard@yworks.com)
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 yguard@yworks.com
22  *
23  * Java and all Java-based marks are trademarks or registered
24  * trademarks of Sun Microsystems, Inc. in the U.S. and other countries.
25  */

26 package com.yworks.yguard.obf;
27
28 import java.io.*;
29 import java.lang.reflect.*;
30 import java.util.*;
31 import com.yworks.yguard.obf.classfile.*;
32
33 /**
34  * Tree item representing a method.
35  *
36  * @author Mark Welsh
37  */

38 public class Md extends MdFd
39 {
40     // Constants -------------------------------------------------------------
41

42
43     // Fields ----------------------------------------------------------------
44

45
46     // Class Methods ---------------------------------------------------------
47

48
49     // Instance Methods ------------------------------------------------------
50
/** Ctor. */
51     public Md(TreeItem parent, boolean isSynthetic, String JavaDoc name, String JavaDoc descriptor, int access)
52     {
53         super(parent, isSynthetic, name, descriptor, access);
54     }
55
56     /** Return the display name of the descriptor types. */
57     protected String JavaDoc getDescriptorName()
58     {
59         String JavaDoc[] types = parseTypes();
60         StringBuffer JavaDoc sb = new StringBuffer JavaDoc();
61         sb.append("(");
62         if (types.length > 0)
63         {
64             for (int i = 0; i < types.length - 1; i++)
65             {
66                 sb.append(types[i]);
67                 if (i < types.length - 2)
68                 {
69                     sb.append(", ");
70                 }
71             }
72         }
73         sb.append(");");
74         return sb.toString();
75     }
76
77     /** Are this method's name/descriptor a match to the wildcard patterns? */
78     public boolean isWildcardMatch(String JavaDoc namePattern, String JavaDoc descPattern) {
79         return
80             isMatch(namePattern, getFullInName()) &&
81             isMatch(descPattern, getDescriptor());
82     }
83
84     /** Are this method's name/descriptor a non-recursive match
85         to the wildcard patterns? */

86     public boolean isNRWildcardMatch(String JavaDoc namePattern, String JavaDoc descPattern) {
87         return
88             isNRMatch(namePattern, getFullInName()) &&
89             isMatch(descPattern, getDescriptor());
90     }
91 }
92
93
Popular Tags