public interface jakarta.servlet.ServletContext
  minor version: 0
  major version: 59
  flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
  this_class: jakarta.servlet.ServletContext
  super_class: java.lang.Object
{
  public static final java.lang.String TEMPDIR;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "jakarta.servlet.context.tempdir"

  public static final java.lang.String ORDERED_LIBS;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "jakarta.servlet.context.orderedLibs"

  public abstract java.lang.String getContextPath();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract jakarta.servlet.ServletContext getContext(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljakarta/servlet/ServletContext;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
         Name  Flags
      uripath  

  public abstract int getMajorVersion();
    descriptor: ()I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract int getMinorVersion();
    descriptor: ()I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract int getEffectiveMajorVersion();
    descriptor: ()I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract int getEffectiveMinorVersion();
    descriptor: ()I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.lang.String getMimeType(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      file  

  public abstract java.util.Set<java.lang.String> getResourcePaths(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/Set;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/lang/String;)Ljava/util/Set<Ljava/lang/String;>;
    MethodParameters:
      Name  Flags
      path  

  public abstract java.net.URL getResource(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/net/URL;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws java.net.MalformedURLException
    MethodParameters:
      Name  Flags
      path  

  public abstract java.io.InputStream getResourceAsStream(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/io/InputStream;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      path  

  public abstract jakarta.servlet.RequestDispatcher getRequestDispatcher(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljakarta/servlet/RequestDispatcher;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      path  

  public abstract jakarta.servlet.RequestDispatcher getNamedDispatcher(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljakarta/servlet/RequestDispatcher;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      name  

  public abstract jakarta.servlet.Servlet getServlet(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljakarta/servlet/Servlet;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws jakarta.servlet.ServletException
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
      Name  Flags
      name  

  public abstract java.util.Enumeration<jakarta.servlet.Servlet> getServlets();
    descriptor: ()Ljava/util/Enumeration;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/util/Enumeration<Ljakarta/servlet/Servlet;>;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public abstract java.util.Enumeration<java.lang.String> getServletNames();
    descriptor: ()Ljava/util/Enumeration;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/util/Enumeration<Ljava/lang/String;>;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public abstract void log(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      msg   

  public abstract void log(java.lang.Exception, java.lang.String);
    descriptor: (Ljava/lang/Exception;Ljava/lang/String;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
           Name  Flags
      exception  
      msg        

  public abstract void log(java.lang.String, java.lang.Throwable);
    descriptor: (Ljava/lang/String;Ljava/lang/Throwable;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
           Name  Flags
      message    
      throwable  

  public abstract java.lang.String getRealPath(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      path  

  public abstract java.lang.String getServerInfo();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.lang.String getInitParameter(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      name  

  public abstract java.util.Enumeration<java.lang.String> getInitParameterNames();
    descriptor: ()Ljava/util/Enumeration;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/util/Enumeration<Ljava/lang/String;>;

  public abstract boolean setInitParameter(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
       Name  Flags
      name   
      value  

  public abstract java.lang.Object getAttribute(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      name  

  public abstract java.util.Enumeration<java.lang.String> getAttributeNames();
    descriptor: ()Ljava/util/Enumeration;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/util/Enumeration<Ljava/lang/String;>;

  public abstract void setAttribute(java.lang.String, java.lang.Object);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      name    
      object  

  public abstract void removeAttribute(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      name  

  public abstract java.lang.String getServletContextName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract jakarta.servlet.ServletRegistration$Dynamic addServlet(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljakarta/servlet/ServletRegistration$Dynamic;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
             Name  Flags
      servletName  
      className    

  public abstract jakarta.servlet.ServletRegistration$Dynamic addServlet(java.lang.String, jakarta.servlet.Servlet);
    descriptor: (Ljava/lang/String;Ljakarta/servlet/Servlet;)Ljakarta/servlet/ServletRegistration$Dynamic;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
             Name  Flags
      servletName  
      servlet      

  public abstract jakarta.servlet.ServletRegistration$Dynamic addServlet(java.lang.String, java.lang.Class<? extends jakarta.servlet.Servlet>);
    descriptor: (Ljava/lang/String;Ljava/lang/Class;)Ljakarta/servlet/ServletRegistration$Dynamic;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/lang/String;Ljava/lang/Class<+Ljakarta/servlet/Servlet;>;)Ljakarta/servlet/ServletRegistration$Dynamic;
    MethodParameters:
              Name  Flags
      servletName   
      servletClass  

  public abstract jakarta.servlet.ServletRegistration$Dynamic addJspFile(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljakarta/servlet/ServletRegistration$Dynamic;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
         Name  Flags
      jspName  
      jspFile  

  public abstract <T extends jakarta.servlet.Servlet> T createServlet(java.lang.Class<T>);
    descriptor: (Ljava/lang/Class;)Ljakarta/servlet/Servlet;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws jakarta.servlet.ServletException
    Signature: <T::Ljakarta/servlet/Servlet;>(Ljava/lang/Class<TT;>;)TT;
    MethodParameters:
      Name  Flags
      c     

  public abstract jakarta.servlet.ServletRegistration getServletRegistration(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljakarta/servlet/ServletRegistration;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
             Name  Flags
      servletName  

  public abstract java.util.Map<java.lang.String, ? extends jakarta.servlet.ServletRegistration> getServletRegistrations();
    descriptor: ()Ljava/util/Map;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/util/Map<Ljava/lang/String;+Ljakarta/servlet/ServletRegistration;>;

  public abstract jakarta.servlet.FilterRegistration$Dynamic addFilter(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljakarta/servlet/FilterRegistration$Dynamic;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
            Name  Flags
      filterName  
      className   

  public abstract jakarta.servlet.FilterRegistration$Dynamic addFilter(java.lang.String, jakarta.servlet.Filter);
    descriptor: (Ljava/lang/String;Ljakarta/servlet/Filter;)Ljakarta/servlet/FilterRegistration$Dynamic;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
            Name  Flags
      filterName  
      filter      

  public abstract jakarta.servlet.FilterRegistration$Dynamic addFilter(java.lang.String, java.lang.Class<? extends jakarta.servlet.Filter>);
    descriptor: (Ljava/lang/String;Ljava/lang/Class;)Ljakarta/servlet/FilterRegistration$Dynamic;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/lang/String;Ljava/lang/Class<+Ljakarta/servlet/Filter;>;)Ljakarta/servlet/FilterRegistration$Dynamic;
    MethodParameters:
             Name  Flags
      filterName   
      filterClass  

  public abstract <T extends jakarta.servlet.Filter> T createFilter(java.lang.Class<T>);
    descriptor: (Ljava/lang/Class;)Ljakarta/servlet/Filter;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws jakarta.servlet.ServletException
    Signature: <T::Ljakarta/servlet/Filter;>(Ljava/lang/Class<TT;>;)TT;
    MethodParameters:
      Name  Flags
      c     

  public abstract jakarta.servlet.FilterRegistration getFilterRegistration(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljakarta/servlet/FilterRegistration;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
            Name  Flags
      filterName  

  public abstract java.util.Map<java.lang.String, ? extends jakarta.servlet.FilterRegistration> getFilterRegistrations();
    descriptor: ()Ljava/util/Map;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/util/Map<Ljava/lang/String;+Ljakarta/servlet/FilterRegistration;>;

  public abstract jakarta.servlet.SessionCookieConfig getSessionCookieConfig();
    descriptor: ()Ljakarta/servlet/SessionCookieConfig;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract void setSessionTrackingModes(java.util.Set<jakarta.servlet.SessionTrackingMode>);
    descriptor: (Ljava/util/Set;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/util/Set<Ljakarta/servlet/SessionTrackingMode;>;)V
    MethodParameters:
                      Name  Flags
      sessionTrackingModes  

  public abstract java.util.Set<jakarta.servlet.SessionTrackingMode> getDefaultSessionTrackingModes();
    descriptor: ()Ljava/util/Set;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/util/Set<Ljakarta/servlet/SessionTrackingMode;>;

  public abstract java.util.Set<jakarta.servlet.SessionTrackingMode> getEffectiveSessionTrackingModes();
    descriptor: ()Ljava/util/Set;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/util/Set<Ljakarta/servlet/SessionTrackingMode;>;

  public abstract void addListener(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
           Name  Flags
      className  

  public abstract <T extends java.util.EventListener> void addListener();
    descriptor: (Ljava/util/EventListener;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T::Ljava/util/EventListener;>(TT;)V
    MethodParameters:
      Name  Flags
      t     

  public abstract void addListener(java.lang.Class<? extends java.util.EventListener>);
    descriptor: (Ljava/lang/Class;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/lang/Class<+Ljava/util/EventListener;>;)V
    MethodParameters:
               Name  Flags
      listenerClass  

  public abstract <T extends java.util.EventListener> T createListener(java.lang.Class<T>);
    descriptor: (Ljava/lang/Class;)Ljava/util/EventListener;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws jakarta.servlet.ServletException
    Signature: <T::Ljava/util/EventListener;>(Ljava/lang/Class<TT;>;)TT;
    MethodParameters:
      Name  Flags
      c     

  public abstract jakarta.servlet.descriptor.JspConfigDescriptor getJspConfigDescriptor();
    descriptor: ()Ljakarta/servlet/descriptor/JspConfigDescriptor;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.lang.ClassLoader getClassLoader();
    descriptor: ()Ljava/lang/ClassLoader;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract void declareRoles(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0481) ACC_PUBLIC, ACC_VARARGS, ACC_ABSTRACT
    MethodParameters:
           Name  Flags
      roleNames  

  public abstract java.lang.String getVirtualServerName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract int getSessionTimeout();
    descriptor: ()I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract void setSessionTimeout(int);
    descriptor: (I)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                Name  Flags
      sessionTimeout  

  public abstract java.lang.String getRequestCharacterEncoding();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract void setRequestCharacterEncoding(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
          Name  Flags
      encoding  

  public abstract java.lang.String getResponseCharacterEncoding();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract void setResponseCharacterEncoding(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
          Name  Flags
      encoding  
}
SourceFile: "ServletContext.java"
InnerClasses:
  public abstract Dynamic = jakarta.servlet.FilterRegistration$Dynamic of jakarta.servlet.FilterRegistration
  public abstract Dynamic = jakarta.servlet.ServletRegistration$Dynamic of jakarta.servlet.ServletRegistration