org.mmbase.datatypes
Class StringDataType

java.lang.Object
  extended byorg.mmbase.core.AbstractDescriptor
      extended byorg.mmbase.datatypes.BasicDataType
          extended byorg.mmbase.datatypes.ComparableDataType
              extended byorg.mmbase.datatypes.StringDataType
All Implemented Interfaces:
Cloneable, Comparable, DataType, Descriptor, LengthDataType, Serializable
Direct Known Subclasses:
ConfirmPasswordDataType, SecurityContextDataType

public class StringDataType
extends ComparableDataType
implements LengthDataType

The datatype for String fields. Strings can be constrained by a regular expression, and have a property 'password' which indicates that the contents should not be shown.

Since:
MMBase-1.8
Version:
$Id: StringDataType.java,v 1.33 2006/07/05 15:19:43 pierre Exp $
Author:
Pierre van Rooden, Michiel Meeuwissen
See Also:
Serialized Form

Nested Class Summary
protected  class StringDataType.PatternRestriction
           
 
Nested classes inherited from class org.mmbase.datatypes.ComparableDataType
ComparableDataType.MaxRestriction, ComparableDataType.MinRestriction
 
Nested classes inherited from class org.mmbase.datatypes.BasicDataType
BasicDataType.AbstractRestriction, BasicDataType.EnumerationRestriction, BasicDataType.RequiredRestriction, BasicDataType.RestrictedEnumerationIterator, BasicDataType.StaticAbstractRestriction, BasicDataType.TypeRestriction, BasicDataType.UniqueRestriction
 
Nested classes inherited from class org.mmbase.datatypes.DataType
DataType.Restriction
 
Field Summary
static Pattern BOOLEAN_PATTERN
           
static Pattern DOUBLE_PATTERN
           
static Pattern INTEGER_PATTERN
           
static Pattern LONG_PATTERN
           
protected  org.mmbase.datatypes.AbstractLengthDataType.MaxRestriction maxLengthRestriction
           
protected  org.mmbase.datatypes.AbstractLengthDataType.MinRestriction minLengthRestriction
           
static Pattern NON_NEGATIVE_INTEGER_PATTERN
           
protected  StringDataType.PatternRestriction patternRestriction
           
 
Fields inherited from class org.mmbase.datatypes.ComparableDataType
maxRestriction, minRestriction
 
Fields inherited from class org.mmbase.datatypes.BasicDataType
DATATYPE_BUNDLE, enumerationRestriction, origin, requiredRestriction, typeRestriction, uniqueRestriction
 
Fields inherited from class org.mmbase.core.AbstractDescriptor
description, guiName, key
 
Fields inherited from interface org.mmbase.datatypes.DataType
ENFORCE_ABSOLUTE, ENFORCE_ALWAYS, ENFORCE_NEVER, ENFORCE_ONCHANGE, ENFORCE_ONCREATE, PROCESS_GET, PROCESS_SET, VALID, XMLNS
 
Constructor Summary
StringDataType(String name)
          Constructor for string data type.
 
Method Summary
protected  void cloneRestrictions(BasicDataType origin)
          If a datatype is cloned, the restrictions of it (normally implemented as inner classes), must be reinstantiated.
 long getLength(Object value)
          In this method should be implemented how to calculate such a length for a certain value of this datatype.
 long getMaxLength()
          Returns the maximum length of binary values for this datatype.
 DataType.Restriction getMaxLengthRestriction()
          Returns the 'maxLength' restriction, containing the value, errormessages, and fixed status of this attribute.
 long getMinLength()
          Returns the minimum length of binary values for this datatype.
 DataType.Restriction getMinLengthRestriction()
          Returns the 'minLength' restriction, containing the value, errormessages, and fixed status of this attribute.
 Pattern getPattern()
          Returns the regular expression pattern used to validate values for this datatype.
 DataType.Restriction getPatternRestriction()
          Returns the 'pattern' restriction, containing the value, error messages, and fixed status of this attribute.
