Package rekall :: Package ui :: Module renderer :: Class ObjectRenderer
[frames] | no frames]

Class ObjectRenderer

source code


Baseclass for all TestRenderer object renderers.

Nested Classes
  __metaclass__
Automatic Plugin Registration through metaclasses.
  top_level_class
Baseclass for all TestRenderer object renderers.
Instance Methods
 
__init__(self, renderer=None, session=None, **options)
x.__init__(...) initializes x; see help(type(x)) for signature
source code
 
DelegateObjectRenderer(self, item)
Create an object renderer for an item based on this object renderer.
source code
 
render_header(self, name=None, **options)
This should be overloaded to return the header Cell.
source code
 
render_row(self, target, **options)
Render the target suitably.
source code

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __str__, __subclasshook__

Class Methods
 
ByName(cls, name, renderer)
A constructor for an ObjectRenderer by name.
source code
 
FromMRO(cls, mro, renderer)
Get the best object renderer class from the MRO.
source code
 
ForTarget(cls, target, renderer)
Get the best ObjectRenderer to encode this target.
source code
 
ForType(cls, target_type, renderer)
Get the best ObjectRenderer to encode this target type.
source code
 
cache_key(cls, item)
Return a suitable cache key.
source code
 
ImplementationByClass(self, name) source code
 
ImplementationByName(self, name) source code
Static Methods
 
get_mro(item)
Return the MRO of an item.
source code
Class Variables
  renders_type = 'object'
  renderers = []
  classes = {'ArrayObjectRenderer': <class 'rekall.plugins.rende...
  classes_by_name = {None: [<class 'rekall.ui.renderer.ObjectRen...
  plugin_feature = 'ObjectRenderer'
Properties

Inherited from object: __class__

Method Details

__init__(self, renderer=None, session=None, **options)
(Constructor)

source code 

x.__init__(...) initializes x; see help(type(x)) for signature

Overrides: object.__init__
(inherited documentation)

ForTarget(cls, target, renderer)
Class Method

source code 
Get the best ObjectRenderer to encode this target.

ObjectRenderer instances are chosen based on both the taget and the
renderer they implement.

Args:
  taget: The target object to render. We walk the MRO to select the best
    renderer. This is a python object to be rendered.

  renderer: The renderer that will be used. This can be a string
     (e.g. "TextRenderer") or a renderer instance.

Returns:
  An ObjectRenderer class which is best suited for rendering the target.

ForType(cls, target_type, renderer)
Class Method

source code 
Get the best ObjectRenderer to encode this target type.

ObjectRenderer instances are chosen based on both the taget and the
renderer they implement.

Args:
  taget_type: Type of the rendered object. We walk the MRO to select
    the best renderer.

  renderer: The renderer that will be used. This can be a string
     (e.g. "TextRenderer") or a renderer instance.

Returns:
  An ObjectRenderer class which is best suited for rendering the target.

DelegateObjectRenderer(self, item)

source code 

Create an object renderer for an item based on this object renderer.

This is useful when delegating to render something else.

render_header(self, name=None, **options)

source code 
This should be overloaded to return the header Cell.

Note that typically the same ObjectRenderer instance will be used to
render all Cells in the same column.

Args:
  name: The name of the Column.
  options: The options of the column (i.e. the dict which defines the
    column).

Return:
  A Cell instance containing the formatted Column header.

render_row(self, target, **options)

source code 
Render the target suitably.

Args:
  target: The object to be rendered.

  options: A dict containing rendering options. The options are created
    from the column options, overriden by the row options and finally
    the cell options.  It is ok for an instance to ignore some or all of
    the options. Some options only make sense in certain Renderer
    contexts.

Returns:
  A Cell instance containing the rendering of target.


Class Variable Details

classes

Value:
{'ArrayObjectRenderer': <class 'rekall.plugins.renderers.json_storage.\
ArrayObjectRenderer'>,
 'ArrotTimestampObjectRenderer': <class 'rekall.plugins.renderers.base\
_objects.ArrotTimestampObjectRenderer'>,
 'ArrowObjectRenderer': <class 'rekall.plugins.renderers.json_storage.\
ArrowObjectRenderer'>,
 'ArtifactResult_DataExportObjectRenderer': <class 'rekall.plugins.res\
ponse.forensic_artifacts.ArtifactResult_DataExportObjectRenderer'>,
...

classes_by_name

Value:
{None: [<class 'rekall.ui.renderer.ObjectRenderer'>,
        <class 'rekall.ui.json_renderer.JsonObjectRenderer'>,
        <class 'rekall.ui.json_renderer.StateBasedObjectRenderer'>,
        <class 'rekall.ui.json_renderer.StringRenderer'>,
        <class 'rekall.ui.json_renderer.BaseObjectRenderer'>,
        <class 'rekall.ui.json_renderer.JSTreeNodeRenderer'>,
        <class 'rekall.ui.text.TextObjectRenderer'>,
        <class 'rekall.ui.text.AttributedStringRenderer'>,
...