edu.isi.pegasus.common.credential
public class CredentialHandlerFactory extends Object
Modifier and Type | Field and Description |
---|---|
static String |
DEFAULT_PACKAGE_NAME
The default package where the all the implementing classes are supposed to
reside.
|
private static String |
IRODS_IMPLEMENTING_CLASS |
private PegasusBag |
mBag
Handle to the PegasusBag
|
private static Map |
mImplementingClassNameTable
A table that maps, Pegasus style keys to the names of the corresponding classes
implementing the CondorStyle interface.
|
private Map<CredentialHandler.TYPE,CredentialHandler> |
mImplementingClassTable
A table that maps, Pegasus style keys to appropriate classes implementing the
CredentialHandler interface
|
private boolean |
mInitialized
A boolean indicating that the factory has been initialized.
|
private static String |
S3_IMPLEMENTING_CLASS |
private static String |
SSH_IMPLEMENTING_CLASS |
private static String |
X509_IMPLEMENTING_CLASS
The name of the class implementing the x509 credentials
|
Constructor and Description |
---|
CredentialHandlerFactory()
The default constructor.
|
Modifier and Type | Method and Description |
---|---|
private Object |
get(CredentialHandler.TYPE type)
Returns the implementation from the implementing class table.
|
private static Map<CredentialHandler.TYPE,String> |
implementingClassNameTable()
Returns a table that maps, the credential types to the implementing
classes.
|
void |
initialize(PegasusBag bag)
Initializes the Factory.
|
CredentialHandler |
loadInstance(CredentialHandler.TYPE type)
This method loads the appropriate implementing CondorStyle as specified
by the user at runtime.
|
private CredentialHandler |
loadInstance(PegasusBag bag,
String className)
This method loads the appropriate CredentialHandler using reflection.
|
private void |
put(CredentialHandler.TYPE type,
CredentialHandler implementation)
Inserts an entry into the implementing class table.
|
public static final String DEFAULT_PACKAGE_NAME
private static final String X509_IMPLEMENTING_CLASS
private static final String IRODS_IMPLEMENTING_CLASS
private static final String S3_IMPLEMENTING_CLASS
private static final String SSH_IMPLEMENTING_CLASS
private static Map mImplementingClassNameTable
private Map<CredentialHandler.TYPE,CredentialHandler> mImplementingClassTable
private boolean mInitialized
private PegasusBag mBag
public CredentialHandlerFactory()
private static Map<CredentialHandler.TYPE,String> implementingClassNameTable()
public void initialize(PegasusBag bag) throws CredentialHandlerFactoryException
bag
- the bag of initialization objectsCredentialHandlerFactoryException
- that nests any error that
might occur during the instantiation of the implementation.public CredentialHandler loadInstance(CredentialHandler.TYPE type) throws CredentialHandlerFactoryException
type
- the credential type that needs to be loaded.CredentialHandlerFactoryException
- that nests any error that
might occur during the instantiation of the implementation.private CredentialHandler loadInstance(PegasusBag bag, String className) throws CredentialHandlerFactoryException
bag
- the bag of initialization objectsclassName
- the name of the implementing class.CredentialHandlerFactoryException
- that nests any error that
might occur during the instantiation of the implementation.DEFAULT_PACKAGE_NAME
private Object get(CredentialHandler.TYPE type)
type
- the credential handler typeprivate void put(CredentialHandler.TYPE type, CredentialHandler implementation)
type
- the credential handler typeimplementation
- the class implementing that style.