The URL does change from one call to another so the constructor taking
a URL won't work here.
Set instead of List, yes that makes sense.
/**
* return all packages in the jar matching one of these annotations
* if annotationsToLookFor is empty, return all packages
*/
Set<Package> getPackagesInJar(URL jartoScan, Set<Annotation>
annotationsToLookFor);
/**
* return all classes in the jar matching one of these annotations
* if annotationsToLookFor is empty, return all classes
*/
Set<Class<?>> getClassesInJar(URL jartoScan, Set<Annotation>
annotationsToLookFor);
/**
* return all files in the jar matching one of these file names
* if filePatterns is empty, return all files
* eg **/*.hbm.xml, META-INF/orm.xml
*/
Set<[structure containing file name + InputStream]> getFilesInJar(URL
jartoScan, Set<String> filePatterns);
Optional contract but would be nice to have:
/**
* return all files in the classpath (ie PU visibility) matching one of
these file names
* if filePatterns is empty, return all files
* the use case is really exact file name.
*/
Set<[structure containing file name + InputStream]>
getFilesInClasspath(URL jartoScan, Set<String> filePatterns);
/** return the unqualified JAR name ie customer-model.jar or store.war
*/
String getUnqualifiedJarName(URL);
On Mar 27, 2009, at 18:12, Elias Ross wrote:
Probably would make more sense to pass in a Set<T> or Collection<T> as
the method arguments, as Set<X> is being returned.
And since many of the methods take a URL, maybe make it more OOP
style, like something like:
class JarScanner {
public JarScanner(URL url);
public Set<Entry> getFiles(Collection<String> filePatterns);
}
On Fri, Mar 27, 2009 at 2:49 PM, Emmanuel Bernard
<emman...@hibernate.org> wrote:
I have been chatting with Ales and here is the contract that HEM
could rely
on to scan entities and DD files.
Here is a proposal for the contract
/**
* return all packages in the jar matching one of these annotations
* if annotationsToLookFor is empty, return all packages
*/
Set<Package> getPackagesInJar(URL jartoScan, List<Annotation>
annotationsToLookFor);
/**
* return all classes in the jar matching one of these annotations
* if annotationsToLookFor is empty, return all classes
*/
Set<Class<?>> getClassesInJar(URL jartoScan, List<Annotation>
annotationsToLookFor);
/**
* return all files in the jar matching one of these file names
* if filePatterns is empty, return all files
* eg **/*.hbm.xml, META-INF/orm.xml
*/
Set<[structure containing file name + InputStream]> getFilesInJar(URL
jartoScan, List<String> filePatterns);
Optional contract but would be nice to have:
/**
* return all files in the classpath (ie PU visibility) matching
one of
these file names
* if filePatterns is empty, return all files
* the use case is really exact file name.
*/
Set<[structure containing file name + InputStream]>
getFilesInClasspath(URL
jartoScan, List<String> filePatterns);
/** return the unqualified JAR name ie customer-model.jar or
store.war */
String getUnqualifiedJarName(URL);
_______________________________________________
hibernate-dev mailing list
hibernate-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/hibernate-dev
--
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
_______________________________________________
hibernate-dev mailing list
hibernate-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/hibernate-dev