litesoft
@ 939
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 |
// This Source Code is in the Public Domain per: http://litesoft.org/License.txt package org.litesoft.aokeyhole.toolkit; import org.litesoft.commonfoundation.typeutils.*; public abstract class IdentifierValidatorAbstract implements IdentifierValidator { protected String isIdentifierValid( String pIdentifier, int pMinLength, String pPurpose ) { if ( (pIdentifier == null) || (pIdentifier.length() == 0) ) { return "No " + pPurpose + " provided"; } if ( pIdentifier.length() < pMinLength ) { return "The " + pPurpose + " provided '" + pIdentifier + "' is not at least " + pMinLength + " characters long"; } if ( !isIdentifierStartCharacterValid( pIdentifier.charAt( 0 ) ) ) { return "The first character of the " + pPurpose + " provided '" + pIdentifier + "' is not " + getIdentifierStartCharacterValidOptionsErrorText(); } for ( int i = 1; i < pIdentifier.length(); i++ ) { if ( !isIdentifierRestCharacterValid( pIdentifier.charAt( i ) ) ) { return "The " + Integers.toNth( i + 1 ) + " character of the " + pPurpose + " provided '" + pIdentifier + "' is not " + getIdentifierRestCharacterValidOptionsErrorText(); } } return null; } abstract protected String getIdentifierStartCharacterValidOptionsErrorText(); abstract protected boolean isIdentifierStartCharacterValid( char pChar ); abstract protected String getIdentifierRestCharacterValidOptionsErrorText(); abstract protected boolean isIdentifierRestCharacterValid( char pChar ); } |