Java Annotation Indexer 1.0.0.Final

org.jboss.jandex
Class Indexer

java.lang.Object
  extended by org.jboss.jandex.Indexer

public final class Indexer
extends Object

Analyzes and indexes the annotation and key structural information of a set of classes. The indexer will purposefully skip any class that is not Java 5 or later. It will also do a basic/quick structural scan on any class it determines does not have annotations.

The Indexer operates on input streams that point to class file data. Input streams do not need to be buffered, as the indexer already does this. There is also no limit to the number of class file streams the indexer can process, other than available memory.

The Indexer attempts to minimize the final memory state of the index, but to do this it must maintain additional in-process state (intern tables etc) until the index is complete.

Numerous optimizations are taken during indexing to attempt to minimize the CPU and I/O cost, however, the Java class file format was not designed for partial searching, which ultimately limits the efficiency of processing them.

Thread-Safety>/p> This class is not thread-safe can not be shared between threads. The index it produces however is thread-safe.

Author:
Jason T. Greene

Constructor Summary
Indexer()
           
 
Method Summary
 Index complete()
          Completes, finalizes, and returns the index after zero or more calls to index.
 ClassInfo index(InputStream stream)
          Analyze and index the class file data present in the passed input stream.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Indexer

public Indexer()
Method Detail

index

public ClassInfo index(InputStream stream)
                throws IOException
Analyze and index the class file data present in the passed input stream. Each call adds information to the final complete index; however, to aid in processing a per-class index (ClassInfo) is returned on each call.

Parameters:
stream - a stream pointing to class file data
Returns:
a class index containing all annotations on the passed class stream
Throws:
IOException

complete

public Index complete()
Completes, finalizes, and returns the index after zero or more calls to index. Future calls to index will result in a new index.

Returns:
the master index for all scanned class streams

Java Annotation Indexer 1.0.0.Final

Copyright © 2011 JBoss, a division of Red Hat, Inc.. All Rights Reserved.