Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Business Components
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## oracle.jbo.html.databeans
Class FindForm

    java.lang.Object
      |
      +--oracle.jdeveloper.html.WebBeanImpl
            |
            +--oracle.jdeveloper.html.DataWebBeanImpl
                  |
                  +--oracle.jbo.html.databeans.FindForm

public class FindForm
extends DataWebBeanImpl

The FindForm Data Web Bean generates a search form. The generated search form can be one of these types:

- simple search form - enabled by using the `useSimpleMode()` method. This FindForm contains a single edit control.
- advanced search form - enabled by using `clearSimpleMode()`. This FindForm includes edit controls where you can specify a column name, evaluation operators, and values.

JDeveloper's JSP Element wizard instantiates the `FindForm` class in a `jsp:useBean` tag in a `.jsp` file. Along with the class, the wizard also includes an ID and a scope declaration set to `request`. If you change the scope to any other value, you will have to handle possible multithreading issues.

The definition of a FindForm provided by the wizard includes these methods: `setTargetUrl`, `setUseSimpleMode`, `setReleaseApplicationResources`, `initialize`, and `render`. For example:

     <jsp:useBean   class="oracle.jbo.html.databeans.FindForm"  id="ffdetail"
                         scope="request" >
     <%

     	ffdetail.setTargetUrl("");
     	ffdetail.setUseSimpleMode("Ename");
     	ffdetail.setReleaseApplicationResources(false);
     	ffdetail.initialize(application,session, request,response,out,
                          "package3_Package3Module.EmpView");
     	ffdetail.render();
     %>
     </jsp:useBean>

The value assigned to the `setReleaseApplicationResources` method determines whether the Application Module is released after the FindForm Data Web Bean processes it. Typically, the value should not be set to true unless this is the last Web Bean to be processed in the JSP page.

Since the FindForm bean generates an HTML form, you need to actually make use of it in two JSP pages. One page will use the FindForm by initializing it and calling the `render()` method to generate the query submission UI. The target page would also make use of the FindForm and call `render()`, but the receiving page would be sent extra URL parameters that let the FindForm Web Bean know that it needs to execute the query instead of rendering the query screen.

For example, consider this code snippet from the file `DeptView_Query.jsp` generated by the Web Application Wizard. The snippet renders the FindForm, then lets you navigate through the query results one record at a time.

     <body>
     <center><h2>DeptView</h2></center>
     <br>
     <jsp:useBean id="RowQuery" class="oracle.jbo.html.databeans.FindForm"
                                         scope="request">
     <%
     	RowQuery.initialize(application, session , request, response, out,
                                "package1_Package1Module.DeptView");

     	RowQuery.setTargetUrl("DeptView_Query.jsp");
     	RowQuery.setReleaseApplicationResources(true);
     	RowQuery.render();

     %>
     </jsp:useBean>

     <%
     	if(RowQuery.queryWasExecuted())
         {
     %>
     <jsp:useBean   class="oracle.jbo.html.databeans.NavigatorBar"  id="tb"
                            scope="request" />
     <%
      tb.setTargetUrl("DeptView.jsp");
     tb.initialize(application,session, request,response,out,
                           "package1_Package1Module.DeptView");
     String sImageBase = (String)session.getValue("ImageBase");

     tb.getContainer().setImageBase(sImageBase);

          // code to define toolbar buttons

      tb.render();
     %>
     <br>
     <jsp:useBean id="RowViewer"
             class="oracle.jbo.html.databeans.ViewCurrentRecord" scope="request">
     <%
     	RowViewer.initialize(application, session , request, response, out,
                           "package1_Package1Module.DeptView");
     	RowViewer.setReleaseApplicationResources(true);
     	RowViewer.render();
     %>
     </jsp:useBean>
     <%
     	}
     %>
     </body>

The code snippet above initially renders the FindForm in the `DeptView_Query.jsp`. When the user clicks the "Add Condition" or "Clear Query" buttons, the `if(RowQuery.queryWasExecuted())` test will fail and the `.jsp` page will continue to render the FindForm.

- In the case of "Add Condition", the current query will be saved in the session cache and the FindForm will be rendered again so the user can add new conditions.
- In the case of "Clear Query", the current query will be removed, and the FindForm will be rendered again.

Since `setTargetUrl()` is set to `DeptView_Query.jsp`, the FindForm will be rendered "in-place". That is, `DeptView_Query.jsp` acts as its own target page.

