public void validate() throws Exception{
		try {
			Validate.notNull(getName());
			Validate.notEmpty(getName());
		} catch(ParameterException e){
			throw new Exception(String.format(FORMAT_EXCEPTION_INVALID_PROPERTY_CHARACTERISTIC, getName(), EXCEPTION_NULL_OR_EMPTY_NAME), e);
		}
		try {
			Validate.notNull(getValueType());
		} catch(ParameterException e){
			throw new Exception(String.format(FORMAT_EXCEPTION_INVALID_PROPERTY_CHARACTERISTIC, getName(), EXCEPTION_NULL_VALUE_TYPE), e);
		}
		try {
			Validate.notNull(getNullReplacement());
		} catch(ParameterException e){
			throw new Exception(String.format(FORMAT_EXCEPTION_INVALID_PROPERTY_CHARACTERISTIC, getName(), EXCEPTION_NULL_NULL_REPLACEMENT), e);
		}
		try {
			Validate.notNull(getDefaultValue());
		} catch(ParameterException e){
			throw new Exception(String.format(FORMAT_EXCEPTION_INVALID_PROPERTY_CHARACTERISTIC, getName(), EXCEPTION_NULL_DEFAULT_VALUE), e);
		}
		if(!getValueType().getValueClass().isAssignableFrom(getDefaultValue().getClass()))
			throw new Exception(String.format(FORMAT_EXCEPTION_INVALID_DEFAULT_VALUE_TYPE, getName(), valueType.getValueClass().getSimpleName(), defaultValue.getClass().getSimpleName()));
		if(getValueType() == PropertyValueType.ENUM){
			try {
				Validate.notNull(getEnumClass());
			} catch(ParameterException e){
				throw new Exception(String.format(FORMAT_EXCEPTION_INVALID_PROPERTY_CHARACTERISTIC, getName(), EXCEPTION_NULL_ENUM_CLASS), e);
			}
		} else if(getValueType() == PropertyValueType.LIST){
			try {
				Validate.notNull(getListElementType());
			} catch(ParameterException e){
				throw new Exception(String.format(FORMAT_EXCEPTION_INVALID_PROPERTY_CHARACTERISTIC, getName(), EXCEPTION_NULL_LIST_ELEMENT_TYPE), e);
			}
			if(getListElementType() == ListPropertyElementType.ENUM){
				try {
					Validate.notNull(getListElementClass());
				} catch(ParameterException e){
					throw new Exception(String.format(FORMAT_EXCEPTION_INVALID_PROPERTY_CHARACTERISTIC, getName(), EXCEPTION_NULL_LIST_ELEMENT_CLASS), e);
				}
			}
		}
	}
public void validate ( ) throws Exception { try { Validate . notNull ( getName ( ) ) ; Validate . notEmpty ( getName ( ) ) ; } catch ( ParameterException e ) { throw new Exception ( String . format ( FORMAT_EXCEPTION_INVALID_PROPERTY_CHARACTERISTIC , getName ( ) , EXCEPTION_NULL_OR_EMPTY_NAME ) , e ) ; } try { Validate . notNull ( getValueType ( ) ) ; } catch ( ParameterException e ) { throw new Exception ( String . format ( FORMAT_EXCEPTION_INVALID_PROPERTY_CHARACTERISTIC , getName ( ) , EXCEPTION_NULL_VALUE_TYPE ) , e ) ; } try { Validate . notNull ( getNullReplacement ( ) ) ; } catch ( ParameterException e ) { throw new Exception ( String . format ( FORMAT_EXCEPTION_INVALID_PROPERTY_CHARACTERISTIC , getName ( ) , EXCEPTION_NULL_NULL_REPLACEMENT ) , e ) ; } try { Validate . notNull ( getDefaultValue ( ) ) ; } catch ( ParameterException e ) { throw new Exception ( String . format ( FORMAT_EXCEPTION_INVALID_PROPERTY_CHARACTERISTIC , getName ( ) , EXCEPTION_NULL_DEFAULT_VALUE ) , e ) ; } if ( ! getValueType ( ) . getValueClass ( ) . isAssignableFrom ( getDefaultValue ( ) . getClass ( ) ) ) throw new Exception ( String . format ( FORMAT_EXCEPTION_INVALID_DEFAULT_VALUE_TYPE , getName ( ) , valueType . getValueClass ( ) . getSimpleName ( ) , defaultValue . getClass ( ) . getSimpleName ( ) ) ) ; if ( getValueType ( ) == PropertyValueType . ENUM ) { try { Validate . notNull ( getEnumClass ( ) ) ; } catch ( ParameterException e ) { throw new Exception ( String . format ( FORMAT_EXCEPTION_INVALID_PROPERTY_CHARACTERISTIC , getName ( ) , EXCEPTION_NULL_ENUM_CLASS ) , e ) ; } } else if ( getValueType ( ) == PropertyValueType . LIST ) { try { Validate . notNull ( getListElementType ( ) ) ; } catch ( ParameterException e ) { throw new Exception ( String . format ( FORMAT_EXCEPTION_INVALID_PROPERTY_CHARACTERISTIC , getName ( ) , EXCEPTION_NULL_LIST_ELEMENT_TYPE ) , e ) ; } if ( getListElementType ( ) == ListPropertyElementType . ENUM ) { try { Validate . notNull ( getListElementClass ( ) ) ; } catch ( ParameterException e ) { throw new Exception ( String . format ( FORMAT_EXCEPTION_INVALID_PROPERTY_CHARACTERISTIC , getName ( ) , EXCEPTION_NULL_LIST_ELEMENT_CLASS ) , e ) ; } } } }
Checks the validity of the property characteristics.<br>
This is the case when...
<ul>
<li>...no name is set.</li>
<li>...no type is set.</li>
<li>...the <code>null</code> replacement string is explicitly set to <code>null</code>.</li>
<li>...no default value has been set.</li>
<li>...the default value is of wrong type.</li>
<li>...for enum property value types no enum class is set.</li>
<li>...for list property value types no list element class is set.</li>
<li>...for list property value types with enum element type no enum class is set.</li>
</ul>
@throws Exception