protected  void inheritProperties(BasicDataType origin)
          Properties are members of the datatype that can easily be copied/clones.
protected  void inheritRestrictions(BasicDataType origin)
          If a datatype inherits from another datatype all its restrictions inherit too.
 boolean isPassword()
          Whether or not the data represents sensitive information, in which case e.g.
static void main(String[] argv)
           
 void setMaxLength(long value)
          Sets the maximum length of binary values for this datatype.
 void setMinLength(long value)
          Sets the minimum length of binary values for this datatype.
 void setPassword(boolean pw)
           
 void setPattern(Pattern value)
          Sets the regular expression pattern used to validate values for this datatype.
protected  StringBuffer toStringBuffer()
           
 void toXml(Element parent)
          Fills this datatype in another XML (for example in the xml of BasicDataType.getOrigin(), to make one XML, fully describing the DataType).
protected  Collection validateCastedValue(Collection errors, Object castedValue, Object value, Node node, Field field)
           
 
Methods inherited from class org.mmbase.datatypes.ComparableDataType
clone, getDefaultValue, getMaxRestriction, getMinRestriction, isMaxInclusive, isMinInclusive, setMax, setMin
 
Methods inherited from class org.mmbase.datatypes.BasicDataType
cast, cast, castToValidate, checkType, clone, compareTo, edit, equals, finish, finish, getBaseType, getBaseTypeIdentifier, getCloud, getCommitProcessor, getElement, getElement, getEnumerationFactory, getEnumerationRestriction, getEnumerationValue, getEnumerationValues, getOrigin, getProcessor, getProcessor, getRequiredRestriction, getTypeAsClass, getUniqueRestriction, hashCode, inherit, isCorrectType, isFinished, isRequired, isUnique, preCast, preCast, preCast, rewrite, setCommitProcessor, setDefaultValue, setProcessor, setProcessor, setRequired, setUnique, setXml, toString, toXml, validate, validate
 
Methods inherited from class org.mmbase.core.AbstractDescriptor
getDefaultLocale, getDescription, getDescription, getGUIName, getGUIName, getLocalizedDescription, getLocalizedGUIName, getName, setDescription, setDescription, setGUIName, setGUIName, setLocalizedDescription, setLocalizedGUIName
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.mmbase.datatypes.DataType
cast, checkType, clone, clone, finish, getBaseType, getBaseTypeIdentifier, getCommitProcessor, getDefaultValue, getEnumerationFactory, getEnumerationRestriction, getEnumerationValue, getEnumerationValues, getOrigin, getProcessor, getProcessor, getRequiredRestriction, getTypeAsClass, getUniqueRestriction, inherit, isFinished, isRequired, isUnique, preCast, rewrite, setCommitProcessor, setDefaultValue, setProcessor, setProcessor, setRequired, setUnique, toXml, validate, validate
 
Methods inherited from interface org.mmbase.bridge.Descriptor
getDescription, getDescription, getGUIName, getGUIName, getLocalizedDescription, getLocalizedGUIName, getName, setDescription, setDescription, setGUIName, setGUIName
 
Methods inherited from interface java.lang.Comparable
compareTo
 

Field Detail

patternRestriction

protected StringDataType.PatternRestriction patternRestriction

minLengthRestriction

protected org.mmbase.datatypes.AbstractLengthDataType.MinRestriction minLengthRestriction

maxLengthRestriction

protected org.mmbase.datatypes.AbstractLengthDataType.MaxRestriction maxLengthRestriction

DOUBLE_PATTERN

public static final Pattern DOUBLE_PATTERN

BOOLEAN_PATTERN

public static final Pattern BOOLEAN_PATTERN

INTEGER_PATTERN

public static final Pattern INTEGER_PATTERN

NON_NEGATIVE_INTEGER_PATTERN

public static final Pattern NON_NEGATIVE_INTEGER_PATTERN

LONG_PATTERN

public static final Pattern LONG_PATTERN
Constructor Detail

StringDataType

public StringDataType(String name)
Constructor for string data type.

Parameters:
name - the name of the data type
Method Detail

