Coverage Report - org.kuali.rice.kim.api.identity.entity.EntityContract
 
Classes in this File Line Coverage Branch Coverage Complexity
EntityContract
N/A
N/A
1
 
 1  
 /**
 2  
  * Copyright 2005-2011 The Kuali Foundation
 3  
  *
 4  
  * Licensed under the Educational Community License, Version 2.0 (the "License");
 5  
  * you may not use this file except in compliance with the License.
 6  
  * You may obtain a copy of the License at
 7  
  *
 8  
  * http://www.opensource.org/licenses/ecl2.php
 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 implied.
 13  
  * See the License for the specific language governing permissions and
 14  
  * limitations under the License.
 15  
  */
 16  
 package org.kuali.rice.kim.api.identity.entity;
 17  
 
 18  
 import org.kuali.rice.core.api.mo.common.GloballyUnique;
 19  
 import org.kuali.rice.core.api.mo.common.Identifiable;
 20  
 import org.kuali.rice.core.api.mo.common.Versioned;
 21  
 import org.kuali.rice.core.api.mo.common.active.Inactivatable;
 22  
 import org.kuali.rice.kim.api.identity.affiliation.EntityAffiliationContract;
 23  
 import org.kuali.rice.kim.api.identity.citizenship.EntityCitizenshipContract;
 24  
 import org.kuali.rice.kim.api.identity.employment.EntityEmploymentContract;
 25  
 import org.kuali.rice.kim.api.identity.external.EntityExternalIdentifierContract;
 26  
 import org.kuali.rice.kim.api.identity.name.EntityNameContract;
 27  
 import org.kuali.rice.kim.api.identity.personal.EntityBioDemographicsContract;
 28  
 import org.kuali.rice.kim.api.identity.personal.EntityEthnicityContract;
 29  
 import org.kuali.rice.kim.api.identity.principal.PrincipalContract;
 30  
 import org.kuali.rice.kim.api.identity.privacy.EntityPrivacyPreferencesContract;
 31  
 import org.kuali.rice.kim.api.identity.residency.EntityResidencyContract;
 32  
 import org.kuali.rice.kim.api.identity.type.EntityTypeContactInfoContract;
 33  
 import org.kuali.rice.kim.api.identity.visa.EntityVisaContract;
 34  
 
 35  
 import java.util.List;
 36  
 
 37  
 
 38  
 /**
 39  
  * Represents an Entity (person/vendor/system) within the Rice system. 
 40  
  * 
 41  
  * @author Kuali Rice Team (rice.collab@kuali.org)
 42  
  *
 43  
  */
 44  
 public interface EntityContract extends Versioned, GloballyUnique, Inactivatable, Identifiable {
 45  
 
 46  
         /**
 47  
          * Gets this {@link EntityContract}'s identity types
 48  
          * @return the List of {@link org.kuali.rice.kim.api.identity.type.EntityTypeContactInfoContract}S for this {@link EntityContract}.
 49  
          * The returned List will never be null, an empty List will be assigned and returned if needed. 
 50  
          */
 51  
         List<? extends EntityTypeContactInfoContract> getEntityTypeContactInfos();
 52  
         
 53  
     /**
 54  
      * Gets this {@link EntityContract}'s principals
 55  
      * @return the List of {@link PrincipalContract}s for this {@link EntityContract}.
 56  
      * The returned List will never be null, an empty List will be assigned and returned if needed. 
 57  
      */
 58  
         List<? extends PrincipalContract> getPrincipals();
 59  
 
 60  
         
 61  
     /**
 62  
      * Gets this {@link EntityContract}'s external identifiers
 63  
      * @return the List of {@link org.kuali.rice.kim.api.identity.external.EntityExternalIdentifierContract}S for this {@link EntityContract}.
 64  
      * The returned List will never be null, an empty List will be assigned and returned if needed. 
 65  
      */
 66  
         List<? extends EntityExternalIdentifierContract> getExternalIdentifiers();
 67  
 
 68  
     /**
 69  
      * Gets this {@link EntityContract}'s affiliations
 70  
      * @return the List of {@link EntityAffiliationContract}S for this {@link EntityContract}.
 71  
      * The returned List will never be null, an empty List will be assigned and returned if needed. 
 72  
      */
 73  
         List<? extends EntityAffiliationContract> getAffiliations();
 74  
 
 75  
         /**
 76  
          * Gets this {@link EntityContract}'s names
 77  
          * @return the List of {@link EntityNameContract}S for this {@link EntityContract}.
 78  
      * The returned List will never be null, an empty List will be assigned and returned if needed. 
 79  
          */
 80  
         List<? extends EntityNameContract> getNames();
 81  
         
 82  
         
 83  
     /**
 84  
      * Gets this {@link EntityContract}'s employment information List
 85  
      * @return the List of {@link org.kuali.rice.kim.api.identity.employment.EntityEmploymentContract}S for this {@link EntityContract}.
 86  
      * The returned List will never be null, an empty List will be assigned and returned if needed. 
 87  
      */
 88  
         List<? extends EntityEmploymentContract> getEmploymentInformation();
 89  
 
 90  
     /**
 91  
      * Gets this {@link EntityContract}'s privacy preferences
 92  
      * @return the {@link org.kuali.rice.kim.api.identity.privacy.EntityPrivacyPreferences} for this {@link EntityContract},
 93  
      * or null if none has been assigned.
 94  
      */        
 95  
         EntityPrivacyPreferencesContract getPrivacyPreferences();
 96  
         
 97  
         /**
 98  
          * Gets this {@link EntityContract}'s demographic information
 99  
          * @return the {@link EntityBioDemographicsContract} for this {@link EntityContract},
 100  
          * or null if none has been assigned.
 101  
          */
 102  
         EntityBioDemographicsContract getBioDemographics();
 103  
         
 104  
     /**
 105  
      * Gets this {@link EntityContract}'s citizenship information
 106  
      * @return the List of {@link EntityCitizenshipContract}s for this {@link EntityContract}.
 107  
      * The returned List will never be null, an empty List will be assigned and returned if needed. 
 108  
      */
 109  
         List<? extends EntityCitizenshipContract> getCitizenships();
 110  
         
 111  
         /**
 112  
          * Gets this {@link EntityContract}'s identity type for the given type code
 113  
          * @param entityTypeCode the type code
 114  
          * @return the EntityEntityType object corresponding to the given code or null if this
 115  
          * identity does not have data for that type.
 116  
          */
 117  
         EntityTypeContactInfoContract getEntityTypeContactInfoByTypeCode(String entityTypeCode);
 118  
         
 119  
         /**
 120  
          * Gets this {@link EntityContract}'s employment information
 121  
          * @return the primary {@link org.kuali.rice.kim.api.identity.employment.EntityEmploymentContract} for this {@link EntityContract},
 122  
          * or null if none has been assigned.
 123  
          */
 124  
         EntityEmploymentContract getPrimaryEmployment();
 125  
 
 126  
         /**
 127  
          * Gets this {@link EntityContract}'s default affiliation
 128  
      * @return the default {@link EntityAffiliationContract} for the identity.  If no default is defined, then
 129  
      * it returns the first one found.  If none are defined, it returns null.
 130  
      */
 131  
         EntityAffiliationContract getDefaultAffiliation();
 132  
         
 133  
         /**
 134  
          * Gets this {@link EntityContract}'s external identifier for the given type code
 135  
          * @param externalIdentifierTypeCode the type code
 136  
      * @return the {@link org.kuali.rice.kim.api.identity.external.EntityExternalIdentifierContract} for this {@link EntityContract}, or null if none has been assigned.
 137  
      */
 138  
         EntityExternalIdentifierContract getEntityExternalIdentifier( String externalIdentifierTypeCode );
 139  
         
 140  
         /** 
 141  
          * Gets this {@link EntityContract}'s default name
 142  
          * @return the default {@link EntityNameContract} record for the identity.  If no default is defined, then
 143  
          * it returns the first one found.  If none are defined, it returns null.
 144  
          */
 145  
         EntityNameContract getDefaultName();
 146  
 
 147  
     /**
 148  
      * Gets this {@link EntityContract}'s ethnicities
 149  
      * @return the List of {@link org.kuali.rice.kim.api.identity.personal.EntityEthnicityContract}S for this {@link EntityContract}.
 150  
      * The returned List will never be null, an empty List will be assigned and returned if needed. 
 151  
      */
 152  
         public List<? extends EntityEthnicityContract> getEthnicities();
 153  
 
 154  
     /**
 155  
      * Gets this {@link EntityContract}'s residencies
 156  
      * @return the List of {@link org.kuali.rice.kim.api.identity.residency.EntityResidencyContract}S for this {@link EntityContract}.
 157  
      * The returned List will never be null, an empty List will be assigned and returned if needed. 
 158  
      */
 159  
         public List<? extends EntityResidencyContract> getResidencies();
 160  
 
 161  
     /**
 162  
      * Gets this {@link EntityContract}'s visas
 163  
      * @return the List of {@link org.kuali.rice.kim.api.identity.visa.EntityVisaContract}S for this {@link EntityContract}.
 164  
      * The returned List will never be null, an empty List will be assigned and returned if needed. 
 165  
      */
 166  
         public List<? extends EntityVisaContract> getVisas();
 167  
 
 168  
 }