# Interface AlphaRendererProviderInterface

Defines the renderer interface, which allows us to have various implementations (HTML, JSON, XML etc.) behind one unified interface. Use the AlphaRendererProviderFactory::getInstance() method to get instances of this.

#### Direct known implementers

AlphaRendererProviderHTML
Package: alpha::view::renderers
Copyright: Copyright (c) 2014, John Collins (founder of Alpha Framework). All rights reserved.

    Redistribution and use in source and binary forms, with or
    without modification, are permitted provided that the
    following conditions are met:

    * Redistributions of source code must retain the above
      copyright notice, this list of conditions and the
      following disclaimer.
    * Redistributions in binary form must reproduce the above
      copyright notice, this list of conditions and the
      following disclaimer in the documentation and/or other
      materials provided with the distribution.
    * Neither the name of the Alpha Framework nor the names
      of its contributors may be used to endorse or promote
      products derived from this software without specific
      prior written permission.

    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
    CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
    INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
    MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
    CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
    SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
    NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
    CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
    OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

License: The BSD License
Author: John Collins <dev@alphaframework.org>
Version: $Id: AlphaRendererProviderInterface.inc 1745 2014-03-29 15:19:05Z alphadevx $
Since: 1.2
Located at view/renderers/AlphaRendererProviderInterface.inc

