BBjJettyContext::contains

Description

In BBj 15.00 and higher, this method indicates if the specified attribute exists in the current BBjJettyContext.

Syntax

Return Value

Method

boolean

contains(String name)

Parameters

Parameter

Description

name

Specifies the name of the attribute.

Return Value

Returns True=1 if the attribute exists in the current BBjJettyContext.

Remarks

None.

Example

declare BBjServletData data!

data! = BBjAPI().getServletData()

declare MyServlet myServlet!

myServlet! = new MyServlet()

data!.setCallback(data!.ON_WEB_CONNECTION, myServlet!, "myMethod") 

PROCESS_EVENTS

class public MyServlet

 field private BBjNumber chan
 field private BBjHttpSession session!
 field private BBjHttpRequest request!
 field private BBjJettyContext context!

 method public void myMethod(BBjServletEvent p_event!)

   #chan = UNT
   #request! = cast(BBjHttpRequest,p_event!.getHttpRequest())
   #session! = cast(BBjHttpSession,#request!.getSession())
   #context! = cast(BBjJettyContext,#session!.getContext())

   response! = p_event!.getHttpResponse()
   response!.setContentType("text/html")

   open(#chan)"JSERVLET"

   print(#chan)"<html>"
   print(#chan)"<body>"
   print(#chan)"<h1>BBj Context Test</h1>"
   print(#chan)"<h3>Running in context <b>"
   print(#chan)#context!.getContextName()
   print(#chan)"</b></h3>"
   print(#chan)"<hr>"

   #processChanges()
   #renderInitParameters()
   print(#chan)"<hr>"
   #renderAttributes()

   print(#chan)"</body>"
   print(#chan)"</html>"
   close(#chan)
 methodend

 

 method private void processChanges()
   if #request!.getParameterNames().contains("add") then
     n$ = #request!.getParameter("name")
     v$ = #request!.getParameter("value")
     #context!.setAttribute(n$,v$)
   endif

   #context!.removeAttribute(#request!.getParameter("delete"))
 methodend  

 method private void renderInitParameters()

   vectParamNames! = #context!.getInitParameterNames()

   if vectParamNames!.size() then
     print(#chan)"<table>"
     print(#chan)"<tr>"
     print(#chan)"<td>Parameter Name</td>"
     print(#chan)"<td>&nbsp;</td>"
     print(#chan)"<td>Value</td>"
     print(#chan)"</tr>"

     for i = 0 to vectParamNames!.size() -1
       n$ = vectParamNames!.get(i)
       v$ = cast(BBjString,#context!.getInitParameter(n$))
       print(#chan)"<tr>"
       print(#chan)"<td>" + n$ + "</td>"
       print(#chan)"<td/>"
       print(#chan)"<td>" + v$ + "</td>"
       print(#chan)"</tr>"
     next i

     print(#chan)"</table>"
   endif
 methodend

 method public void renderAttributes()
   vectAttribNames! = #context!.getAttributeNames()

   print(#chan)"<table>"
   print(#chan)"<tr>"
   print(#chan)"<td>Attribute Name</td>"
   print(#chan)"<td>&nbsp;</td>"
   print(#chan)"<td>value</td>"
   print(#chan)"<td/>"
   print(#chan)"</tr>"

   if vectAttribNames!.size() then
     for i = 0 to vectAttribNames!.size() -1
       n$ = vectAttribNames!.get(i)
       v$ = cast(BBjString,#context!.getAttribute(n$))

       print(#chan)"<tr>"
       print(#chan)"<td>" + n$ + "</td>"
       print(#chan)"<td />"
       print(#chan)"<td>" + v$ +"</td>"
       print(#chan)"<form method='post'>"
       print(#chan)"<td>"
       print(#chan)"<input type='hidden' name='delete' value='"+n$+"'>"
       print(#chan)"<input type='submit' value='DEL'/>"
       print(#chan)"</td>"
       print(#chan)"</form>"
       print(#chan)"</tr>"
     next i
   endif

   print(#chan)"<form method='post'>"
   print(#chan)"<tr>"
   print(#chan)"<td><input name='name' /></td>"
   print(#chan)"<td />"
   print(#chan)"<td><input name='value'/></td>"
   print(#chan)"<td><input type='submit' name='add' value='ADD'/></td>"
   print(#chan)"</tr>"
   print(#chan)"</form>"
   print(#chan)"</table>"
 methodend
classend 

See Also

BBjAPI

See the BBj Object Diagram for an illustration of the relationship between BBj Objects.