Updated package names so things will compile.
[java-idp.git] / src / edu / internet2 / middleware / shibboleth / aa / AAAttributes.java
1 package edu.internet2.middleware.shibboleth.aa;
2
3 //import aa.*;
4 import java.io.*;
5 import java.util.*;
6 import java.util.zip.*;
7 import java.util.jar.*;
8
9 /**
10  * A class for managing local attributes
11  */
12 public class AAAttributes{
13
14     Class[] attrClasses = new Class[1];
15
16     /**
17      * Sole constructor. Takes a directory name in the local file system
18      * where attribute classes reside
19      */
20
21     public AAAttributes(String jarFileName)
22         throws AAException{
23
24         try{
25
26             JarFile jf = new JarFile(jarFileName);
27             Vector attrs = new Vector();
28             Enumeration en = jf.entries();
29             while(en.hasMoreElements()){
30                 JarEntry je = (JarEntry)en.nextElement();
31                 String filename = (String)je.getName();
32                 if(filename.endsWith(".class")){
33                     String name = filename.substring(0, filename.lastIndexOf(".class"));
34                     Class attr = Class.forName(name);
35                     attrs.add(attr);
36                 }
37             }
38             attrClasses = (Class[])attrs.toArray(attrClasses);
39         }catch(Exception e){
40             throw new AAException("Failed to get the list of attribute classes: "+e);
41         }
42     }
43
44
45     public Class[] listClasses(){
46         return attrClasses;
47     }
48
49     public String[] list(){
50         String[] a = new String[attrClasses.length];
51         for(int i=0; i<a.length; i++){
52             a[i] = attrClasses[i].getName();
53         }
54         return a;
55     }
56 }