public interface  org.finos.legend.engine.authentication.DatabaseAuthenticationFlow extends java.lang.Object
{
public abstract java.lang.Class getDatasourceClass();
public abstract java.lang.Class getAuthenticationStrategyClass();
public abstract org.finos.legend.engine.protocol.pure.v.model.packageableElement.store.relational.connection.DatabaseType getDatabaseType();
public abstract org.finos.legend.engine.shared.core.identity.Credential makeCredential(org.finos.legend.engine.shared.core.identity.Identity, org.finos.legend.engine.protocol.pure.v.model.packageableElement.store.relational.connection.specification.DatasourceSpecification, org.finos.legend.engine.protocol.pure.v.model.packageableElement.store.relational.connection.authentication.AuthenticationStrategy) throws java.lang.Exception;
public org.finos.legend.engine.shared.core.identity.Credential makeCredential(org.finos.legend.engine.shared.core.identity.Identity, org.finos.legend.engine.protocol.pure.v.model.packageableElement.store.relational.connection.specification.DatasourceSpecification, org.finos.legend.engine.protocol.pure.v.model.packageableElement.store.relational.connection.authentication.AuthenticationStrategy, org.finos.legend.engine.authentication.DatabaseAuthenticationFlow$RuntimeContext) throws java.lang.Exception
{
org.finos.legend.engine.authentication.DatabaseAuthenticationFlow v;
org.finos.legend.engine.protocol.pure.v.model.packageableElement.store.relational.connection.specification.DatasourceSpecification v;
org.finos.legend.engine.shared.core.identity.Identity v;
org.finos.legend.engine.protocol.pure.v.model.packageableElement.store.relational.connection.authentication.AuthenticationStrategy v;
org.finos.legend.engine.shared.core.identity.Credential v;
org.finos.legend.engine.authentication.DatabaseAuthenticationFlow$RuntimeContext v;
v := @this: org.finos.legend.engine.authentication.DatabaseAuthenticationFlow;
v := @parameter: org.finos.legend.engine.shared.core.identity.Identity;
v := @parameter: org.finos.legend.engine.protocol.pure.v.model.packageableElement.store.relational.connection.specification.DatasourceSpecification;
v := @parameter: org.finos.legend.engine.protocol.pure.v.model.packageableElement.store.relational.connection.authentication.AuthenticationStrategy;
v := @parameter: org.finos.legend.engine.authentication.DatabaseAuthenticationFlow$RuntimeContext;
v = interfaceinvoke v.<org.finos.legend.engine.authentication.DatabaseAuthenticationFlow: org.finos.legend.engine.shared.core.identity.Credential makeCredential(org.finos.legend.engine.shared.core.identity.Identity,org.finos.legend.engine.protocol.pure.v.model.packageableElement.store.relational.connection.specification.DatasourceSpecification,org.finos.legend.engine.protocol.pure.v.model.packageableElement.store.relational.connection.authentication.AuthenticationStrategy)>(v, v, v);
return v;
}
public static org.finos.legend.engine.protocol.pure.v.model.packageableElement.store.relational.connection.flows.DatabaseAuthenticationFlowKey newKey(org.finos.legend.engine.authentication.DatabaseAuthenticationFlow)
{
org.finos.legend.engine.authentication.DatabaseAuthenticationFlow v;
org.finos.legend.engine.protocol.pure.v.model.packageableElement.store.relational.connection.flows.DatabaseAuthenticationFlowKey v;
org.finos.legend.engine.protocol.pure.v.model.packageableElement.store.relational.connection.DatabaseType v;
java.lang.Class v, v;
v := @parameter: org.finos.legend.engine.authentication.DatabaseAuthenticationFlow;
v = interfaceinvoke v.<org.finos.legend.engine.authentication.DatabaseAuthenticationFlow: org.finos.legend.engine.protocol.pure.v.model.packageableElement.store.relational.connection.DatabaseType getDatabaseType()>();
v = interfaceinvoke v.<org.finos.legend.engine.authentication.DatabaseAuthenticationFlow: java.lang.Class getDatasourceClass()>();
v = interfaceinvoke v.<org.finos.legend.engine.authentication.DatabaseAuthenticationFlow: java.lang.Class getAuthenticationStrategyClass()>();
v = staticinvoke <org.finos.legend.engine.protocol.pure.v.model.packageableElement.store.relational.connection.flows.DatabaseAuthenticationFlowKey: org.finos.legend.engine.protocol.pure.v.model.packageableElement.store.relational.connection.flows.DatabaseAuthenticationFlowKey newKey(org.finos.legend.engine.protocol.pure.v.model.packageableElement.store.relational.connection.DatabaseType,java.lang.Class,java.lang.Class)>(v, v, v);
return v;
}
}