Source code for connector.components.backend_adapter
# Copyright 2013-2017 Camptocamp SA
# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html)
"""
Backend Adapter
===============
An external adapter has a common interface to speak with the backend.
It translates the basic orders (search, read, write) to the protocol
used by the backend.
"""
from odoo.addons.component.core import AbstractComponent
[docs]class BackendAdapter(AbstractComponent):
""" Base Backend Adapter for the connectors """
_name = "base.backend.adapter"
_inherit = "base.connector"
_usage = "backend.adapter"
# pylint: disable=W8106
[docs]class CRUDAdapter(AbstractComponent):
""" Base External Adapter specialized in the handling
of records on external systems.
This is an empty shell, Components can inherit and implement their own
implementation for the methods.
"""
_name = "base.backend.adapter.crud"
_inherit = "base.backend.adapter"
_usage = "backend.adapter"
[docs] def search(self, *args, **kwargs):
""" Search records according to some criterias
and returns a list of ids """
raise NotImplementedError
[docs] def read(self, *args, **kwargs):
""" Returns the information of a record """
raise NotImplementedError
[docs] def search_read(self, *args, **kwargs):
""" Search records according to some criterias
and returns their information"""
raise NotImplementedError
[docs] def create(self, *args, **kwargs):
""" Create a record on the external system """
raise NotImplementedError
[docs] def write(self, *args, **kwargs):
""" Update records on the external system """
raise NotImplementedError
[docs] def delete(self, *args, **kwargs):
""" Delete a record on the external system """
raise NotImplementedError