Metadata support for old and new schemas, and API changes.
[java-idp.git] / src / edu / internet2 / middleware / shibboleth / metadata / AttributeConsumingService.java
 
 package edu.internet2.middleware.shibboleth.metadata;
 
+import java.util.Iterator;
+
+import org.opensaml.SAMLAttribute;
+
 /**
- * <p>Corresponds loosely to SAML Metadata Schema "EntityDescriptorType".
- * </p><p>
- * Entities are campuses or departments with either an origin or target
- * infrastructure (or both). Each implemented component (HS, AA, SHAR) 
- * has a Role definition with URLs and PKI to locate and authenticate
- * the provider of that role. Although the Metadata may define all 
- * roles, target code tends to build objects describing origins, and 
- * origins are only interested in targets.
+ * <p>Corresponds to SAML Metadata Schema "AttributeConsumingServiceType".
  * 
- * @author Walter Hoehn (wassa@columbia.edu)
+ * @author Scott Cantor
  */
-public interface Provider {
-
-       public String getId();  // Unique ID used as global key of Provider
-
-       public String[] getGroups(); // Groups in which this Provider is nested
+public interface AttributeConsumingService {
 
-       public ContactPerson[] getContacts(); // People
+    public String getName();
+    public String getName(String lang);
+    
+    public String getDescription();
+    public String getDescription(String lang);
 
-       public ProviderRole[] getRoles(); // HS, AA, SHAR, ... definitions
+    public class RequestedAttribute {
+        public SAMLAttribute attribute;
+        public boolean required;
+    }
 
+    public Iterator /* <RequestedAttribute> */ getRequestedAttributes();
 }