Ignore:
Timestamp:
28/06/10 10:19:26 (11 years ago)
Author:
pjkersha
Message:

Incomplete - task 2: XACML-Security Integration

  • updating epydoc ready for release.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • TI12-security/trunk/ndg_xacml/ndg/xacml/core/rule.py

    r7087 r7108  
    2121 
    2222class Effect(object): 
    23     """Rule Effect""" 
     23    """Rule Effect 
     24     
     25    @cvar PERMIT_STR: permit decision string 
     26    @type PERMIT_STR: string 
     27     
     28    @cvar DENY_STR: deny decision string 
     29    @type DENY_STR: string 
     30     
     31    @cvar TYPES: list of valid effect strings 
     32    @type TYPES: tuple 
     33     
     34    @ivar value: effect value 
     35    @type value: string 
     36    """ 
    2437    DENY_STR = 'Deny' 
    2538    PERMIT_STR = 'Permit' 
     
    2841     
    2942    def __init__(self, effect=DENY_STR): 
     43        """@param effect: initialise effect value, defaults to deny 
     44        @type effect: basestring / ndg.xacml.core.rule.Effect 
     45        """ 
    3046        self.__value = None 
    3147        self.value = effect 
    3248 
    3349    def __getstate__(self): 
    34         '''Enable pickling''' 
     50        '''Enable pickling 
     51         
     52        @return: class instance attributes dictionary 
     53        @rtype: dict 
     54        ''' 
    3555        _dict = {} 
    3656        for attrName in Effect.__slots__: 
     
    4565   
    4666    def __setstate__(self, attrDict): 
    47         '''Enable pickling''' 
     67        '''Enable pickling 
     68         
     69        @param attrDict: class instance attributes dictionary 
     70        @type attrDict: dict 
     71        ''' 
    4872        for attrName, val in attrDict.items(): 
    4973            setattr(self, attrName, val) 
    5074             
    5175    def _setValue(self, value): 
     76        """Set effect value 
     77         
     78        @param value: effect value - constrained vocabulary to Effect.TYPES 
     79        @type value: string or ndg.xacml.core.rule.Effect 
     80        @raise AttributeError: invalid decision string value input 
     81        @raise TypeError: invalid type for input decision value 
     82        """ 
    5283        if isinstance(value, Effect): 
    5384            # Cast to string 
     
    6495         
    6596    def _getValue(self): 
     97        """Get effect value 
     98         
     99        @return: effect value  
     100        @rtype: string 
     101        """ 
    66102        return self.__value 
    67103     
     
    69105     
    70106    def __str__(self): 
     107        """represent decision as a string 
     108         
     109        @return: decision value  
     110        @rtype: string  
     111        """ 
    71112        return self.__value 
    72113 
    73114    def __eq__(self, effect): 
     115        """ 
     116        @param effect: effect value to compare with self's 
     117        @type effect: string or ndg.xacml.core.rule.Effect 
     118        @return: True if the decision values match, False otherwise 
     119        @rtype: bool 
     120        @raise AttributeError: invalid decision string value input 
     121        @raise TypeError: invalid type for input decision value 
     122        """ 
    74123        if isinstance(effect, Effect): 
    75124            # Cast to string 
     
    91140    def __nonzero__(self): 
    92141        """Boolean evaluation of a rule effect - True = Allow; False = Deny 
     142         
     143        @return: True if the effect value is permit, False otherwise 
     144        @rtype: bool 
    93145        """ 
    94146        return self.__value == Effect.PERMIT_STR        
     
    100152 
    101153    def __init__(self): 
     154        """Initialise set with Permit value""" 
    102155        super(PermitEffect, self).__init__(Effect.PERMIT_STR) 
    103156         
    104     def _setValue(self):   
     157    def _setValue(self, value):   
     158        """Make value read-only 
     159        @raise AttributeError: value can't be set 
     160        """ 
    105161        raise AttributeError("can't set attribute") 
    106162 
     
    111167     
    112168    def __init__(self): 
     169        """Initialise set with Permit value""" 
    113170        super(DenyEffect, self).__init__(Effect.DENY_STR) 
    114171         
    115172    def _setValue(self, value):   
     173        """Make value read-only 
     174        @raise AttributeError: value can't be set 
     175        """ 
    116176        raise AttributeError("can't set attribute") 
    117177 
     
    122182 
    123183class Rule(XacmlCoreBase): 
    124     """XACML Policy Rule""" 
     184    """XACML Policy Rule 
     185     
     186    @cvar ELEMENT_LOCAL_NAME: XML local name for this element 
     187    @type ELEMENT_LOCAL_NAME: string 
     188    @cvar DESCRIPTION_LOCAL_NAME: XML local name for the description element 
     189    @type DESCRIPTION_LOCAL_NAME: string 
     190    @cvar RULE_ID_ATTRIB_NAME: rule id XML attribute name 
     191    @type RULE_ID_ATTRIB_NAME: string 
     192    @cvar EFFECT_ATTRIB_NAME: effect XML attribute name 
     193    @type EFFECT_ATTRIB_NAME: string 
     194 
     195    @ivar __target: rule target 
     196    @type __target: ndg.xacml.core.target.Target / NoneType 
     197    @ivar __condition: rule condition 
     198    @type __condition: ndg.xacml.core.condition.Condition / NoneType 
     199    @ivar __description: rule description text 
     200    @type __description: basestring / NoneType 
     201    @ivar __id: rule ID 
     202    @type __id: basestring / NoneType 
     203    @ivar __effect: rule effect 
     204    @type __effect: ndg.xacml.core.rule.Effect / NoneType 
     205    """ 
    125206    ELEMENT_LOCAL_NAME = 'Rule' 
    126207    RULE_ID_ATTRIB_NAME = 'RuleId' 
     
    138219     
    139220    def __init__(self): 
     221        """Initialise attributes""" 
     222        super(Rule, self).__init__() 
     223         
    140224        self.__id = None 
    141225        self.__effect = None 
     
    145229    @property 
    146230    def target(self): 
    147         "Rule target" 
     231        """Get Rule target 
     232        @return: rule target 
     233        @rtype: ndg.xacml.core.target import Target / NoneType  
     234        """ 
    148235        return self.__target 
    149236     
    150237    @target.setter 
    151238    def target(self, value): 
     239        """Set rule target 
     240        @param value: rule target 
     241        @type value: ndg.xacml.core.target import Target  
     242        @raise TypeError: incorrect type set 
     243        """ 
    152244        if not isinstance(value, Target): 
    153245            raise TypeError('Expecting %r type for "id" ' 
     
    157249    @property 
    158250    def condition(self): 
    159         "rule condition" 
     251        """Get rule condition 
     252         
     253        @return: rule condition 
     254        @rtype: ndg.xacml.core.condition.Condition / NoneType 
     255        """ 
    160256        return self.__condition 
    161257     
    162258    @condition.setter 
    163259    def condition(self, value): 
     260        """Set rule condition 
     261         
     262        @param value: rule condition 
     263        @type value: ndg.xacml.core.condition.Condition 
     264        @raise TypeError: incorrect type set 
     265        """ 
    164266        if not isinstance(value, Condition): 
    165             raise TypeError('Expecting %r type for "id" ' 
    166                             'attribute; got %r' % (Condition, type(value)))  
     267            raise TypeError('Expecting %r type for "id" attribute; got %r' %  
     268                            (Condition, type(value)))  
    167269             
    168270        self.__condition = value 
    169271              
    170272    def _get_id(self): 
     273        """Get rule ID 
     274         
     275        @return: rule ID 
     276        @rtype: ndg.xacml.core.condition.Condition / NoneType 
     277        """ 
    171278        return self.__id 
    172279 
    173280    def _set_id(self, value): 
     281        """Set rule ID 
     282         
     283        @param value: rule ID 
     284        @type value: basestring 
     285        @raise TypeError: incorrect type set 
     286        """ 
    174287        if not isinstance(value, basestring): 
    175             raise TypeError('Expecting %r type for "id" ' 
    176                             'attribute; got %r' % (basestring, type(value))) 
     288            raise TypeError('Expecting %r type for "id" attribute; got %r' %  
     289                            (basestring, type(value))) 
    177290          
    178291        self.__id = value    
     
    181294       
    182295    def _get_effect(self): 
     296        """Get rule effect 
     297         
     298        @return: rule effect 
     299        @rtype: ndg.xacml.core.rule.Effect / NoneType 
     300        """ 
    183301        return self.__effect 
    184302 
    185303    def _set_effect(self, value): 
     304        """Set rule effect 
     305         
     306        @param value: rule effect 
     307        @type value: ndg.xacml.core.rule.Effect 
     308        @raise TypeError: incorrect type set 
     309        """ 
    186310        if not isinstance(value, Effect): 
    187311            raise TypeError('Expecting %r type for "effect" ' 
     
    194318 
    195319    def _getDescription(self): 
     320        """Get rule description 
     321         
     322        @return: rule description 
     323        @rtype: basestring / NoneType 
     324        """ 
    196325        return self.__description 
    197326 
    198327    def _setDescription(self, value): 
     328        """Set rule description 
     329         
     330        @param value: rule description 
     331        @type value: basestring 
     332        @raise TypeError: incorrect type set 
     333        """ 
    199334        if not isinstance(value, basestring): 
    200335            raise TypeError('Expecting string type for "description" ' 
Note: See TracChangeset for help on using the changeset viewer.