Coverage Report - pt.digitalis.dif.dem.objects.FormFieldCustomization
 
Classes in this File Line Coverage Branch Coverage Complexity
FormFieldCustomization
0%
0/30
0%
0/8
1,556
 
 1  0
 /**
 2  
  * 2014, Digitalis Informatica. All rights reserved. Distribuicao e Gestao de Informatica, Lda. Estrada de Paco de Arcos
 3  
  * num.9 - Piso -1 2780-666 Paco de Arcos Telefone: (351) 21 4408990 Fax: (351) 21 4408999 http://www.digitalis.pt
 4  
  */
 5  
 
 6  
 package pt.digitalis.dif.dem.objects;
 7  
 
 8  
 import pt.digitalis.dif.dem.objects.messages.Message;
 9  
 import pt.digitalis.dif.dem.objects.messages.MessageList;
 10  
 import pt.digitalis.dif.dem.objects.messages.MessageTranslations;
 11  
 import pt.digitalis.dif.utils.ObjectFormatter;
 12  
 import pt.digitalis.utils.common.StringUtils;
 13  
 
 14  
 /**
 15  
  * The customization of a form field
 16  
  * 
 17  
  * @author Pedro Viegas <a href="mailto:pviegas@digitalis.pt">pviegas@digitalis.pt</a><br/>
 18  
  * @created 28/01/2014
 19  
  */
 20  
 public class FormFieldCustomization {
 21  
 
 22  
     /** the configuration id to save the help message */
 23  
     public final static String MESSAGE_HELP_ID = "help";
 24  
 
 25  
     /** the configuration id to save the hint message */
 26  
     public final static String MESSAGE_HINT_ID = "hint";
 27  
 
 28  
     /** the configuration id to save the label message */
 29  
     public final static String MESSAGE_LABEL_ID = "label";
 30  
 
 31  
     /** the form field ID */
 32  
     private String fieldID;
 33  
 
 34  
     /** if the field is mandatory */
 35  0
     private FeatureState mandatory = FeatureState.DEFAULT;
 36  
 
 37  
     /** the customized messages */
 38  0
     private MessageList messages = null;
 39  
 
 40  
     /**
 41  
      * @param fieldID
 42  
      */
 43  0
     public FormFieldCustomization(String fieldID)
 44  
     {
 45  0
         this.fieldID = fieldID;
 46  0
     }
 47  
 
 48  
     /**
 49  
      * Utility method that returns the desired customized message or the default one if no customization exists
 50  
      * 
 51  
      * @param messageID
 52  
      *            the message ID to get
 53  
      * @param language
 54  
      *            the desired language
 55  
      * @param defaultValue
 56  
      *            the default value of not custom message exists
 57  
      * @return the custom message or if it does not exist the given default value
 58  
      */
 59  
     public String getCustomMessage(String messageID, String language, String defaultValue)
 60  
     {
 61  0
         MessageList messageList = this.getMessages();
 62  0
         MessageTranslations messageTranslations = null;
 63  0
         Message message = null;
 64  
 
 65  0
         if (messageList != null)
 66  0
             messageTranslations = messageList.getMessageTranslations(messageID);
 67  0
         if (messageTranslations != null)
 68  0
             message = messageTranslations.getTranslations().get(language);
 69  
 
 70  0
         if (message != null && StringUtils.isNotBlank(message.getMessage()))
 71  0
             return message.getMessage();
 72  
         else
 73  0
             return defaultValue;
 74  
     }
 75  
 
 76  
     /**
 77  
      * Inspector for the 'fieldID' attribute.
 78  
      * 
 79  
      * @return the fieldID value
 80  
      */
 81  
     public String getFieldID()
 82  
     {
 83  0
         return fieldID;
 84  
     }
 85  
 
 86  
     /**
 87  
      * Inspector for the 'mandatory' attribute.
 88  
      * 
 89  
      * @return the mandatory value
 90  
      */
 91  
     public FeatureState getMandatory()
 92  
     {
 93  0
         return mandatory;
 94  
     }
 95  
 
 96  
     /**
 97  
      * Inspector for the 'messages' attribute.
 98  
      * 
 99  
      * @return the messages value
 100  
      */
 101  
     public MessageList getMessages()
 102  
     {
 103  0
         return messages;
 104  
     }
 105  
 
 106  
     /**
 107  
      * Modifier for the 'fieldID' attribute.
 108  
      * 
 109  
      * @param fieldID
 110  
      *            the new fieldID value to set
 111  
      * @return the updated object
 112  
      */
 113  
     public FormFieldCustomization setFieldID(String fieldID)
 114  
     {
 115  0
         this.fieldID = fieldID;
 116  
 
 117  0
         return this;
 118  
     }
 119  
 
 120  
     /**
 121  
      * Modifier for the 'mandatory' attribute.
 122  
      * 
 123  
      * @param mandatory
 124  
      *            the new mandatory value to set
 125  
      * @return the updated object
 126  
      */
 127  
     public FormFieldCustomization setMandatory(FeatureState mandatory)
 128  
     {
 129  0
         this.mandatory = mandatory;
 130  
 
 131  0
         return this;
 132  
     }
 133  
 
 134  
     /**
 135  
      * Modifier for the 'messages' attribute.
 136  
      * 
 137  
      * @param messages
 138  
      *            the new messages value to set
 139  
      * @return the updated object
 140  
      */
 141  
     public FormFieldCustomization setMessages(MessageList messages)
 142  
     {
 143  0
         this.messages = messages;
 144  
 
 145  0
         return this;
 146  
     }
 147  
 
 148  
     /**
 149  
      * @see java.lang.Object#toString()
 150  
      */
 151  
     @Override
 152  
     public String toString()
 153  
     {
 154  0
         ObjectFormatter formatter = new ObjectFormatter();
 155  0
         formatter.addItem("FieldID", this.fieldID);
 156  0
         formatter.addItem("Mandatory", this.mandatory);
 157  0
         formatter.addItem("Messages", this.messages);
 158  
 
 159  0
         return formatter.getFormatedObject();
 160  
     }
 161  
 }