Module documentation — PySynthetic 0.4.8 documentation

### Navigation

- index
- PySynthetic 0.4.8 documentation »

# Module documentation

## Underscore notation

`synthetic.` `naming_convention`(naming_convention)

  When applied to a class, this decorator will override the underscore naming convention of all (previous and following) `synthesizeMember()` calls on the class to `naming_convention`.

  Parameters: | naming_convention (INamingConvention) – The new naming convention.

`synthetic.` `synthesize_constructor`()

  This class decorator will override the class’s constructor by making it implicitly consume values for synthesized members and properties.

`synthetic.` `synthesize_member`(member_name, default=None, contract=None, read_only=False, getter_name=None, setter_name=None, private_member_name=None)
  When applied to a class, this decorator adds getter/setter methods to it and overrides the constructor in order to set the default value of the member.

    By default, the getter will be named `member_name`. (Ex.: `member_name = 'member' => instance.member()`)

    By default, the setter will be named `member_name` with ‘set_’ prepended it to it. (Ex.: `member_name = 'member' => instance.set_member(...)`)

    By default, the private attribute containing the member’s value will be named `member_name` with ‘_’ prepended to it.

    Naming convention can be overridden with a custom one using `naming_convention` decorator.

    raises: | `DuplicateMemberNameError` when two synthetic members have the same name.

  Parameters: | read_only (`bool`) – If set to `True`, the setter will not be added to the class. default (`*`) – Member’s default value. getter_name (`str|None`) – Custom getter name. This can be useful when the member is a boolean. (Ex.: `is_alive`) contract (`*`) – Type constraint. See PyContracts setter_name (`str|None`) – Custom setter name. member_name (`str`) – Name of the member to synthesize. private_member_name (`str|None`) – Custom name for the private attribute that contains the member’s value.

`synthetic.` `synthesize_property`(property_name, default=None, contract=None, read_only=False, private_member_name=None)

  When applied to a class, this decorator adds a property to it and overrides the constructor in order to set the default value of the property.

  > IMPORTANT: | In order for this to work on python 2, you must use new objects that is to say that the class must inherit from object.

  > By default, the private attribute containing the property’s value will be named `property_name` with ‘_’ prepended to it.

  > Naming convention can be overridden with a custom one using `naming_convention` decorator.

  > raises: | `DuplicateMemberNameError` when two synthetic members have the same name.
  > raises: | `InvalidPropertyOverrideError` when there’s already a member with that name and which is not a property.

  Parameters: | default (`*`) – Property’s default value. read_only (`bool`) – If set to `True`, the property will not a have a setter. private_member_name (`str|None`) – Custom name for the private attribute that contains the property’s value. contract (`*`) – Type constraint. See PyContracts property_name (`str`) – Name of the property to synthesize.

## CamelCase notation

Sorry Guido, but I like CamelCase.

`synthetic.` `namingConvention`(namingConvention)

  When applied to a class, this decorator will override the CamelCase naming convention of all (previous and following) `synthesizeMember()` calls on the class to `namingConvention`.

  Parameters: | namingConvention (INamingConvention) – The new naming convention.

`synthetic.` `synthesizeConstructor`()

  This class decorator will override the class’s constructor by making it implicitly consume values for synthesized members and properties.

`synthetic.` `synthesizeMember`(memberName, default=None, contract=None, readOnly=False, getterName=None, setterName=None, privateMemberName=None)
  When applied to a class, this decorator adds getter/setter methods to it and overrides the constructor in order to set the default value of the member.

    By default, the getter will be named `memberName`. (Ex.: `memberName = 'member' => instance.member()`)

    By default, the setter will be named `memberName` with the first letter capitalized and ‘set’ prepended it to it. (Ex.: `memberName = "member" => instance.setMember(...)`)

    By default, the private attribute containing the member’s value will be named `memberName` with ‘_’ prepended to it.

    Naming convention can be overridden with a custom one using `namingConvention` decorator.

    raises: | `DuplicateMemberNameError` when two synthetic members have the same name.

  Parameters: | privateMemberName (`str|None`) – Custom name for the private attribute that contains the member’s value. default (`*`) – Member’s default value. memberName (`str`) – Name of the member to synthesize. contract (`*`) – Type constraint. See PyContracts readOnly (`bool`) – If set to `True`, the setter will not be added to the class. setterName (`str|None`) – Custom setter name. getterName (`str|None`) – Custom getter name. This can be useful when the member is a boolean. (Ex.: `isAlive`)

`synthetic.` `synthesizeProperty`(propertyName, default=None, contract=None, readOnly=False, privateMemberName=None)

  When applied to a class, this decorator adds a property to it and overrides the constructor in order to set the default value of the property.

  > IMPORTANT: | In order for this to work on python 2, you must use new objects that is to say that the class must inherit from object.

  > By default, the private attribute containing the property’s value will be named `propertyName` with ‘_’ prepended to it.

  > Naming convention can be overridden with a custom one using `namingConvention` decorator.

  > raises: | `DuplicateMemberNameError` when two synthetic members have the same name.
  > raises: | `InvalidPropertyOverrideError` when there’s already a member with that name and which is not a property.

  Parameters: | default (`*`) – Property’s default value. propertyName (`str`) – Name of the property to synthesize. readOnly (`bool`) – If set to `True`, the property will not a have a setter. contract (`*`) – Type constraint. See PyContracts privateMemberName (`str|None`) – Custom name for the private attribute that contains the property’s value.

### Navigation

- index
- PySynthetic 0.4.8 documentation »