CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
SequenceVisitors.PathValidator Class Reference
Inheritance diagram for SequenceVisitors.PathValidator:

Public Member Functions

def __init__ (self)
 
def enter (self, visitee)
 
def leave (self, visitee)
 
def setLabel (self, label)
 

Private Attributes

 __label
 

Detailed Description

Definition at line 22 of file SequenceVisitors.py.

Constructor & Destructor Documentation

◆ __init__()

def SequenceVisitors.PathValidator.__init__ (   self)

Definition at line 23 of file SequenceVisitors.py.

23  def __init__(self):
24  self.__label = ''

Member Function Documentation

◆ enter()

def SequenceVisitors.PathValidator.enter (   self,
  visitee 
)

Definition at line 27 of file SequenceVisitors.py.

27  def enter(self,visitee):
28  if isinstance(visitee,OutputModule):
29  raise ValueError("Path "+self.__label+"cannot contain an OutputModule, '"+visitee.type_()+"', with label '"+visitee.label_()+"'")
30  if visitee.isLeaf():
31  if isinstance(visitee, _Labelable):
32  if not visitee.hasLabel_():
33  raise ValueError("Path "+self.__label+"contains a module of type '"+visitee.type_()+"' which has no assigned label.")
34  elif isinstance(visitee, Service):
35  if not visitee._inProcess:
36  raise ValueError("Path "+self.__label+"contains a service of type '"+visitee.type_()+"' which is not attached to the process.\n")

References SequenceVisitors.PathValidator.__label, and Mixins._Labelable.__label.

◆ leave()

def SequenceVisitors.PathValidator.leave (   self,
  visitee 
)

Definition at line 37 of file SequenceVisitors.py.

37  def leave(self,visitee):
38  pass
39 
40 # Use this on EndPaths

◆ setLabel()

def SequenceVisitors.PathValidator.setLabel (   self,
  label 
)

Definition at line 25 of file SequenceVisitors.py.

25  def setLabel(self,label):
26  self.__label = "'"+label+"' "

References SequenceVisitors.PathValidator.__label, and Mixins._Labelable.__label.

Member Data Documentation

◆ __label

SequenceVisitors.PathValidator.__label
private