Methods summary
`public` | # `setBO( `AlphaDAO` $BO )` Provide the BO that we are going render. Provide the BO that we are going render. #### Parameters $BO ``AlphaDAO`` $BO #### Since 1.2
`public string` | # `createView( array $fields = array() )` Renders the create view for the BO using the selected renderer. Renders the create view for the BO using the selected renderer. #### Parameters $fields `array` $fields Hash array of fields to pass to the template. #### Returns `string` #### Since 1.2
`public string` | # `editView( array $fields = array() )` Renders the edit view for the BO using the selected renderer. Renders the edit view for the BO using the selected renderer. #### Parameters $fields `array` $fields Hash array of fields to pass to the template. #### Returns `string` #### Since 1.2
`public string` | # `listView( array $fields = array() )` Renders the list view for the BO using the selected renderer. Renders the list view for the BO using the selected renderer. #### Parameters $fields `array` $fields Hash array of fields to pass to the template. #### Returns `string` #### Since 1.2
`public string` | # `detailedView( array $fields = array() )` Renders the detailed read-only view for the BO using the selected renderer. Renders the detailed read-only view for the BO using the selected renderer. #### Parameters $fields `array` $fields Hash array of fields to pass to the template. #### Returns `string` #### Since 1.2
`public string` | # `adminView( array $fields = array() )` Renders the admin view for the BO using the selected renderer. Renders the admin view for the BO using the selected renderer. #### Parameters $fields `array` $fields Hash array of fields to pass to the template. #### Returns `string` #### Since 1.2
`public static string` | # `displayPageHead( `AlphaController` $controller )` Renders the header content using the given renderer. Renders the header content using the given renderer. #### Parameters $controller ``AlphaController`` $controller #### Returns `string` #### Throws ``IllegalArguementException`` #### Since 1.2
`public static string` | # `displayPageFoot( `AlphaController` $controller )` Renders the footer content using the given renderer. Renders the footer content using the given renderer. #### Parameters $controller ``AlphaController`` $controller #### Returns `string` #### Since 1.2
`public static string` | # `displayUpdateMessage( string $message )` Renders an update (e.g. successful save) message. Renders an update (e.g. successful save) message. #### Parameters $message `string` $message #### Returns `string` #### Since 1.2
`public static string` | # `displayErrorMessage( string $message )` Renders an error (e.g. save failed) message. Renders an error (e.g. save failed) message. #### Parameters $message `string` $message #### Returns `string` #### Since 1.2
`public static string` | # `renderErrorPage( string $code, string $message )` Renders an error page with the supplied HTTP error code and a message. Renders an error page with the supplied HTTP error code and a message. #### Parameters $code `string` $code $message `string` $message #### Returns `string` #### Since 1.2
`public static string` | # `renderDeleteForm( )` Method to render a hidden HTML form for posting the OID of an object to be deleted. Method to render a hidden HTML form for posting the OID of an object to be deleted. #### Returns `string` #### Since 1.2
`public static string` | # `renderSecurityFields( )` Method to render a HTML form with two hidden, hashed (MD5) form fields to be used as a check to ensure that a post to the controller is being sent from the same server as hosting it. Method to render a HTML form with two hidden, hashed (MD5) form fields to be used as a check to ensure that a post to the controller is being sent from the same server as hosting it. #### Returns `string` #### Since 1.2
`public string` | # `renderIntegerField( string $name, string $label, string $mode, string $value = '', boolean $tableTags = true )` Renders an Integer field value. Renders an Integer field value. #### Parameters $name `string` $name The field name $label `string` $label The label to apply to the field $mode `string` $mode The field mode (create/edit/view) $value `string` $value The field value (optional) $tableTags `boolean` $tableTags Include table tags and label (optional) #### Returns `string` #### Since 1.2
`public string` | # `renderDoubleField( string $name, string $label, string $mode, string $value = '', boolean $tableTags = true )` Renders an Double field value. Renders an Double field value. #### Parameters $name `string` $name The field name $label `string` $label The label to apply to the field $mode `string` $mode The field mode (create/edit/view) $value `string` $value The field value (optional) $tableTags `boolean` $tableTags Include table tags and label (optional) #### Returns `string` #### Since 1.2
`public string` | # `renderBooleanField( string $name, string $label, string $mode, string $value = '' )` Renders an Boolean field value. Renders an Boolean field value. #### Parameters $name `string` $name The field name $label `string` $label The label to apply to the field $mode `string` $mode The field mode (create/edit/view) $value `string` $value The field value (optional) #### Returns `string` #### Since 1.2
`public string` | # `renderEnumField( string $name, string $label, string $mode, array $options, string $value = '' )` Renders an Enum field value. Renders an Enum field value. #### Parameters $name `string` $name The field name $label `string` $label The label to apply to the field $mode `string` $mode The field mode (create/edit/view) $options `array` $options The Enum options $value `string` $value The field value (optional) #### Returns `string` #### Since 1.0
`public string` | # `renderDEnumField( string $name, string $label, string $mode, array $options, string $value = '', boolean $tableTags = true )` Renders an DEnum field value. Renders an DEnum field value. #### Parameters $name `string` $name The field name $label `string` $label The label to apply to the field $mode `string` $mode The field mode (create/edit/view) $options `array` $options The DEnum options $value `string` $value The field value (optional) $tableTags `boolean` $tableTags Include table tags and label (optional) #### Returns `string` #### Since 1.2
`public string` | # `renderDefaultField( string $name, string $label, string $mode, string $value = '' )` Method to render a field when type is not known. Method to render a field when type is not known. #### Parameters $name `string` $name The field name $label `string` $label The label to apply to the field $mode `string` $mode The field mode (create/edit/view) $value `string` $value The field value (optional) #### Returns `string` #### Since 1.2
`public string` | # `renderTextField( string $name, string $label, string $mode, string $value = '', boolean $tableTags = true )` Renders a Text field value. Renders a Text field value. #### Parameters $name `string` $name The field name $label `string` $label The label to apply to the field $mode `string` $mode The field mode (create/edit/view) $value `string` $value The field value (optional) $tableTags `boolean` $tableTags Include table tags and label (optional) #### Returns `string` #### Since 1.0
`public string` | # `renderStringField( string $name, string $label, string $mode, string $value = '' )` Renders a String field value. Renders a String field value. #### Parameters $name `string` $name The field name $label `string` $label The label to apply to the field $mode `string` $mode The field mode (create/edit/view) $value `string` $value The field value (optional) #### Returns `string` #### Since 1.2.2
`public string` | # `renderRelationField( string $name, string $label, string $mode, string $value = '', boolean $tableTags = true, boolean $expanded = false, boolean $buttons = true )` Renders a Relation field value. Renders a Relation field value. #### Parameters $name `string` $name The field name $label `string` $label The label to apply to the field $mode `string` $mode The field mode (create/edit/view) $value `string` $value The field value (optional) $tableTags `boolean` $tableTags Include table tags and label (optional) $expanded `boolean` $expanded Render the related fields in expanded format or not (optional) $buttons `boolean` $buttons Render buttons for expanding/contacting the related fields (optional) #### Returns `string` #### Since 1.2
`public string` | # `renderAllFields( string $mode, array $filterFields = array(), array $readOnlyFields = array() )` Convenience method that renders all fields for the current BO in edit/create/view mode. Convenience method that renders all fields for the current BO in edit/create/view mode. #### Parameters $mode `string` $mode (view|edit|create) $filterFields `array` $filterFields Optional list of field names to exclude from rendering. $readOnlyFields `array` $readOnlyFields Optional list of fields to render in a readonly fashion when rendering in create or edit mode. #### Returns `string` #### Since 1.2