litesoft
@ 600
litesoft / trunk / GWT_Sandbox / FormEngine / src / com / temp / shared / validators / IdentifierValueValidator.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
package com.temp.shared.validators; import com.temp.shared.*; import com.temp.shared.externalization.*; import com.temp.shared.utils.*; public class IdentifierValueValidator implements ValueValidator { public static final String TEMPLATE_ID_CODE = "NotIdentifier"; public static final String TEMPLATE_NAME_WHY = "why"; public static final String SUBTEMPLATE_WHY_NOT_STRING = "NotString"; public static final String SUBTEMPLATE_WHY_EMPTY_STRING = "EmptyString"; public static final String SUBTEMPLATE_WHY_BAD_CHAR = "BadCharacter"; public static final String USER_DATA_POSITION = "position"; public static final String USER_DATA_CHAR = "character"; public static final ValueValidator INSTANCE = new IdentifierValueValidator(); private IdentifierValueValidator() { } @Override public E13nData checkValue( Object value ) { if ( !(value instanceof String) ) { return new E13nData( TEMPLATE_ID_CODE ).addSubstitutionNamedSubTemplateIdCode( TEMPLATE_NAME_WHY, SUBTEMPLATE_WHY_NOT_STRING ); } String userData = value.toString().trim(); if ( userData.length() == 0 ) { return new E13nData( TEMPLATE_ID_CODE ).addSubstitutionNamedSubTemplateIdCode( TEMPLATE_NAME_WHY, SUBTEMPLATE_WHY_EMPTY_STRING ); } int errorIndex = StringUtils.checkIdentifier( userData ); if ( errorIndex == -1 ) { return null; // OK! } return new E13nData( TEMPLATE_ID_CODE ).addSubstitutionNamedSubTemplateIdCode( TEMPLATE_NAME_WHY, SUBTEMPLATE_WHY_BAD_CHAR ) // .addSubstitutionNamedUserData( USER_DATA_POSITION, Integer.toString( errorIndex ) ) // .addSubstitutionNamedUserData( USER_DATA_CHAR, Character.toString( userData.charAt( errorIndex ) ) ); } } |
Commits for litesoft/trunk/GWT_Sandbox/FormEngine/src/com/temp/shared/validators/IdentifierValueValidator.java
Revision | Author | Commited | Message |
---|---|---|---|
600 | GeorgeS | Sun 05 Feb, 2012 18:55:58 +0000 | Sync-n |