Coverage Report - org.kuali.student.r2.core.organization.infc.OrgPositionRestriction
 
Classes in this File Line Coverage Branch Coverage Complexity
OrgPositionRestriction
N/A
N/A
1
 
 1  
 /*
 2  
  * Copyright 2010 The Kuali Foundation 
 3  
  *
 4  
  * Licensed under the Educational Community License, Version 2.0 (the
 5  
  * "License"); you may not use this file except in compliance with the
 6  
  * License. You may obtain a copy of the License at
 7  
  *
 8  
  * http://www.osedu.org/licenses/ECL-2.0
 9  
  *
 10  
  * Unless required by applicable law or agreed to in writing, software
 11  
  * distributed under the License is distributed on an "AS IS" BASIS,
 12  
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
 13  
  * implied. See the License for the specific language governing
 14  
  * permissions and limitations under the License.
 15  
  */
 16  
 
 17  
 package org.kuali.student.r2.core.organization.infc;
 18  
 
 19  
 import org.kuali.student.r2.common.infc.HasAttributesAndMeta;
 20  
 import org.kuali.student.r2.common.infc.HasId;
 21  
 import org.kuali.student.r2.common.infc.RichText;
 22  
 import org.kuali.student.r2.common.infc.TimeAmount;
 23  
 
 24  
 
 25  
 /**
 26  
  * Information which constrains/describes organization to person
 27  
  * relationships of a particular type for an organization. These
 28  
  * constraints/descriptions typically involve active relationships.
 29  
  *
 30  
  * @author tom
 31  
  */ 
 32  
 
 33  
 public interface OrgPositionRestriction
 34  
     extends HasAttributesAndMeta, HasId {
 35  
   
 36  
     /**
 37  
      * Organization the restriction applies to.
 38  
      *
 39  
      * @name Org Id
 40  
      * @reqired
 41  
      * @readOnly
 42  
      */
 43  
     public String getOrgId();
 44  
 
 45  
     /**
 46  
      * Organization to person relationship type the restriction
 47  
      * applies to.
 48  
      *
 49  
      * @name Organization Person Relation Type Key
 50  
      * @required
 51  
      * @readOnly
 52  
      */
 53  
     public String getOrgPersonRelationTypeKey();
 54  
 
 55  
     /**
 56  
      * Title of organization person relationships of this type. This allows for
 57  
      * distinction from the name of the relationship type itself, specific for 
 58  
      * the given organization.
 59  
      *
 60  
      * @name Title
 61  
      */
 62  
     public String getTitle();
 63  
 
 64  
 
 65  
     /**
 66  
      * Description of the restrictions and use of the relationship type within
 67  
      * this particular organization. This should primarily focus on deviations
 68  
      * from the standard use of the relationship type.
 69  
      *
 70  
      * @name Description
 71  
      */
 72  
     public RichText getDescr();
 73  
     
 74  
     
 75  
     /**
 76  
      * Describes the standard duration of relationships of this type.
 77  
      *
 78  
      * @name Standard Duration
 79  
      */
 80  
     public TimeAmount getStdDuration();
 81  
 
 82  
     /**
 83  
      * Acts as a lower bound on the number of relationships of this
 84  
      * type expected for the organization. If specified, this should
 85  
      * be less than or equal to the value of maxNumRelations. This
 86  
      * number must be greater than or equal to zero.
 87  
      *
 88  
      * @name Minimum Number of Relations
 89  
      */
 90  
     public Integer getMinNumRelations();
 91  
 
 92  
     /**
 93  
      * Acts as an upper bound on the number of relationships of this type 
 94  
      * expected for the organization. The values of this field are restricted 
 95  
      * to integer values and the string "unbounded". If specified, 
 96  
      * this should be greater than or equal to the value of minNumRelations, 
 97  
      * with the value "unbounded" being automatically assumed to be greater.
 98  
      *
 99  
      * @name Maximum Number of Relations
 100  
      */
 101  
     public String getMaxNumRelations();
 102  
 }