com.taco.text
Class IntArrayConverter

java.lang.Object
  extended by com.taco.text.AbstractInterpolatingStringToObjectConverter
      extended by com.taco.text.InterpolatingConverter
          extended by com.taco.text.CompositeConverter
              extended by com.taco.text.BracedPropertyCompositeConverter
                  extended by com.taco.text.IntArrayConverter
All Implemented Interfaces:
ICommonRegexConstants, IInterpolatingConverter, IInterpolatingStringToObjectConverter, IStringToObjectConverter, IInterpolatingResourceBundleToObjectConverter, java.lang.Cloneable

public final class IntArrayConverter
extends BracedPropertyCompositeConverter

A converter to int arrays. Each array element has a property associated with it, which is assigned in the string or in the resource bundle value.


Nested Class Summary
 
Nested classes/interfaces inherited from class com.taco.text.CompositeConverter
CompositeConverter.AbstractCompositeUpdater, CompositeConverter.AbstractMapConsistencyListener, CompositeConverter.CompositeUpdater, CompositeConverter.DefaultMapConsistencyListener, CompositeConverter.DelayedConvertedResult, CompositeConverter.ICompositeUpdater, CompositeConverter.IMapConsistencyListener, CompositeConverter.ISetPropertyAction, CompositeConverter.NotUpdaterListenerFilter, CompositeConverter.ReflectionSetPropertyAction
 
Field Summary
 
Fields inherited from class com.taco.text.BracedPropertyCompositeConverter
_KEEP_ENCLOSING_PUNCTUATION_PATTERN
 
Fields inherited from class com.taco.text.CompositeConverter
_DEFAULT_COMPOSITE_CONVERTER_MAP, _DEFAULT_COMPOSITE_CREATION_PROPERTY_NAMES, _SHOULD_READ_GLOBAL_NAME
 
Fields inherited from class com.taco.text.InterpolatingConverter
_BAD_OBJECT_MAPPER, _IGNORE_PROPERTY_VALUE, _IMPORTS, _STATIC_IMPORTS, _TO_OBJECT_MAPPER_CONVERTER, DEFAULT_INSTANCE
 
Fields inherited from class com.taco.text.AbstractInterpolatingStringToObjectConverter
_defArgMap, _defBundle
 
Fields inherited from interface com.taco.text.ICommonRegexConstants
BOOLEAN_REGEX_STRING, CHAR_REGEX_STRING, FLOAT_REGEX_STRING, HEX_NUMBER_REGEX_STRING, INTEGER_REGEX_STRING, JAVA_CLASS_NAME_REGEX_STRING, LONG_HEX_REGEX_STRING, LONG_INTEGER_REGEX_STRING, NON_NEGATIVE_FLOAT_REGEX_STRING, PROPERTY_PREFIX_PATTERN, PROPERTY_PREFIX_REGEX_STRING, QUOTED_STRING_REGEX_STRING, WHITESPACE_PATTERN
 
Constructor Summary
IntArrayConverter(java.util.Collection elementNames)
          Create a new instance that uses the argument collection of property names mapped to the subequent array indices, starting from 0.
IntArrayConverter(java.util.Collection elementNames, IIntMapper intMapper)
          Create a new instance that uses the argument collection of property names mapped to the subequent array indices, starting from 0.
 
Method Summary
protected  java.lang.Object _createComposite(java.util.Map propertyMap, java.util.ResourceBundle bundle, INoReturnMap argMap)
          Given the property key / value map, return a composite object ready to have its properties set (if legal).
protected  CompositeConverter.ISetPropertyAction _getActionForProperty(java.lang.String propertyName)
          Return an instance ISetPropertyAction for the argument property name.
 IInterpolatingConverter getConverterForProperty(java.lang.String propertyName, java.lang.Object composite)
          Return AtomConverter.INTEGER_CONVERTER if the property name is recognized by this instance.
 java.util.Collection getPropertyNames()
          Return the property names in the name to index map.
static void main(java.lang.String[] args)
          A simple test program.
 
Methods inherited from class com.taco.text.BracedPropertyCompositeConverter
_addProperties, _extractPropertiesSubSequence, _extractPropertyValue, _gatherPropertyMatchResults, _literalToObject, _shouldKeepEnclosingPunctuation
 
Methods inherited from class com.taco.text.CompositeConverter
_addMapConsistencyListener, _addMapConsistencyListeners, _addProperties, _addUpdaterListeners, _configureComposite, _createUpdaterListener, _makeInitConverter, _setProperties, _toObject, configureComposite, getConverterNameForProperty, getCreationPropertyNames, isPropertyReadable, isPropertyUpdatable, isPropertyWritable
 
Methods inherited from class com.taco.text.InterpolatingConverter
_argMapReferenceToObject, _getStandardImports, _getStandardStaticImports, _literalResultToObject, _scriptSnippetToObject, _toObjectMapper, clone, name, toObject, toObject, toObject
 
Methods inherited from class com.taco.text.AbstractInterpolatingStringToObjectConverter
toObject
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

IntArrayConverter

public IntArrayConverter(java.util.Collection elementNames)
Create a new instance that uses the argument collection of property names mapped to the subequent array indices, starting from 0.


IntArrayConverter

public IntArrayConverter(java.util.Collection elementNames,
                         IIntMapper intMapper)
Create a new instance that uses the argument collection of property names mapped to the subequent array indices, starting from 0. If a property is missing from a resource bundle during conversion, use the argument int mapper to get a default value.

Method Detail

main

public static void main(java.lang.String[] args)
A simple test program.


_createComposite

protected java.lang.Object _createComposite(java.util.Map propertyMap,
                                            java.util.ResourceBundle bundle,
                                            INoReturnMap argMap)
Description copied from class: CompositeConverter

Given the property key / value map, return a composite object ready to have its properties set (if legal). This method may completely configure the composite, or it may defer setting some properties to _setProperties(). However, properties set here instead of in _setProperties() cannot be updated.

This base implementation throws an UnsupportedOperationException. This is not abstract so only _literalToObject() needs to be implemented to make a subclass a concrete class that can create an object via the "instance" property and configure the object afterwards.

Overrides:
_createComposite in class CompositeConverter

getPropertyNames

public java.util.Collection getPropertyNames()
Return the property names in the name to index map.

Specified by:
getPropertyNames in class CompositeConverter

getConverterForProperty

public IInterpolatingConverter getConverterForProperty(java.lang.String propertyName,
                                                       java.lang.Object composite)
Return AtomConverter.INTEGER_CONVERTER if the property name is recognized by this instance.

Specified by:
getConverterForProperty in class CompositeConverter

_getActionForProperty

protected CompositeConverter.ISetPropertyAction _getActionForProperty(java.lang.String propertyName)
Return an instance ISetPropertyAction for the argument property name. If no action is associated with the property name, return null.

Specified by:
_getActionForProperty in class CompositeConverter