org.jorion.jdepend
Class ClassFileParser

java.lang.Object
  extended by org.jorion.jdepend.AbstractParser
      extended by org.jorion.jdepend.ClassFileParser
Direct Known Subclasses:
MyClassFileParser

public class ClassFileParser
extends AbstractParser

The ClassFileParser class is responsible for parsing a Java class file to create a JavaClass instance.

Author:
Mike Clark, Clarkware Consulting, Inc.

Field Summary
static int ACC_ABSTRACT
          ACC_ABSTRACT.
static int ACC_INTERFACE
          ACC_INTERFACE.
static char CLASS_DESCRIPTOR
          CLASS_DESCRIPTOR.
static int CONSTANT_CLASS
          CONSTANT.
static int CONSTANT_DOUBLE
          CONSTANT.
static int CONSTANT_FIELD
          CONSTANT.
static int CONSTANT_FLOAT
          CONSTANT.
static int CONSTANT_INTEGER
          CONSTANT.
static int CONSTANT_INTERFACEMETHOD
          CONSTANT.
static int CONSTANT_LONG
          CONSTANT.
static int CONSTANT_METHOD
          CONSTANT.
static int CONSTANT_NAMEANDTYPE
          CONSTANT.
static int CONSTANT_STRING
          CONSTANT.
static int CONSTANT_UNICODE
          CONSTANT.
static int CONSTANT_UTF8
          CONSTANT.
static int JAVA_MAGIC
          JAVA_MAGIC.
 
Constructor Summary
ClassFileParser()
          Default constructor.
ClassFileParser(PackageFilter filter)
           
 
Method Summary
protected  java.lang.String[] descriptorToTypes(java.lang.String descriptor)
           
protected  java.lang.String getPackageName(java.lang.String s)
           
static void main(java.lang.String[] args)
          Test main.
 JavaClass parse(java.io.File classFile)
          Registered parser listeners are informed that the resulting JavaClass was parsed.
 JavaClass parse(java.io.InputStream is)
          Registered parser listeners are informed that the resulting JavaClass was parsed.
protected  java.lang.String slashesToDots(java.lang.String s)
           
 java.lang.String toString()
          Returns a string representation of this object.
 
Methods inherited from class org.jorion.jdepend.AbstractParser
addParseListener, debug, getDebug, getFilter, onParsedJavaClass, setDebug, setFilter
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

JAVA_MAGIC

public static final int JAVA_MAGIC
JAVA_MAGIC.

See Also:
Constant Field Values

CONSTANT_UTF8

public static final int CONSTANT_UTF8
CONSTANT.

See Also:
Constant Field Values

CONSTANT_UNICODE

public static final int CONSTANT_UNICODE
CONSTANT.

See Also:
Constant Field Values

CONSTANT_INTEGER

public static final int CONSTANT_INTEGER
CONSTANT.

See Also:
Constant Field Values

CONSTANT_FLOAT

public static final int CONSTANT_FLOAT
CONSTANT.

See Also:
Constant Field Values

CONSTANT_LONG

public static final int CONSTANT_LONG
CONSTANT.

See Also:
Constant Field Values

CONSTANT_DOUBLE

public static final int CONSTANT_DOUBLE
CONSTANT.

See Also:
Constant Field Values

CONSTANT_CLASS

public static final int CONSTANT_CLASS
CONSTANT.

See Also:
Constant Field Values

CONSTANT_STRING

public static final int CONSTANT_STRING
CONSTANT.

See Also:
Constant Field Values

CONSTANT_FIELD

public static final int CONSTANT_FIELD
CONSTANT.

See Also:
Constant Field Values

CONSTANT_METHOD

public static final int CONSTANT_METHOD
CONSTANT.

See Also:
Constant Field Values

CONSTANT_INTERFACEMETHOD

public static final int CONSTANT_INTERFACEMETHOD
CONSTANT.

See Also:
Constant Field Values

CONSTANT_NAMEANDTYPE

public static final int CONSTANT_NAMEANDTYPE
CONSTANT.

See Also:
Constant Field Values

CLASS_DESCRIPTOR

public static final char CLASS_DESCRIPTOR
CLASS_DESCRIPTOR.

See Also:
Constant Field Values

ACC_INTERFACE

public static final int ACC_INTERFACE
ACC_INTERFACE.

See Also:
Constant Field Values

ACC_ABSTRACT

public static final int ACC_ABSTRACT
ACC_ABSTRACT.

See Also:
Constant Field Values
Constructor Detail

ClassFileParser

public ClassFileParser()
Default constructor.


ClassFileParser

public ClassFileParser(PackageFilter filter)
Parameters:
filter - The package filter.
Method Detail

parse

public JavaClass parse(java.io.File classFile)
                throws java.io.IOException
Registered parser listeners are informed that the resulting JavaClass was parsed.

Parameters:
classFile - The file to parse.
Returns:
A JavaClass.
Throws:
java.io.IOException

parse

public JavaClass parse(java.io.InputStream is)
                throws java.io.IOException
Registered parser listeners are informed that the resulting JavaClass was parsed.

Specified by:
parse in class AbstractParser
Parameters:
is - The input stream.
Returns:
A JavaClass object.
Throws:
java.io.IOException - Any IOException.

slashesToDots

protected java.lang.String slashesToDots(java.lang.String s)
Parameters:
s - The string to modify.
Returns:
The modified string.

getPackageName

protected java.lang.String getPackageName(java.lang.String s)
Parameters:
s - The string.
Returns:
The extracted package name.

descriptorToTypes

protected java.lang.String[] descriptorToTypes(java.lang.String descriptor)
Parameters:
descriptor - The descriptor.
Returns:
An array of strings.

toString

public java.lang.String toString()
Returns a string representation of this object.

Overrides:
toString in class java.lang.Object
Returns:
String representation.

main

public static void main(java.lang.String[] args)
Test main.

Parameters:
args - The program arguments.