<?xml version="1.0" encoding="UTF-8"?>
<!-- Reviewed: no -->
<sect2 id="zend.application.core-functionality.resource-resource">
    <title>Zend_Application_Resource_Resource</title>

    <para>
        <classname>Zend_Application_Resource_Resource</classname> is an interface for
        plugin resources used with bootstrap classes implementing
        <classname>Zend_Application_Bootstrap_ResourceBootstrapper</classname>. Resource
        plugins are expected to allow configuration, be bootstrap aware, and
        implement a strategy pattern for initializing the resource.
    </para>

    <table id="zend.application.core-functionality.resource-resource.api">
        <title>Zend_Application_Resource_Resource Interface</title>

        <tgroup cols="4">
            <thead>
                <row>
                    <entry>Method</entry>
                    <entry>Return Value</entry>
                    <entry>Parameters</entry>
                    <entry>Description</entry>
                </row>
            </thead>

            <tbody>
                <row>
                    <entry><methodname>__construct($options = null)</methodname></entry>
                    <entry><type>Void</type></entry>

                    <entry>
                        <itemizedlist>
                            <listitem>
                                <para>
                                    <varname>$options</varname>: <emphasis>optional</emphasis>.
                                    Options with which to set resource state.
                                </para>
                            </listitem>
                        </itemizedlist>
                    </entry>

                    <entry>
                        <para>
                            The constructor should allow passing options with which to initialize
                            state.
                        </para>
                    </entry>
                </row>

                <row>
                    <entry>
                        <methodname>setBootstrap(Zend_Application_Bootstrap_Bootstrapper
                            $bootstrap)</methodname>
                    </entry>

                    <entry><classname>Zend_Application_Resource_Resource</classname></entry>

                    <entry>
                        <itemizedlist>
                            <listitem>
                                <para>
                                    <varname>$bootstrap</varname>: <emphasis>required</emphasis>.
                                    Parent bootstrap initializing this resource.
                                </para>
                            </listitem>
                        </itemizedlist>
                    </entry>

                    <entry>
                        <para>Should allow registering the parent bootstrap object.</para>
                    </entry>
                </row>

                <row>
                    <entry><methodname>getBootstrap()</methodname></entry>
                    <entry><classname>Zend_Application_Bootstrap_Bootstrapper</classname></entry>
                    <entry>N/A</entry>
                    <entry><para>Retrieve the registered bootstrap instance.</para></entry>
                </row>

                <row>
                    <entry><methodname>setOptions(array $options)</methodname></entry>
                    <entry><classname>Zend_Application_Resource_Resource</classname></entry>

                    <entry>
                        <itemizedlist>
                            <listitem>
                                <para>
                                    <varname>$options</varname>: <emphasis>required</emphasis>.
                                    Options with which to set state.
                                </para>
                            </listitem>
                        </itemizedlist>
                    </entry>

                    <entry><para>Set resource state.</para></entry>
                </row>

                <row>
                    <entry><methodname>getOptions()</methodname></entry>
                    <entry><type>Array</type></entry>
                    <entry>N/A</entry>
                    <entry><para>Retrieve registered options.</para></entry>
                </row>

                <row>
                    <entry><methodname>init()</methodname></entry>
                    <entry><type>Mixed</type></entry>
                    <entry>N/A</entry>

                    <entry>
                        <para>Strategy pattern: run initialization of the resource.</para>
                    </entry>
                </row>
            </tbody>
        </tgroup>
    </table>
</sect2>
