KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > net > sf > javaguard > classfile > ClassConstants


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: ClassConstants.java,v 1.5 2002/05/24 08:57:33 glurk Exp $
25  */

26 package net.sf.javaguard.classfile;
27
28 import net.sf.javaguard.ScriptConstants;
29
30
31 /** Constants used in representing a Java class-file (*.class).
32  *
33  * @author <a HREF="mailto:markw@retrologic.com">Mark Welsh</a>
34  * @author <a HREF="mailto:theit@gmx.de">Thorsten Heit</a>
35  */

36 public interface ClassConstants extends ScriptConstants {
37   /** The file name of the MANIFEST.MF file. */
38   public static final String JavaDoc STREAM_NAME_MANIFEST = "META-INF/MANIFEST.MF";
39   /** Signature directory name. */
40   public static final String JavaDoc SIGNATURE_PREFIX = "META-INF/";
41   /** Signature file name extension. */
42   public static final String JavaDoc SIGNATURE_EXT = ".SF";
43   
44   /** Separator for normal packages and classes. */
45   public static final String JavaDoc SEP_REGULAR = "/";
46   /** Separator for inner classes. */
47   public static final String JavaDoc SEP_INNER = "$";
48   
49   /** The suffix for a class file name. */
50   public static final String JavaDoc CLASS_EXT = ".class";
51   
52   /** The magic number for a class file. */
53   public static final int MAGIC = 0xCAFEBABE;
54   
55   /** The maximum allowed major version number. Currently 0x30 for JDk 1.4. */
56   public static final int MAJOR_VERSION = 0x30;
57   /** The maximum allowed minor version number. Currently 0x00 for JDK 1.4. */
58   public static final int MINOR_VERSION_MAX = 0;
59   
60   
61   
62   public static final int ACC_PUBLIC = 0x0001;
63   public static final int ACC_PRIVATE = 0x0002;
64   public static final int ACC_PROTECTED = 0x0004;
65   public static final int ACC_STATIC = 0x0008;
66   public static final int ACC_FINAL = 0x0010;
67   public static final int ACC_SUPER = 0x0020;
68   public static final int ACC_SYNCHRONIZED= 0x0020;
69   public static final int ACC_VOLATILE = 0x0040;
70   public static final int ACC_TRANSIENT = 0x0080;
71   public static final int ACC_NATIVE = 0x0100;
72   public static final int ACC_INTERFACE = 0x0200;
73   public static final int ACC_ABSTRACT = 0x0400;
74   
75   public static final int CONSTANT_Utf8 = 1;
76   public static final int CONSTANT_Integer = 3;
77   public static final int CONSTANT_Float = 4;
78   public static final int CONSTANT_Long = 5;
79   public static final int CONSTANT_Double = 6;
80   public static final int CONSTANT_Class = 7;
81   public static final int CONSTANT_String = 8;
82   public static final int CONSTANT_Fieldref = 9;
83   public static final int CONSTANT_Methodref = 10;
84   public static final int CONSTANT_InterfaceMethodref = 11;
85   public static final int CONSTANT_NameAndType = 12;
86   
87   
88   // List of known attributes
89
public static final String JavaDoc[] KNOWN_ATTRS = {ATTR_Code,
90   ATTR_ConstantValue,
91   ATTR_Exceptions,
92   ATTR_LineNumberTable,
93   ATTR_SourceFile,
94   ATTR_LocalVariableTable,
95   ATTR_InnerClasses,
96   ATTR_Synthetic};
97   
98   // List of required attributes
99
public static final String JavaDoc[] REQUIRED_ATTRS = {ATTR_Code,
100   ATTR_ConstantValue,
101   ATTR_Exceptions,
102   ATTR_InnerClasses,
103   ATTR_Synthetic};
104 }
105
Popular Tags