Coverage Report - org.kuali.rice.krad.datadictionary.DataObjectEntry
 
Classes in this File Line Coverage Branch Coverage Complexity
DataObjectEntry
0%
0/38
0%
0/6
1.217
 
 1  
 /*
 2  
  * Copyright 2011 The Kuali Foundation
 3  
  *
 4  
  * Licensed under the Educational Community License, Version 1.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/ecl1.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.krad.datadictionary;
 17  
 
 18  
 import java.util.List;
 19  
 
 20  
 import org.apache.commons.lang.StringUtils;
 21  
 import org.kuali.rice.krad.bo.Exporter;
 22  
 import org.kuali.rice.krad.datadictionary.exception.AttributeValidationException;
 23  
 import org.kuali.rice.krad.datadictionary.validation.capability.MustOccurConstrainable;
 24  
 import org.kuali.rice.krad.datadictionary.validation.constraint.MustOccurConstraint;
 25  
 
 26  
 /**
 27  
  * This is a generic dictionary entry for an object that does not have to implement BusinessObject. It provides support
 28  
  * for general objects. 
 29  
  * 
 30  
  * @author Kuali Rice Team (rice.collab@kuali.org) 
 31  
  */
 32  0
 public class DataObjectEntry extends DataDictionaryEntryBase implements MustOccurConstrainable {
 33  
 
 34  
         protected String name;
 35  
         protected Class<?> objectClass;
 36  
 
 37  
     protected String titleAttribute;
 38  
         protected String objectLabel;
 39  
     protected String objectDescription;
 40  
 
 41  
     protected List<String> primaryKeys;
 42  
     protected Class<? extends Exporter> exporterClass;
 43  
     
 44  
         protected List<MustOccurConstraint> mustOccurConstraints;
 45  
         
 46  
     
 47  
     protected HelpDefinition helpDefinition;
 48  
         
 49  
     
 50  
         @Override
 51  
     public void completeValidation() {
 52  
             //KFSMI-1340 - Object label should never be blank
 53  0
         if (StringUtils.isBlank(getObjectLabel())) {
 54  0
             throw new AttributeValidationException("Object label cannot be blank for class " + objectClass.getName());
 55  
         }
 56  
         
 57  0
         super.completeValidation();
 58  0
     }
 59  
 
 60  
     /**
 61  
      * @see org.kuali.rice.krad.datadictionary.DataDictionaryEntry#getJstlKey()
 62  
      */
 63  
         @Override
 64  
         public String getJstlKey() {
 65  0
         if (objectClass == null) {
 66  0
             throw new IllegalStateException("cannot generate JSTL key: objectClass is null");
 67  
         }
 68  
 
 69  0
         return (objectClass != null) ? objectClass.getSimpleName() : objectClass.getSimpleName();
 70  
     }
 71  
 
 72  
     /**
 73  
      * @see org.kuali.rice.krad.datadictionary.DataDictionaryEntry#getFullClassName()
 74  
      */
 75  
     @Override
 76  
     public String getFullClassName() {
 77  0
         return objectClass.getName();
 78  
     }
 79  
 
 80  
     /**
 81  
      * @see org.kuali.rice.krad.datadictionary.DataDictionaryEntryBase#getEntryClass()
 82  
      */
 83  
     @Override
 84  
     public Class<?> getEntryClass() {
 85  0
         return objectClass;
 86  
     }
 87  
 
 88  
         /**
 89  
          * @return the objectClass
 90  
          */
 91  
         public Class<?> getObjectClass() {
 92  0
                 return this.objectClass;
 93  
         }
 94  
 
 95  
         /**
 96  
          * @param objectClass the objectClass to set
 97  
          */
 98  
         public void setObjectClass(Class<?> objectClass) {
 99  0
                 this.objectClass = objectClass;
 100  0
         }
 101  
 
 102  
         /**
 103  
          * @return the name
 104  
          */
 105  
         public String getName() {
 106  0
                 return this.name;
 107  
         }
 108  
 
 109  
         /**
 110  
          * @param name the name to set
 111  
          */
 112  
         public void setName(String name) {
 113  0
                 this.name = name;
 114  0
         }
 115  
         
 116  
     /**
 117  
      * @return Returns the objectLabel.
 118  
      */
 119  
     public String getObjectLabel() {
 120  0
         return objectLabel;
 121  
     }
 122  
 
 123  
     /**
 124  
            The objectLabel provides a short name of the business
 125  
            object for use on help screens.
 126  
      *
 127  
      * @param objectLabel The objectLabel to set.
 128  
      */
 129  
     public void setObjectLabel(String objectLabel) {
 130  0
         this.objectLabel = objectLabel;
 131  0
     }
 132  
 
 133  
     /**
 134  
      * @return Returns the description.
 135  
      */
 136  
     public String getObjectDescription() {
 137  0
         return objectDescription;
 138  
     }
 139  
 
 140  
     /**
 141  
            The objectDescription provides a brief description
 142  
            of the business object for use on help screens.
 143  
      *
 144  
      * @param description The description to set.
 145  
      */
 146  
     public void setObjectDescription(String objectDescription) {
 147  0
         this.objectDescription = objectDescription;
 148  0
     }
 149  
         
 150  
     
 151  
 
 152  
     
 153  
         
 154  
     /**
 155  
      * Gets the helpDefinition attribute.
 156  
      *
 157  
      * @return Returns the helpDefinition.
 158  
      */
 159  
     public HelpDefinition getHelpDefinition() {
 160  0
         return helpDefinition;
 161  
     }
 162  
 
 163  
     /**
 164  
      * Sets the helpDefinition attribute value.
 165  
      *
 166  
            The objectHelp element provides the keys to
 167  
            obtain a help description from the system parameters table.
 168  
 
 169  
            parameterNamespace the namespace of the parameter containing help information
 170  
            parameterName the name of the parameter containing help information
 171  
            parameterDetailType the detail type of the parameter containing help information
 172  
      *
 173  
      * @param helpDefinition The helpDefinition to set.
 174  
      */
 175  
     public void setHelpDefinition(HelpDefinition helpDefinition) {
 176  0
         this.helpDefinition = helpDefinition;
 177  0
     }    
 178  
 
 179  
     /**
 180  
      * @see java.lang.Object#toString()
 181  
      */
 182  
     @Override
 183  
     public String toString() {
 184  0
         return "DataObjectEntry for " + getObjectClass();
 185  
     }
 186  
 
 187  
         /**
 188  
          * @return the mustOccurConstraints
 189  
          */
 190  
         public List<MustOccurConstraint> getMustOccurConstraints() {
 191  0
                 return this.mustOccurConstraints;
 192  
         }
 193  
 
 194  
         /**
 195  
          * @param mustOccurConstraints the mustOccurConstraints to set
 196  
          */
 197  
         public void setMustOccurConstraints(
 198  
                         List<MustOccurConstraint> mustOccurConstraints) {
 199  0
                 this.mustOccurConstraints = mustOccurConstraints;
 200  0
         }
 201  
 
 202  
     /**
 203  
          * @return the titleAttribute
 204  
          */
 205  
         public String getTitleAttribute() {
 206  0
                 return this.titleAttribute;
 207  
         }
 208  
 
 209  
     /**
 210  
         The titleAttribute element is the name of the attribute that
 211  
      will be used as an inquiry field when the lookup search results
 212  
      fields are displayed.
 213  
 
 214  
      For some business objects, there is no obvious field to serve
 215  
      as the inquiry field. in that case a special field may be required
 216  
      for inquiry purposes.
 217  
      */
 218  
         public void setTitleAttribute(String titleAttribute) {
 219  0
                 this.titleAttribute = titleAttribute;
 220  0
         }
 221  
 
 222  
     /**
 223  
          * @return the primaryKeys
 224  
          */
 225  
         public List<String> getPrimaryKeys() {
 226  0
                 return this.primaryKeys;
 227  
         }
 228  
 
 229  
         /**
 230  
          * @param primaryKeys the primaryKeys to set
 231  
          */
 232  
         public void setPrimaryKeys(List<String> primaryKeys) {
 233  0
                 this.primaryKeys = primaryKeys;
 234  0
         }
 235  
         
 236  
         public Class<? extends Exporter> getExporterClass() {
 237  0
         return this.exporterClass;
 238  
     }
 239  
 
 240  
     public void setExporterClass(Class<? extends Exporter> exporterClass) {
 241  0
         this.exporterClass = exporterClass;
 242  0
     }
 243  
 }