\org_openpsa_contacts_handler_rest_person

org.openpsa.contacts person rest handler

Use the various event handlers to customize startup.

The basic idea is that you have separate instances of this type for the various operations in your main viewer class. This avoids cluttering up the viewer class and gives you better maintainability due to smaller code files.

Under normal operation within the same component you don't need to think about any specialties, the member variables are just references to the main request class (also known as "viewer class").

Noteworthy is the ability to export handlers for usage in other components in both libraries and full components. To make the exported handler work correctly, you need to set $this->_component to the corresponding value of the exporting component. In this case, the startup code will take the main l10n instance, the component data storage and the configuration from the exporting component. The configuration in this case is merged from the global defaults (constructed during component/library startup) and the configuration parameters set on the topic where it is invoked.

Note, that the export "mode" is only invoked if and only if the component of the handler is different of the component of the main request class.

Summary

Methods
Properties
Constants
_on_initialize()
_handler_process()
retrieve_object()
bind_data()
persist_object()
get_object_classname()
handle_get()
handle_create()
handle_update()
handle_delete()
initialize()
show()
add_breadcrumb()
populate_breadcrumb_line()
bind_view_to_object()
__construct()
__get()
__isset()
set_active_leaf()
add_stylesheet()
get_workflow()
$_topic
$_request_data
$_master
$_node_toolbar
$_view_toolbar
$_component
$_i18n
$_l10n
$_l10n_midcom
$_config
No constants found
_init()
_process_request()
_stop()
$_request
$_response
$_responseStatus
$_object
$_mode
$_id
$router
N/A
_send_response()
_check_object()
$_breadcrumbs
$_services
N/A

Properties

$_topic

$_topic : \midcom_db_topic

The topic for which we are handling a request.

Type

\midcom_db_topic

$_request_data

$_request_data : Array

Request specific data storage area. Registered in the component context as ''.

Type

Array

$_node_toolbar

$_node_toolbar : \midcom_helper_toolbar

The node toolbar for the current request context. Not available during the can_handle phase.

Type

\midcom_helper_toolbar

$_view_toolbar

$_view_toolbar : \midcom_helper_toolbar

The view toolbar for the current request context. Not available during the can_handle phase.

Type

\midcom_helper_toolbar

$_component

$_component : string

The name of the component, e.g. net.nehmer.static. Should be used whenever the component's name is required instead of hardcoding it.

Type

string

$_i18n

$_i18n : \midcom_services_i18n

A handle to the i18n service.

Type

\midcom_services_i18n

$_l10n

$_l10n : \midcom_services_i18n_l10n

The components' L10n string database.

Type

\midcom_services_i18n_l10n

$_l10n_midcom

$_l10n_midcom : \midcom_services_i18n_l10n

The global MidCOM string database.

Type

\midcom_services_i18n_l10n

$_config

$_config : \midcom_helper_configuration

The current configuration.

Type

\midcom_helper_configuration

$_request

$_request : array

storing request data

Type

array

$_response

$_response : array

storing response data

Type

array

$_responseStatus

$_responseStatus : integer

the response status

Type

integer

$_mode

$_mode : string

the request mode (get, create, update, delete)

Type

string

$_id

$_id : mixed

the id or guid of the requested object

Type

mixed

$router

$router : \Symfony\Component\Routing\Router

Type

\Symfony\Component\Routing\Router

$_breadcrumbs

$_breadcrumbs : array

Holds breadcrumb entries the handler wants to add

Type

array

$_services

$_services : array

Array that holds the already instantiated services

Type

array

Methods

_on_initialize()

_on_initialize() 

Initialization event handler, called at the end of the initialization process.

Use this for all initialization work you need, as the component state is already populated when this event handler is called.

_handler_process()

_handler_process(mixed  $handler_id, array  $args, array  $data) 

the base handler that should be pointed to by the routes

Parameters

mixed $handler_id

The ID of the handler.

array $args

The argument list.

array $data

retrieve_object()

retrieve_object() : \midcom_core_dbaobject

retrieve the object based on classname and request parameters if we got an id, it will try to find an existing one, otherwise it will create a new one

Returns

\midcom_core_dbaobject

bind_data()

bind_data() 

binds the request data to the object

persist_object()

persist_object() 

writes the changes to the dba object to the db

get_object_classname()

get_object_classname() 

handle_get()

handle_get() 

handle_create()

handle_create() 

handle_update()

handle_update() 

handle_delete()

handle_delete() 

initialize()

initialize(\midcom_baseclasses_components_request  $master, \Symfony\Component\Routing\Router  $router) 

Initializes the request handler class, called by the component interface after instantiation.

Be aware that it is possible that a handler can come from a different component (or library) than the master class. Take this into account when getting the component data storage, configuration and l10n instances. Configuration is merged during runtime based on the system defaults and all parameters attached to the topic we're currently operating on.

Parameters

\midcom_baseclasses_components_request $master

The request class

\Symfony\Component\Routing\Router $router

show()

show(string  $element) : \midcom_response_styled

Generates a response with a given style element

Parameters

string $element

Returns

\midcom_response_styled

add_breadcrumb()

add_breadcrumb(string  $url, string  $title) 

Registers a new breadcrumb entry

Parameters

string $url

The URL

string $title

The text to display

populate_breadcrumb_line()

populate_breadcrumb_line() 

Adds the registered breadcrumb entries to context_data

bind_view_to_object()

bind_view_to_object(\midcom_core_dbaobject  $object, string  $page_class = 'default') 

Binds the current page view to a particular object. This will automatically connect such things like metadata and toolbars to the correct object.

Parameters

\midcom_core_dbaobject $object

The DBA class instance to bind to.

string $page_class

String describing page type, will be used for substyling

__construct()

__construct() 

Initialize all member variables, remember to set $_component before calling this constructor from your derived classes.

__get()

__get(  $field) 

Parameters

$field

__isset()

__isset(  $field) 

Parameters

$field

set_active_leaf()

set_active_leaf(  $leaf_id) 

Parameters

$leaf_id

add_stylesheet()

add_stylesheet(string  $url, string  $media = false) 

Convenience shortcut for adding CSS files

Parameters

string $url

The stylesheet URL

string $media

The media type(s) for the stylesheet, if any

get_workflow()

get_workflow(string  $identifier, array  $options = array()) : \midcom\workflow\dialog

Parameters

string $identifier
array $options

Returns

\midcom\workflow\dialog

_init()

_init() 

on init start processing the request data

_process_request()

_process_request() : \midcom_response_json

Do the processing: will call the corresponding handler method and set the mode

Returns

\midcom_response_json

_stop()

_stop(string  $message, integer  $statuscode = MIDCOM_ERRCRIT) 

stops the application and outputs the info message with corresponding statuscode

Parameters

string $message
integer $statuscode

_send_response()

_send_response(string  $message = false) : \midcom_response_json

sends the response as json containing the current response data

Parameters

string $message

Returns

\midcom_response_json

_check_object()

_check_object() 

helper function for checking if an object has been retrieved before using a function that needs one