org.apache.openjpa.lib.meta
Class ClassArgParser

java.lang.Object
  extended by org.apache.openjpa.lib.meta.ClassArgParser

public class ClassArgParser
extends Object

Parser used to resolve arguments into java classes. Interprets command-line args as either class names, .class files or resources, .java files or resources, or metadata files or resources conforming to the common format defined by CFMetaDataParser. Transforms the information in these args into Class instances. Note that when parsing .java files, only the main class in the file is detected. Other classes defined in the file, such as inner classes, are not added to the returned classes list.

Author:
Abe White

Constructor Summary
ClassArgParser()
           
 
Method Summary
 ClassLoader getClassLoader()
          The class loader with which to load parsed classes.
 Map<Object,String[]> mapTypeNames(MetaDataIterator itr)
          Return a mapping of each metadata resource to an array of its contained class names.
 Map<Object,Class<?>[]> mapTypes(MetaDataIterator itr)
          Return a mapping of each metadata resource to an array of its contained classes.
 String[] parseTypeNames(MetaDataIterator itr)
          Return the names of the class(es) from the given metadatas.
 String[] parseTypeNames(String arg)
          Return the names of the class(es) from the given arg.
 Class<?>[] parseTypes(MetaDataIterator itr)
          Return the Class representation of the class(es) named in the given metadatas.
 Class<?>[] parseTypes(String arg)
          Return the Class representation of the class(es) named in the given arg.
 void setClassLoader(ClassLoader loader)
          The class loader with which to load parsed classes.
 void setMetaDataStructure(String packageElementName, String packageAttributeName, String[] classElementNames, String classAttributeName)
          Set the the relevant metadata file structure so that metadata files containing class names can be parsed.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ClassArgParser

public ClassArgParser()
Method Detail

getClassLoader

public ClassLoader getClassLoader()
The class loader with which to load parsed classes.


setClassLoader

public void setClassLoader(ClassLoader loader)
The class loader with which to load parsed classes.


setMetaDataStructure

public void setMetaDataStructure(String packageElementName,
                                 String packageAttributeName,
                                 String[] classElementNames,
                                 String classAttributeName)
Set the the relevant metadata file structure so that metadata files containing class names can be parsed. Null attribute names indicate that the text content of the element contains the data.


parseTypes

public Class<?>[] parseTypes(String arg)
Return the Class representation of the class(es) named in the given arg.

Parameters:
arg - a class name, .java file, .class file, or metadata file naming the type(s) to act on

parseTypes

public Class<?>[] parseTypes(MetaDataIterator itr)
Return the Class representation of the class(es) named in the given metadatas.


mapTypes

public Map<Object,Class<?>[]> mapTypes(MetaDataIterator itr)
Return a mapping of each metadata resource to an array of its contained classes.


parseTypeNames

public String[] parseTypeNames(String arg)
Return the names of the class(es) from the given arg.

Parameters:
arg - a class name, .java file, .class file, or metadata file naming the type(s) to act on
Throws:
IllegalArgumentException - with appropriate message on error

parseTypeNames

public String[] parseTypeNames(MetaDataIterator itr)
Return the names of the class(es) from the given metadatas.


mapTypeNames

public Map<Object,String[]> mapTypeNames(MetaDataIterator itr)
Return a mapping of each metadata resource to an array of its contained class names.



Copyright © 2006-2011 Apache Software Foundation. All Rights Reserved.