package net.deterlab.abac; import java.io.*; import java.util.*; import java.lang.reflect.*; /** * This class parses one or more Credentials. Each class that wants to be * parsed needs to export a static method that returns one of these. For * credentials that parse 1 credential to 1 input it will be a wrapper around a * constructor. * @author ISI ABAC team * @version 1.3 */ public abstract class CredentialParser { /** * Parse one or more Credentials from the given input and IDs. The * sub-type of Credential returned is up to this class. * @param is an InputStream to be parsed * @param ids a Collection of Identity s to use in validating credentials. * @return an array of Credentials * @throws ABACException on parsing problems */ public abstract Credential[] parseCredential(InputStream is, Collection ids) throws ABACException; }