def __init__(self,<EOL>left_attribute,<EOL>right_attribute=None,<EOL>right=None,<EOL>**kwargs):
if not right_attribute and not right:<EOL><INDENT>raise ValueError('<STR_LIT>')<EOL><DEDENT>assert left_attribute is not None<EOL>self.left_attribute = left_attribute<EOL>self.right_attribute = right_attribute<EOL>self.right = right<EOL>
Constructor.

:type  left_attribute: str
:param left_attribute: The name of the attribute to which the value
                       is assigned.
:type  right: object
:param right: A static value that, when given, is assigned to
              left_attribute.
:type  right_attribute: str
:param right_attribute: When given, the attribute with the given
                        name is used as the source (instead of the
                        static value).
:type  kwargs: dict
:param kwargs: See :class:`SpiffWorkflow.specs.TaskSpec`.