Coverage Report - org.kuali.rice.kim.api.identity.principal.EntityNamePrincipalName
 
Classes in this File Line Coverage Branch Coverage Complexity
EntityNamePrincipalName
0%
0/12
0%
0/2
1.333
EntityNamePrincipalName$1
N/A
N/A
1.333
EntityNamePrincipalName$Builder
57%
11/19
25%
1/4
1.333
EntityNamePrincipalName$Constants
0%
0/1
N/A
1.333
EntityNamePrincipalName$Elements
0%
0/1
N/A
1.333
 
 1  
 package org.kuali.rice.kim.api.identity.principal;
 2  
 
 3  
 import org.kuali.rice.core.api.CoreConstants;
 4  
 import org.kuali.rice.core.api.mo.AbstractDataTransferObject;
 5  
 import org.kuali.rice.core.api.mo.ModelBuilder;
 6  
 import org.kuali.rice.kim.api.identity.name.EntityName;
 7  
 import org.w3c.dom.Element;
 8  
 
 9  
 import javax.xml.bind.annotation.XmlAccessType;
 10  
 import javax.xml.bind.annotation.XmlAccessorType;
 11  
 import javax.xml.bind.annotation.XmlAnyElement;
 12  
 import javax.xml.bind.annotation.XmlElement;
 13  
 import javax.xml.bind.annotation.XmlRootElement;
 14  
 import javax.xml.bind.annotation.XmlType;
 15  
 import java.io.Serializable;
 16  
 import java.util.Collection;
 17  
 
 18  
 @XmlRootElement(name = EntityNamePrincipalName.Constants.ROOT_ELEMENT_NAME)
 19  
 @XmlAccessorType(XmlAccessType.NONE)
 20  
 @XmlType(name = EntityNamePrincipalName.Constants.TYPE_NAME, propOrder = {
 21  
     EntityNamePrincipalName.Elements.DEFAULT_NAME,
 22  
     EntityNamePrincipalName.Elements.PRINCIPAL_NAME,
 23  
     CoreConstants.CommonElements.FUTURE_ELEMENTS
 24  
 })
 25  0
 public class EntityNamePrincipalName extends AbstractDataTransferObject {
 26  
     @XmlElement(name = Elements.PRINCIPAL_NAME, required = false)
 27  
     private final String principalName;
 28  
     @XmlElement(name = Elements.DEFAULT_NAME, required = false)
 29  
     private final EntityName defaultName;
 30  0
     @SuppressWarnings("unused")
 31  
     @XmlAnyElement
 32  
     private final Collection<Element> _futureElements = null;
 33  
 
 34  
 
 35  0
     private EntityNamePrincipalName() {
 36  0
         this.principalName = null;
 37  0
         this.defaultName = null;
 38  0
     }
 39  
 
 40  0
     private EntityNamePrincipalName(Builder builder) {
 41  0
         this.principalName = builder.getPrincipalName();
 42  0
         this.defaultName = builder.getDefaultName() == null ? null : builder.getDefaultName().build();
 43  0
     }
 44  
 
 45  
     public String getPrincipalName() {
 46  0
         return principalName;
 47  
     }
 48  
 
 49  
     public EntityName getDefaultName() {
 50  0
         return defaultName;
 51  
     }
 52  
     /**
 53  
      * A builder which can be used to construct {@link EntityDefault} instances.
 54  
      *
 55  
      */
 56  1
     public final static class Builder
 57  
         implements Serializable, ModelBuilder
 58  
     {
 59  
         private String principalName;
 60  
         private EntityName.Builder defaultName;
 61  
 
 62  
         public static Builder create() {
 63  0
             return new Builder();
 64  
         }
 65  
 
 66  
         public static Builder create(String principalName, EntityName.Builder defaultName) {
 67  1
             Builder builder = new Builder();
 68  1
             builder.setPrincipalName(principalName);
 69  1
             builder.setDefaultName(defaultName);
 70  1
             return builder;
 71  
         }
 72  
 
 73  
         public static Builder create(EntityNamePrincipalName immutable) {
 74  1
             if (immutable == null) {
 75  1
                 throw new IllegalArgumentException("contract was null");
 76  
             }
 77  0
             Builder builder = new Builder();
 78  0
             if (immutable.getDefaultName() != null) {
 79  0
                 builder.setDefaultName(EntityName.Builder.create(immutable.getDefaultName()));
 80  
             }
 81  0
             return builder;
 82  
         }
 83  
 
 84  
         public String getPrincipalName() {
 85  0
             return principalName;
 86  
         }
 87  
 
 88  
         public void setPrincipalName(String principalName) {
 89  1
             this.principalName = principalName;
 90  1
         }
 91  
 
 92  
         public EntityName.Builder getDefaultName() {
 93  0
             return defaultName;
 94  
         }
 95  
 
 96  
         public void setDefaultName(EntityName.Builder defaultName) {
 97  1
             this.defaultName = defaultName;
 98  1
         }
 99  
 
 100  
         public EntityNamePrincipalName build() {
 101  0
             return new EntityNamePrincipalName(this);
 102  
         }
 103  
 
 104  
     }
 105  
 
 106  
     /**
 107  
      * Defines some internal constants used on this class.
 108  
      *
 109  
      */
 110  0
     static class Constants {
 111  
 
 112  
         final static String ROOT_ELEMENT_NAME = "entityNamePrincipalName";
 113  
         final static String TYPE_NAME = "EntityNamePrincipalNameType";
 114  
     }
 115  
 
 116  
 
 117  
     /**
 118  
      * A private class which exposes constants which define the XML element names to use when this object is marshalled to XML.
 119  
      *
 120  
      */
 121  0
     static class Elements {
 122  
         final static String DEFAULT_NAME = "defaultName";
 123  
         final static String PRINCIPAL_NAME = "principalName";
 124  
     }
 125  
 
 126  
 }