When the user clicks "Execute Query", the FindForm query will be executed and the `if(RowQuery.queryWasExecuted())` test will pass. The results of the query will be displayed by the ViewCurrentRecord Data Web Bean. In this case, the ViewCurrentRecord Data Web Bean acts as the receiving page described above. Note that although this example uses the ViewCurrentRecord Data Web Bean to display the results, any appropriate Date Web Bean, such as RowSetBrowser, can be used.

Field Summary
`protected boolean` | `bSimpleMode`
`protected boolean` | `bWasExecuted`
`protected java.lang.String` | `sAttribute`
`protected int` | `simpleEditLength`
`protected java.lang.String` | `sTarget`
`protected java.lang.String` | `sTargetUrl`
`protected boolean` | `useJS`
`protected boolean` | `useRoundedCorners`

Fields inherited from class oracle.jdeveloper.html.DataWebBeanImpl
`attributeRenderers, bReleaseApplication, dispAttrs, qView, sApplication, sRowSetName`

Fields inherited from class oracle.jdeveloper.html.WebBeanImpl
`application, ctx, out, page, request, response, session`

Constructor Summary
`FindForm()`

Method Summary
`void` | `clearQueryConditions()` Internal: Applications should not use this method.
`void` | `clearSimpleMode()` Disables the simple search form UI and enables the advanced search form UI.
`void` | `execute()` Executes the query defined by the query definition.
`QueryDefinition` | `getQueryDefinition()` Internal: Applications should not use this method.
`int` | `getSimpleEditLength()` Retrieves the length of the edit control used in the rendering of the simple query form.
`java.lang.String` | `getTargetUrl()` Retrieves the URL being used as the target where the results of this Web Bean are displayed.
`java.lang.String` | `getUrlTargetWindow()` Returns the name of the window or form in which the row target URL will be displayed.
`boolean` | `isSimpleMode()` Determines whether the simple search mode of the FindForm UI is enabled.
`boolean` | `queryWasExecuted()` Determines whether the FindForm bean has executed the query.
`void` | `render()` Renders the Find Form.
`void` | `renderSimpleForm()` Renders the simple form version of the query form.
`void` | `saveQueryDefinition()` Internal: Applications should not use this method.
`void` | `setSimpleEditLength(int nLength)` Sets the length of the edit control used in the rendering of the simple query form.
`void` | `setTargetUrl(java.lang.String sUrl)` Sets the URL being used as the target where the results of this Web Bean are displayed.
`void` | `setUrlTargetWindow(java.lang.String sTarget)` Identifies the window or frame that will display the row target URL specified by the `setTargetUrl()` function.
`void` | `setUseJS(boolean bSet)`
`void` | `setUseSimpleMode(java.lang.String sAttribute)` Directs the FindForm bean to use the simple mode of the FindForm UI.

Methods inherited from class oracle.jdeveloper.html.DataWebBeanImpl
`clearDisplayAttributes, getApplicationFromContext, getApplicationName, getAttributeLabel, getDisplayAttributeDefs, getDisplayAttributes, getDisplayFieldRenderer, getEditFieldRenderer, getRowFromKey, getRowKey, getRowSet, getViewObjectName, handleCommit, initialize, initialize, initialize, internalInitialize, isAppStateful, releaseApplicationResources, releaseApplicationResources, setDisplayAttributes, setDisplayFieldRenderer, setDisplayFieldRenderer, setEditFieldRenderer, setEditFieldRenderer, setReleaseApplicationResources, setRowSet, shouldDisplayAttribute`

Methods inherited from class oracle.jdeveloper.html.WebBeanImpl
`generateScriptSrc, getCookie, getOut, getRenderingContext, getRequest, getRequestVariable, getUniqueName, initBeanForJS, initialize, initialize, initialize, render, setRequestVariable`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### sTargetUrl

    protected java.lang.String sTargetUrl

### bWasExecuted

    protected boolean bWasExecuted

### bSimpleMode

    protected boolean bSimpleMode

### sAttribute

    protected java.lang.String sAttribute

### sTarget

    protected java.lang.String sTarget

### useRoundedCorners

    protected boolean useRoundedCorners

### useJS

    protected boolean useJS

### simpleEditLength

    protected int simpleEditLength

Constructor Detail

### FindForm

    public FindForm()

Method Detail

### setSimpleEditLength

    public void setSimpleEditLength(int nLength)

  Sets the length of the edit control used in the rendering of the simple query form.

  Parameters:
    `nLength` - length of the edit control, measured in characters.

### getSimpleEditLength

    public int getSimpleEditLength()

  Retrieves the length of the edit control used in the rendering of the simple query form.

  Returns:
    length of the edit control, measured in characters.

