CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions
Mixins._ValidatingListBase Class Reference
Inheritance diagram for Mixins._ValidatingListBase:
Mixins._ValidatingParameterListBase Mixins.TestList SequenceTypes.Schedule Types.vbool Types.vdouble Types.VESInputTag Types.VEventID Types.VEventRange Types.VInputTag Types.vint32 Types.vint64 Types.VLuminosityBlockID Types.VLuminosityBlockRange Types.VPSet Types.vstring Types.vuint32 Types.vuint64

Public Member Functions

def __add__ (self, rhs)
 
def __init__ (self, arg, args)
 
def __setitem__ (self, key, value)
 
def append (self, x)
 
def extend (self, x)
 
def insert (self, i, x)
 

Private Member Functions

def _isValid (self, seq)
 
def _labelIfAny (self)
 

Detailed Description

Base class for a list which enforces that its entries pass a 'validity' test

Definition at line 544 of file Mixins.py.

Constructor & Destructor Documentation

def Mixins._ValidatingListBase.__init__ (   self,
  arg,
  args 
)

Definition at line 546 of file Mixins.py.

References Mixins.UsingBlock._isValid(), Mixins._ValidatingListBase._isValid(), join(), and str.

546  def __init__(self,*arg,**args):
547  super(_ValidatingListBase,self).__init__(arg)
548  if 0 != len(args):
549  raise SyntaxError("named arguments ("+','.join([x for x in args])+") passsed to "+str(type(self)))
550  if not self._isValid(iter(self)):
551  raise TypeError("wrong types ("+','.join([str(type(value)) for value in iter(self)])+
552  ") added to "+str(type(self)))
def __init__(self, arg, args)
Definition: Mixins.py:546
def _isValid(self, seq)
Definition: Mixins.py:561
static std::string join(char **cmd)
Definition: RemoteFile.cc:18
#define str(s)

Member Function Documentation

def Mixins._ValidatingListBase.__add__ (   self,
  rhs 
)

Definition at line 577 of file Mixins.py.

References Mixins.UsingBlock._isValid(), Mixins._ValidatingListBase._isValid(), and Mixins._ValidatingListBase._labelIfAny().

Referenced by counter.Counter.__iadd__(), and average.Average.__iadd__().

577  def __add__(self,rhs):
578  if not self._isValid(rhs):
579  raise TypeError("wrong type being added to container "+self._labelIfAny())
580  import copy
581  value = copy.copy(self)
582  value.extend(rhs)
583  return value
def _isValid(self, seq)
Definition: Mixins.py:561
def __add__(self, rhs)
Definition: Mixins.py:577
def Mixins._ValidatingListBase.__setitem__ (   self,
  key,
  value 
)

Definition at line 553 of file Mixins.py.

References Mixins.UsingBlock._isValid(), Mixins._ValidatingListBase._isValid(), SequenceTypes.Schedule._itemIsValid(), Mixins.TestList._itemIsValid(), Types.vint32._itemIsValid(), Types.vuint32._itemIsValid(), Types.vint64._itemIsValid(), Types.vuint64._itemIsValid(), Types.vdouble._itemIsValid(), Types.vbool._itemIsValid(), Types.vstring._itemIsValid(), Types.VLuminosityBlockID._itemIsValid(), Types.VInputTag._itemIsValid(), Types.VESInputTag._itemIsValid(), Types.VEventID._itemIsValid(), Types.VLuminosityBlockRange._itemIsValid(), Types.VEventRange._itemIsValid(), Types.VPSet._itemIsValid(), Mixins._ValidatingListBase._labelIfAny(), and str.

553  def __setitem__(self,key,value):
554  if isinstance(key,slice):
555  if not self._isValid(value):
556  raise TypeError("wrong type being inserted into this container "+self._labelIfAny())
557  else:
558  if not self._itemIsValid(value):
559  raise TypeError("can not insert the type "+str(type(value))+" in container "+self._labelIfAny())
560  super(_ValidatingListBase,self).__setitem__(key,value)
def _isValid(self, seq)
Definition: Mixins.py:561
def __setitem__(self, key, value)
Definition: Mixins.py:553
#define str(s)
def Mixins._ValidatingListBase._isValid (   self,
  seq 
)
private
def Mixins._ValidatingListBase._labelIfAny (   self)
private

Definition at line 588 of file Mixins.py.

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

Referenced by Mixins._ValidatingListBase.__add__(), Mixins._ValidatingListBase.__setitem__(), Mixins._ValidatingListBase.append(), Mixins._ValidatingListBase.extend(), and Mixins._ValidatingListBase.insert().

588  def _labelIfAny(self):
589  result = type(self).__name__
590  if hasattr(self, '__label'):
591  result += ' ' + self.__label
592  return result
593 
def Mixins._ValidatingListBase.append (   self,
  x 
)
def Mixins._ValidatingListBase.extend (   self,
  x 
)

Definition at line 573 of file Mixins.py.

References Mixins.UsingBlock._isValid(), Mixins._ValidatingListBase._isValid(), and Mixins._ValidatingListBase._labelIfAny().

Referenced by MatrixUtil.WF.__init__(), and Mixins._ValidatingParameterListBase.setValue().

573  def extend(self,x):
574  if not self._isValid(x):
575  raise TypeError("wrong type being extended to container "+self._labelIfAny())
576  super(_ValidatingListBase,self).extend(x)
def _isValid(self, seq)
Definition: Mixins.py:561
def extend(self, x)
Definition: Mixins.py:573
def Mixins._ValidatingListBase.insert (   self,
  i,
  x 
)