org.multiverse.instrumentation.metadata
Interface ClassMetadataExtractor

All Known Implementing Classes:
AsmClassMetadataExtractor

public interface ClassMetadataExtractor

Responsible for extracting ClassMetadata from a class.

A reference to the MetadataRepository is needed in this ClassMetadataExtractor so that it can do requests for metadata itself (for example for loading super class metadata for a class its super).

Author:
Peter Veentjer.

Method Summary
 ClassMetadata extract(java.lang.String className, java.lang.ClassLoader classLoader)
          Extracts the ClassMetadata for a class.
 void init(MetadataRepository metadataRepository)
          Initializes this ClassMetadataExtractor with the provided MetadataRepository so it can do requests for metadata itself.
 

Method Detail

init

void init(MetadataRepository metadataRepository)
Initializes this ClassMetadataExtractor with the provided MetadataRepository so it can do requests for metadata itself.

Parameters:
metadataRepository - the repository for retrieving metadata.
Throws:
java.lang.NullPointerException - if metadataRepository is null.

extract

ClassMetadata extract(java.lang.String className,
                      java.lang.ClassLoader classLoader)
Extracts the ClassMetadata for a class.

Parameters:
className - the internal name of the class.
classLoader - the ClassLoader to use for loading the class definition.
Returns:
the created ClassMetadata.


Copyright © 2008-2010 Multiverse. All Rights Reserved.