inheritProperties

protected void inheritProperties(BasicDataType origin)
Description copied from class: BasicDataType
Properties are members of the datatype that can easily be copied/clones.

Overrides:
inheritProperties in class BasicDataType

inheritRestrictions

protected void inheritRestrictions(BasicDataType origin)
Description copied from class: BasicDataType
If a datatype inherits from another datatype all its restrictions inherit too.

Overrides:
inheritRestrictions in class ComparableDataType

cloneRestrictions

protected void cloneRestrictions(BasicDataType origin)
Description copied from class: BasicDataType
If a datatype is cloned, the restrictions of it (normally implemented as inner classes), must be reinstantiated.

Overrides:
cloneRestrictions in class ComparableDataType

getLength

public long getLength(Object value)
Description copied from interface: LengthDataType
In this method should be implemented how to calculate such a length for a certain value of this datatype. There does not exist a generic interface for this, so the implementation will cast to the expected type (String, byte[]..)

Specified by:
getLength in interface LengthDataType

getMinLength

public long getMinLength()
Returns the minimum length of binary values for this datatype.

Specified by:
getMinLength in interface LengthDataType
Returns:
the minimum length as an int, or 0 if there is no minimum length.

getMinLengthRestriction

public DataType.Restriction getMinLengthRestriction()
Returns the 'minLength' restriction, containing the value, errormessages, and fixed status of this attribute.

Specified by:
getMinLengthRestriction in interface LengthDataType
Returns:
the restriction as a DataType.Restriction

setMinLength

public void setMinLength(long value)
Sets the minimum length of binary values for this datatype.

Specified by:
setMinLength in interface LengthDataType
Parameters:
value - the minimum length as an long, or 0 if there is no minimum length.

getMaxLength

public long getMaxLength()
Returns the maximum length of binary values for this datatype.

Specified by:
getMaxLength in interface LengthDataType
Returns:
the maximum length as an long, or a very very big value (Long.MAX_VALUE) if there is no maximum length.

getMaxLengthRestriction

public DataType.Restriction getMaxLengthRestriction()
Returns the 'maxLength' restriction, containing the value, errormessages, and fixed status of this attribute.

Specified by:
getMaxLengthRestriction in interface LengthDataType
Returns:
the restriction as a DataType.Restriction

setMaxLength

public void setMaxLength(long value)
Sets the maximum length of binary values for this datatype.

Specified by:
setMaxLength in interface LengthDataType
Parameters:
value - see LengthDataType.getMaxLength()

getPattern

public Pattern getPattern()
Returns the regular expression pattern used to validate values for this datatype.

Returns:
the pattern.

getPatternRestriction

public DataType.Restriction getPatternRestriction()
Returns the 'pattern' restriction, containing the value, error messages, and fixed status of this attribute.

Returns:
the restriction as a DataType.Restriction

setPattern

public void setPattern(Pattern value)
Sets the regular expression pattern used to validate values for this datatype.

Parameters:
value - the pattern as a Pattern, or null if no pattern should be applied.
Throws:
UnsupportedOperationException - if this datatype is read-only (i.e. defined by MMBase)

isPassword

public boolean isPassword()
Whether or not the data represents sensitive information, in which case e.g. an input interface may present asterisks in stead of letters.


setPassword

public void setPassword(boolean pw)

toXml

public void toXml(Element parent)
Description copied from interface: DataType
Fills this datatype in another XML (for example in the xml of DataType.getOrigin(), to make one XML, fully describing the DataType). The implementation of this method is unfinished!

Specified by:
toXml in interface DataType
Overrides:
toXml in class ComparableDataType

validateCastedValue

protected Collection validateCastedValue(Collection errors,
                                         Object castedValue,
                                         Object value,
                                         Node node,
                                         Field field)
Overrides:
validateCastedValue in class ComparableDataType

toStringBuffer

protected StringBuffer toStringBuffer()
Overrides:
toStringBuffer in class ComparableDataType

main

public static void main(String[] argv)


MMBase build 1.8.1.20060716