libbio
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
bio::physical::JsonAxis Class Reference

#include <JsonAxis.h>

Inheritance diagram for bio::physical::JsonAxis:
Inheritance graph
[legend]
Collaboration diagram for bio::physical::JsonAxis:
Collaboration graph
[legend]

Public Member Functions

 JsonAxis ()
 
virtual ~JsonAxis ()
 
virtual Pointer< SymmetryRotate (std::string encoded) const
 
virtual ::std::string Rotate (Pointer< const Symmetry > symmetry) const
 
virtual Pointer< SymmetryRotate (std::string) const
 
- Public Member Functions inherited from bio::physical::Axis
 Axis ()
 
virtual ~Axis ()
 
virtual ::std::string Rotate (Pointer< const Symmetry > symmetry) const
 
virtual ::std::string operator| (Pointer< Wave > particle) const
 
virtual Pointer< Symmetryoperator() (std::string encoded) const
 

Static Public Member Functions

::std::string SymmetryJsonToRaw (const ::std::string &symmetryJson)
 
::std::string RawJsonToSymmetryJson (const ::std::string &rawJson)
 
- Static Public Member Functions inherited from bio::physical::Axis
::std::string Failed ()
 

Protected Member Functions

virtual ::std::string Encode (Pointer< const Symmetry > symmetry) const
 
- Protected Member Functions inherited from bio::physical::Axis
virtual ::std::string Encode (Pointer< const Symmetry > symmetry) const
 

Detailed Description

A minimal JSON Axis for Symmetry objects (including nested Symmetries).
The JSON produced by this Axis is intentionally simple and only supports string fields.

Constructor & Destructor Documentation

◆ JsonAxis()

bio::physical::JsonAxis::JsonAxis ( )

◆ ~JsonAxis()

bio::physical::JsonAxis::~JsonAxis ( )
virtual

Member Function Documentation

◆ Encode()

std::string bio::physical::JsonAxis::Encode ( Pointer< const Symmetry symmetry) const
protected

Encode a single Symmetry to JSON.

Parameters
symmetry
Returns
JSON string or Failed().

◆ RawJsonToSymmetryJson()

std::string bio::physical::JsonAxis::RawJsonToSymmetryJson ( const ::std::string &  rawJson)
static

Convert raw JSON to symmetry-json.

Parameters
rawJsonstandard JSON.
Returns
symmetry-json or Failed().
Note
Numbers are parsed via bio::Number (double/long long). Very large integers may lose precision; callers should encode those as strings.

◆ Rotate() [1/3]

std::string bio::physical::Axis::Rotate ( Pointer< const Symmetry symmetry) const

Express the given Symmetry into something intelligible by another system.

Parameters
symmetry
Returns
text, possibly a command (like mysql), structured values (like json), an entire program (like python), etc. or Failed().

◆ Rotate() [2/3]

Pointer< Symmetry > bio::physical::JsonAxis::Rotate ( std::string  encoded) const
virtual

Decode the JSON string into a Symmetry.

Parameters
encodedJSON encoded by this Axis.
Returns
a new Symmetry or NULL on failure.

Reimplemented from bio::physical::Axis.

◆ Rotate() [3/3]

Pointer< Symmetry > bio::physical::Axis::Rotate ( std::string  ) const
virtual

Express the given text into something intelligible by this system.

Returns
Symmetry* which can be Reified or NULL.

Reimplemented from bio::physical::Axis.

◆ SymmetryJsonToRaw()

std::string bio::physical::JsonAxis::SymmetryJsonToRaw ( const ::std::string &  symmetryJson)
static

Convert symmetry-json to raw JSON.

Parameters
symmetryJsonJSON produced by JsonAxis.
Returns
raw JSON or Failed().

The documentation for this class was generated from the following files: