Vizitown
 All Classes Namespaces Files Functions Variables
vizitown_plugin.vt_utils_singleton.Singleton Class Reference

Singleton Class define a pattern to limit the number of instance in run at once. More...

Collaboration diagram for vizitown_plugin.vt_utils_singleton.Singleton:
Collaboration graph

Public Member Functions

def __init__
 The Constructor. More...
 
def instance
 Instance method Returns the singleton instance. More...
 
def __call__
 Call method. More...
 
def __instancecheck__
 Instance check. More...
 

Private Attributes

 _decorated
 
 _instance
 

Detailed Description

Singleton Class define a pattern to limit the number of instance in run at once.

A non-thread-safe helper class to ease implementing singletons. This should be used as a decorator – not a metaclass – to the class that should be a singleton.

The decorated class can define one __init__ function that takes only the self argument. Other than that, there are no restrictions that apply to the decorated class.

To get the singleton instance, use the Instance method. Trying to use __call__ will result in a TypeError being raised.

Limitations: The decorated class cannot be inherited from.

Constructor & Destructor Documentation

def vizitown_plugin.vt_utils_singleton.Singleton.__init__ (   self,
  decorated 
)

The Constructor.

Parameters
decoratedis the class to decorate with this pattern

Member Function Documentation

def vizitown_plugin.vt_utils_singleton.Singleton.__call__ (   self)

Call method.

Returns
an error if they are called
def vizitown_plugin.vt_utils_singleton.Singleton.__instancecheck__ (   self,
  inst 
)

Instance check.

Parameters
instan instance to check
Returns
if an instance already exists
def vizitown_plugin.vt_utils_singleton.Singleton.instance (   self)

Instance method Returns the singleton instance.

Upon its first call, it creates a new instance of the decorated class and calls its __init__ method. On all subsequent calls, the already created instance is returned.

Member Data Documentation

vizitown_plugin.vt_utils_singleton.Singleton._decorated
private
vizitown_plugin.vt_utils_singleton.Singleton._instance
private

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