This package contains a variety of plugin Strategy patterns that can be used to customize the default behaviours.

Implementations of the NameMapper interface can be used to set the strategy used by XMLIntrospector to determine how to convert bean and property names into element and attribute names.

Implementations of the PluralStemmer interface allows the strategy used by XMLIntrospector to find which plural method maps to a singular property name. This strategy is used to match composite properties to adder-methods. How plurals are constructed is langauge-dependent. A typical usage for custom strategies is to provide support for plural patterns in different languages.


AttributeSuppressionStrategy Strategy to determine whether to show an attribute at all. 
ElementSuppressionStrategy Strategy to determine whether to show an element at all. 
NameMapper A plugin Strategy pattern for converting Java type names into element names. 
PluralStemmer A plugin Strategy pattern which will detect the plural property which maps to a singular property name. 



Pluggable strategy interface used for free mappings. 

BadCharacterReplacingNMapper NameMapper implementation that processes a name by replacing or stripping illegal characters before passing result down the chain. 

Basic implementation for MixedContentEncodingStrategy supports variations of most common use case. 

CapitalizeNameMapper A beanmapper which converts a type to start with an uppercase. 

Class normalization strategy. 

CollectiveTypeStrategy Specifies which types should be regarded as collective 
CollectiveTypeStrategy.Default Default collective type strategy  
ConvertUtilsObjectStringConverter String <-> object conversion strategy that delegates to ConvertUtils. 

A name mapper which converts types to a decapitalized String. 


Stores every ID that given to it into an internal HashMap and returns it on request. 


A default implementation of the name mapper. 


Default string <-> object conversion strategy. 

DefaultPluralStemmer A default implementation of the plural name stemmer which tests for some common english plural/singular patterns and then uses a simple starts-with algorithm  
HyphenatedNameMapper A name mapper which converts types to a hypenated String. 
IdStoringStrategy Pluggable strategy for id storage management. 

ClassNormalizer that uses a list of substitutions. 


Pluggable strategy determines whether introspection or bind time typing should be used when finding mappings. 


Encodes body content. 


Maps namespace URI's to prefixes. 


Strategy class for string <-> object conversions. 

PropertySuppressionStrategy Pluggable strategy specifying whether property's should be suppressed. 
PropertySuppressionStrategy.Chain Implementation delegates to a list of strategies  
PropertySuppressionStrategy.Default Default implementation. 
SimpleTypeMapper Strategy for binding simple types. 
SimpleTypeMapper.Binding Enumerates binding options for simple types. 
StandardSimpleTypeMapper Binds simple types as specified by isAttributesForPrimitives()
TypeBindingStrategy Determines the way that a type (of object) should be bound by Betwixt. 
TypeBindingStrategy.BindingType Enumerates the possible general ways that Betwixt can map a Java type to an XML type. 
TypeBindingStrategy.Default The default TypeBindingStrategy used by Betwixt. 
ValueSuppressionStrategy Determines whether the expression of an attribute with a values should be suppressed.