Coverage Report - org.kuali.student.r2.core.process.infc.Check
 
Classes in this File Line Coverage Branch Coverage Complexity
Check
N/A
N/A
1
 
 1  
 /**
 2  
  * Copyright 2011 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.process.infc;
 18  
 
 19  
 import org.kuali.student.r2.common.infc.IdEntity;
 20  
 
 21  
 
 22  
 /**
 23  
  * Information about a Check. A Check can be one of a:
 24  
  *
 25  
  *     1. Hold Check: the Issue Id is not null
 26  
  *     2. Deadline Check: the Milestone Type Key and Atp Type Key are
 27  
  *        not null
 28  
  *     3. Not Before Check: the Milestone Type Key and Atp Type Key are
 29  
  *        not null
 30  
  *     4. In Time Period Check: the Milestone Type Key and Atp Type
 31  
  *        Key are not null
 32  
  *     5. Outside Date Range Check: the Milestone Type Key and Atp
 33  
  *        Type Key are not null
 34  
  *     6. Statement Check: the Statement Id is not null
 35  
  *     7. Process Check: the Process key is not null
 36  
  *
 37  
  * @author tom
 38  
  * @since Thu Nov 21 14:22:34 EDT 2011
 39  
  */ 
 40  
 
 41  
 public interface Check 
 42  
     extends IdEntity {
 43  
 
 44  
     /**
 45  
      * The Issue Key if this Check is for a Hold.
 46  
      *
 47  
      * @name Issue Key
 48  
      */
 49  
     public String getIssueId();
 50  
 
 51  
     /**
 52  
      * The Milestone Type Key if this Check is for a deadline, "not
 53  
      * before," "in time period" or "outside date range" checks.
 54  
      *
 55  
      * @name Milestone Type Key
 56  
      */
 57  
     public String getMilestoneTypeKey();
 58  
 
 59  
     /**
 60  
      * The Agenda Id if this Check is based on evaluating
 61  
      * an Agenda. (do we need a reference for the eval?)
 62  
      *
 63  
      * @name Agenda Id
 64  
      */
 65  
     public String getAgendaId();
 66  
 
 67  
     /**
 68  
      * The Process Key if this Check is based on evaluating
 69  
      * a Process.
 70  
      *
 71  
      * @name Process Key
 72  
      */
 73  
     public String getProcessKey();
 74  
 
 75  
     /** 
 76  
      *  A hard coded value for comparison Check Types of
 77  
      *  min/max/equals. The left comparison value may be determined
 78  
      *  from the context of the process or from an agenda Id.
 79  
      *
 80  
      *  For example, this value may indicate a hard-coded credit limit
 81  
      *  per term for all students. The Check may be that the current
 82  
      *  load does not exceed this hard coded value.
 83  
      *
 84  
      *  @name Right Comparison Value
 85  
      */
 86  
     public String getRightComparisonValue();
 87  
     
 88  
     /**
 89  
      * The Left Comparison Agenda Id is for comparison Check Types of
 90  
      * min/max/equals for determining the left-hand side of the
 91  
      * comparison.
 92  
      *
 93  
      * For example, this rule evaluation may determine the current
 94  
      * credit load for a particular student in a Term to compare it
 95  
      * with a credit limit as determined by getRightComparisonValue()
 96  
      * or an evaluation resulting from getRightComparisonAgendaId().
 97  
      *
 98  
      * @name Left Comparison Agenda Id
 99  
      */
 100  
     public String getLeftComparisonAgendaId();
 101  
 
 102  
     /**
 103  
      * The Right Comparison Agenda Id is for comparison Check Types of
 104  
      * min/max/equals for determining the right-hand side of the
 105  
      * comparison.
 106  
      *
 107  
      *  For example, the result of this rule evaluation may calculate
 108  
      *  the credit limit for a particular student if it fluctuates by
 109  
      *  other criteria such as Term or Population. 
 110  
      *
 111  
      * @name Right Comparison Agenda Id
 112  
      */
 113  
     public String getRightComparisonAgendaId();
 114  
 }