### setUrlTargetWindow

    public void setUrlTargetWindow(java.lang.String sTarget)

  Identifies the window or frame that will display the row target URL specified by the `setTargetUrl()` function. That is, it identifies the window or form that will display the results generated by this web bean. If you did not specify a row target URL by using `setTargetUrl()`, then do not use this function. Also, if you are not using HTML FRAMES, there is no need to specify this function.

  Parameters:
    `sTarget` - window or form used to display the row target URL.

### getUrlTargetWindow

    public java.lang.String getUrlTargetWindow()

  Returns the name of the window or form in which the row target URL will be displayed. That is, it returns the name of the window or form where the results of this Web Bean will be displayed.

  Returns:
    name of the window or form in which the HTML FORM will be displayed.

### setUseSimpleMode

    public void setUseSimpleMode(java.lang.String sAttribute)

  Directs the FindForm bean to use the simple mode of the FindForm UI. The simple form of the UI displays a single edit control where you can enter the query criteria to be embedded in a SQL LIKE clause. The `sAttribute` parameter is the name of the View Object attribute to be used as part of the query. If you want to search multiple attributes with the same condition, you can use this method with a comma-delimited list. For example, `setUseSimpleMode("Job,JobDesc")`.

  If you want to use the advanced UI, follow `setUseSimpleMode` with `clearSimpleMode`. For example:

       ...
       setUseSimpleMode("Job");
       clearSimpleMode()
       ...

  Parameters:
    `sAttribute` - name of the View Object attribute used as part of the query.

### clearSimpleMode

    public void clearSimpleMode()

  Disables the simple search form UI and enables the advanced search form UI. The advanced UI includes fields that let you specify:

  - column name
  - negation operator
  - evaluation operators
  - search values

### isSimpleMode

    public boolean isSimpleMode()

  Determines whether the simple search mode of the FindForm UI is enabled.

  Returns:
    `true` if the simple search mode UI is enabled; `false` if the advanced search mode is enabled.

### queryWasExecuted

    public boolean queryWasExecuted()

  Determines whether the FindForm bean has executed the query. This method can be executed only when the user clicks the "Execute" button in the FindForm UI or presses the "Enter" key while in the simple search mode of the UI.

  Returns:
    `true` if the FindForm bean executed the query; `false` otherwise.

### getTargetUrl

    public java.lang.String getTargetUrl()

  Retrieves the URL being used as the target where the results of this Web Bean are displayed.

  Returns:
    target URL where this Web Bean's results are displayed.

### setTargetUrl

    public void setTargetUrl(java.lang.String sUrl)

  Sets the URL being used as the target where the results of this Web Bean are displayed.

  Parameters:
    `sUrl` - target URL where this Web Bean's results are displayed.

### saveQueryDefinition

    public void saveQueryDefinition()
                             throws java.lang.Exception

  Internal: Applications should not use this method.

  Saves the current definition of a query while a user adds additional conditions to it. When the user clicks the "Add Condition" button in the advanced find form UI the Web Bean handles the form submission and calls `saveQueryDefinition()` to save the current query definition.

### clearQueryConditions

    public void clearQueryConditions()
                              throws java.lang.Exception

  Internal: Applications should not use this method.

  Removes the conditions entered for a query in a form submission. When the user clicks the "Clear Condition" button, the Web Bean handles the form submission and calls `clearQueryConditions()` to remove any conditions entered in the Find Form UI.

### getQueryDefinition

    public QueryDefinition getQueryDefinition()

  Internal: Applications should not use this method.

  Returns the `QueryDefinition` stored in the session object. There is only one query definition active within a session. After the query is executed, the query definition is cleared.

  Returns:
    the active `QueryDefinition` object for this session object.

### setUseJS

    public void setUseJS(boolean bSet)

### execute

    public void execute()

  Executes the query defined by the query definition.

### renderSimpleForm

    public void renderSimpleForm()
                          throws java.lang.Exception

  Renders the simple form version of the query form. The simple form is rendered as a single edit field in which the user enters the search pattern. The value entered by the user then becomes part of a LIKE '%%' query. Use the simple form of the find window when you want to generate a more web-like query.

  If you use `renderSimpleForm()`, the simple Find Form UI will be rendered regardless of whether you specified `clearSimpleMode()`.

### render

    public void render()
                throws java.lang.Exception

  Renders the Find Form. This function calls the `renderSimpleForm()` function if the simple form UI has been enabled by using the `useSimpleMode()` function. If `clearSimpleMode()` has been specified, the advanced Find Form UI will be rendered instead.
  Overrides:
    render in class WebBeanImpl

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Business Components
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD