@JSFValidator(configExcluded=true) public class ByteLengthValidator extends Object implements javax.faces.component.StateHolder, javax.faces.validator.Validator
ByteLengthValidator is a Validator that checks
the value of the corresponding component for its byte length for the set
character encoding. The following algorithm is implemented:
null, exit immediately.encoding and maximum property
has been configured on this Validator, check the component
value byte length against the maximum. If the component value byte length
is greater than this specified maximum, throw a ValidatorException
containing a MAXIMUM_MESSAGE_ID message.maximum property has been configured on this
Validator, check the component value against
this limit defaulting the encoding to be iso-8859-1.
If the component value length is greater than the specified maximum,
throw a ValidatorException containing a MAXIMUM_MESSAGE_ID
message.encoding property has been configured on this
Validator, and if it is not a valid Java encoding, then throws a
IllegalCharsetNameExceptionmaximumMessageDetail is set, it is used for constructing
faces message, when validation fails. The message can contain placeholders
which will be replaced as specified in MAXIMUM_MESSAGE_ID
setMessageDetailMaximum(String)| Modifier and Type | Field and Description |
|---|---|
static String |
MAXIMUM_MESSAGE_ID
The message identifier of the
FacesMessage to be created if
the maximum byte length check fails. |
static String |
VALIDATOR_ID
Standard validator id for this validator.
|
| Constructor and Description |
|---|
ByteLengthValidator()
Construct a
Validator with iso-8859-1 as the encoding
and zero as the maximum bytes allowed. |
ByteLengthValidator(int maximum,
String encoding)
Construct a
Validator with the specified preconfigured
values. |
| Modifier and Type | Method and Description |
|---|---|
boolean |
equals(Object object)
Compares this ByteLengthValidator with the specified Object for
equality.
|
String |
getEncoding()
Return the character encoding set for this
Validator or
iso-8859-1 if it has not been set. |
String |
getHintMaximum()
Return custom hint message.
|
protected javax.faces.application.FacesMessage |
getLengthValidationFailureMessage(javax.faces.context.FacesContext context,
javax.faces.component.UIComponent component,
String value)
The
FacesMessage to be returned if byte length validation fails. |
int |
getMaximum()
Return the maximum bytes to be enforced by this
Validator or zero if it has not been
set. |
String |
getMessageDetailMaximum()
Return custom detail error message that was set for creating
FacesMessage,
for values that exceeds the maximum byte length. |
javax.faces.el.ValueBinding |
getValueBinding(String name)
Deprecated.
|
javax.el.ValueExpression |
getValueExpression(String name)
Return the
ValueExpression used to calculate the value for the
specified attribute name, if any. |
int |
hashCode()
Returns the hash code for this Validator.
|
boolean |
isDisabled()
Return whether it is disabled.
|
boolean |
isTransient() |
void |
restoreState(javax.faces.context.FacesContext context,
Object state) |
Object |
saveState(javax.faces.context.FacesContext context) |
void |
setDisabled(boolean isDisabled)
Set the value to property
disabled. |
void |
setEncoding(String encoding)
Set the character encoding for this
Validator. |
void |
setHintMaximum(String hintMaximum)
Custom hint message.
|
void |
setMaximum(int maximum)
Set the maximum bytes to be enforced by this
Validator. |
void |
setMessageDetailMaximum(String maximumMessageDetail)
Custom error message to be used, for creating detail part of the
FacesMessage, when users input exceeds the maximum byte length. |
void |
setTransient(boolean transientValue) |
void |
setValueBinding(String name,
javax.faces.el.ValueBinding binding)
Deprecated.
|
void |
setValueExpression(String name,
javax.el.ValueExpression expression)
Set the
ValueExpression used to calculate the value for the
specified attribute if any. |
void |
validate(javax.faces.context.FacesContext context,
javax.faces.component.UIComponent component,
Object value)
Validates unless it is too long, in which case throws
ValidatorException.
|
public static final String MAXIMUM_MESSAGE_ID
The message identifier of the FacesMessage to be created if
the maximum byte length check fails. The message format string for this
message may optionally include {0}, {1} and
{2} placeholders, which will be replaced by input value, label
associated with the component and the maximum bytes respectively.
public static final String VALIDATOR_ID
Standard validator id for this validator.
public ByteLengthValidator()
Construct a Validator with iso-8859-1 as the encoding
and zero as the maximum bytes allowed.
public ByteLengthValidator(int maximum,
String encoding)
Construct a Validator with the specified preconfigured
values.
maximum - the maximum number of bytes allowed.encoding - the Java character set encoding. This must be
an encoding supported by Java.public void setEncoding(String encoding)
Set the character encoding for this Validator.
encoding - The character encoding.@JSFProperty(defaultValue="iso-8859-1") public String getEncoding()
Return the character encoding set for this Validator or
iso-8859-1 if it has not been set.
public void setMaximum(int maximum)
Set the maximum bytes to be enforced by this Validator.
maximum - The new maximum value@JSFProperty public int getMaximum()
Return the maximum bytes to be enforced by this Validator or zero if it has not been
set.
public void setMessageDetailMaximum(String maximumMessageDetail)
Custom error message to be used, for creating detail part of the
FacesMessage, when users input exceeds the maximum byte length.
MAXIMUM_MESSAGE_IDmaximumMessageDetail - Custom error message.@JSFProperty public String getMessageDetailMaximum()
Return custom detail error message that was set for creating FacesMessage,
for values that exceeds the maximum byte length.
setMessageDetailMaximum(String)public void setHintMaximum(String hintMaximum)
Custom hint message.
Overrides default hint messagehintMaximum - Custom hint message.@JSFProperty(tagExcluded=true) public String getHintMaximum()
Return custom hint message.
setHintMaximum(String)public void validate(javax.faces.context.FacesContext context,
javax.faces.component.UIComponent component,
Object value)
throws javax.faces.validator.ValidatorException
Validates unless it is too long, in which case throws ValidatorException.
validate in interface javax.faces.validator.Validatorjavax.faces.validator.ValidatorException - if validation failsNullPointerException - if contextIllegalCharsetNameException - if encoding isIllegalArgumentException - if value is not of type
String
unsupported
or component is nullpublic Object saveState(javax.faces.context.FacesContext context)
saveState in interface javax.faces.component.StateHolderpublic void restoreState(javax.faces.context.FacesContext context,
Object state)
restoreState in interface javax.faces.component.StateHolder@JSFProperty(istransient=true,
tagExcluded=true)
public boolean isTransient()
isTransient in interface javax.faces.component.StateHolderpublic void setTransient(boolean transientValue)
setTransient in interface javax.faces.component.StateHolderpublic void setValueExpression(String name, javax.el.ValueExpression expression)
Set the ValueExpression used to calculate the value for the
specified attribute if any.
name - Name of the attribute for which to set a ValueExpressionexpression - The ValueExpression to set, or null
to remove any currently set ValueExpressionNullPointerException - if name
is nullIllegalArgumentException - if name is not a valid
attribute of this converterpublic javax.el.ValueExpression getValueExpression(String name)
Return the ValueExpression used to calculate the value for the
specified attribute name, if any.
name - Name of the attribute or property for which to retrieve a
ValueExpressionNullPointerException - if name
is nullIllegalArgumentException - if name is not a valid
attribute of this converterpublic void setValueBinding(String name, javax.faces.el.ValueBinding binding)
Set the ValueBinding used to calculate the value for the
specified attribute if any.
name - Name of the attribute for which to set a ValueBindingbinding - The ValueBinding to set, or null
to remove any currently set ValueBindingNullPointerException - if name
is nullIllegalArgumentException - if name is not a valid
attribute of this validatorpublic javax.faces.el.ValueBinding getValueBinding(String name)
Return the ValueBinding used to calculate the value for the
specified attribute name, if any.
name - Name of the attribute or property for which to retrieve a
ValueBindingNullPointerException - if name
is nullIllegalArgumentException - if name is not a valid
attribute of this validatorpublic boolean equals(Object object)
Compares this ByteLengthValidator with the specified Object for equality.
public int hashCode()
Returns the hash code for this Validator.
public void setDisabled(boolean isDisabled)
Set the value to property disabled. Default value is false.
isDisabled - true if it's disabled, false otherwise.public boolean isDisabled()
protected javax.faces.application.FacesMessage getLengthValidationFailureMessage(javax.faces.context.FacesContext context,
javax.faces.component.UIComponent component,
String value)
FacesMessage to be returned if byte length validation fails.context - Faces contextvalue - The value entered / set by the user on the componentCopyright © 2001-2016 The Apache Software Foundation. All Rights Reserved.