package com.l7tech.gateway.common.admin;

import com.l7tech.gateway.common.audit.AuditAdmin;
import com.l7tech.gateway.common.cassandra.CassandraConnectionManagerAdmin;
import com.l7tech.gateway.common.cluster.ClusterStatusAdmin;
import com.l7tech.gateway.common.custom.CustomAssertionsRegistrar;
import com.l7tech.gateway.common.jdbc.JdbcAdmin;
import com.l7tech.gateway.common.log.LogSinkAdmin;
import com.l7tech.gateway.common.resources.ResourceAdmin;
import com.l7tech.gateway.common.security.TrustedCertAdmin;
import com.l7tech.gateway.common.security.rbac.RbacAdmin;
import com.l7tech.gateway.common.service.ServiceAdmin;
import com.l7tech.gateway.common.siteminder.SiteMinderAdmin;
import com.l7tech.gateway.common.task.ScheduledTaskAdmin;
import com.l7tech.gateway.common.transport.TransportAdmin;
import com.l7tech.gateway.common.transport.email.EmailListenerAdmin;
import com.l7tech.gateway.common.transport.ftp.FtpAdmin;
import com.l7tech.gateway.common.transport.jms.JmsAdmin;

public interface AdminContext {
   AdminLogin getAdminLogin() throws SecurityException;

   IdentityAdmin getIdentityAdmin() throws SecurityException;

   ServiceAdmin getServiceAdmin() throws SecurityException;

   FolderAdmin getFolderAdmin() throws SecurityException;

   JmsAdmin getJmsAdmin() throws SecurityException;

   JdbcAdmin getJdbcConnectionAdmin() throws SecurityException;

   CassandraConnectionManagerAdmin getCassandraConnecitonAdmin() throws SecurityException;

   SiteMinderAdmin getSiteMinderConfigurationAdmin() throws SecurityException;

   FtpAdmin getFtpAdmin() throws SecurityException;

   TrustedCertAdmin getTrustedCertAdmin() throws SecurityException;

   ResourceAdmin getResourceAdmin() throws SecurityException;

   CustomAssertionsRegistrar getCustomAssertionsRegistrar() throws SecurityException;

   AuditAdmin getAuditAdmin() throws SecurityException;

   ClusterStatusAdmin getClusterStatusAdmin() throws SecurityException;

   KerberosAdmin getKerberosAdmin() throws SecurityException;

   RbacAdmin getRbacAdmin() throws SecurityException;

   TransportAdmin getTransportAdmin() throws SecurityException;

   EmailListenerAdmin getEmailListenerAdmin() throws SecurityException;

   PolicyAdmin getPolicyAdmin() throws SecurityException;

   LogSinkAdmin getLogSinkAdmin() throws SecurityException;

   ScheduledTaskAdmin getScheduledTaskAdmin() throws SecurityException;

   UDDIRegistryAdmin getUDDIRegistryAdmin() throws SecurityException;

   <AI> AI getAdminInterface(Class<AI> var1) throws SecurityException;
}
