Coverage Report - de.smartics.properties.spi.core.constraint.AbstractPropertyConstraint
 
Classes in this File Line Coverage Branch Coverage Complexity
AbstractPropertyConstraint
0%
0/13
0%
0/2
1.25
 
 1  
 /*
 2  
  * Copyright 2012-2013 smartics, Kronseder & Reiner GmbH
 3  
  *
 4  
  * Licensed under the Apache 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.apache.org/licenses/LICENSE-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 implied.
 13  
  * See the License for the specific language governing permissions and
 14  
  * limitations under the License.
 15  
  */
 16  
 package de.smartics.properties.spi.core.constraint;
 17  
 
 18  
 import java.util.Collections;
 19  
 import java.util.Locale;
 20  
 
 21  
 import de.smartics.properties.api.core.domain.PropertyConstraint;
 22  
 import de.smartics.properties.api.core.domain.PropertyDescriptor;
 23  
 import de.smartics.properties.api.core.domain.PropertyValidationException;
 24  
 
 25  
 /**
 26  
  * Base implementation of the {@link PropertyConstraint} interface.
 27  
  *
 28  
  * @param <T> the type of the property value.
 29  
  */
 30  
 public abstract class AbstractPropertyConstraint<T> implements
 31  
     PropertyConstraint<T>
 32  
 {
 33  
   // ********************************* Fields *********************************
 34  
 
 35  
   // --- constants ------------------------------------------------------------
 36  
 
 37  
   /**
 38  
    * The class version identifier.
 39  
    */
 40  
   private static final long serialVersionUID = 1L;
 41  
 
 42  
   // --- members --------------------------------------------------------------
 43  
 
 44  
   // ****************************** Initializer *******************************
 45  
 
 46  
   // ****************************** Constructors ******************************
 47  
 
 48  
   /**
 49  
    * Default constructor.
 50  
    */
 51  
   protected AbstractPropertyConstraint()
 52  0
   {
 53  0
   }
 54  
 
 55  
   // ****************************** Inner Classes *****************************
 56  
 
 57  
   // ********************************* Methods ********************************
 58  
 
 59  
   // --- init -----------------------------------------------------------------
 60  
 
 61  
   // --- get&set --------------------------------------------------------------
 62  
 
 63  
   // --- business -------------------------------------------------------------
 64  
 
 65  
   // CHECKSTYLE:OFF
 66  
   @Override
 67  
   public boolean isMandatoryConstraint() // CHECKSTYLE:ON
 68  
   {
 69  0
     return false;
 70  
   }
 71  
 
 72  
   @Override
 73  
   public final String getDescription()
 74  
   {
 75  0
     return getDescription(Locale.getDefault());
 76  
   }
 77  
 
 78  
   @Override
 79  
   public String getViolationMessage(final Locale locale,
 80  
       final Object actualValue)
 81  
   {
 82  0
     return actualValue + ": " + getDescription(locale);
 83  
   }
 84  
 
 85  
   @Override
 86  
   public boolean isValid(final T value)
 87  
   {
 88  0
     return isValid(value, null);
 89  
   }
 90  
 
 91  
   @Override
 92  
   public final void validate(final PropertyDescriptor propertyDescriptor,
 93  
       final T value) throws PropertyValidationException
 94  
   {
 95  0
     validate(propertyDescriptor, value, null);
 96  0
   }
 97  
 
 98  
   @Override
 99  
   public final void validate(final PropertyDescriptor propertyDescriptor,
 100  
       final T value, final Class<?> group) throws PropertyValidationException
 101  
   {
 102  0
     final boolean valid = isValid(value, group);
 103  
 
 104  0
     if (!valid)
 105  
     {
 106  0
       throw PropertyValidationException.invalid(propertyDescriptor,
 107  
           Collections.singletonList(this), value);
 108  
     }
 109  0
   }
 110  
 
 111  
   // --- object basics --------------------------------------------------------
 112  
 
 113  
   /**
 114  
    * Returns the string representation of the object.
 115  
    *
 116  
    * @return the string representation of the object.
 117  
    */
 118  
   // CHECKSTYLE:OFF
 119  
   @Override
 120  
   public String toString() // CHECKSTYLE:ON
 121  
   {
 122  0
     return getDescription();
 123  
   }
 124  
 }