title: Abstract mapping with custom JiBX marshaller
body: <p>I have created a custom JiBX marshaller and verified it works.  It works by doing something like the following:</p>
  
  <pre><code>&lt;binding xmlns:tns="http://foobar.com/foo" direction="output"&gt;
    &lt;namespace uri="http://foobar.com/foo" default="elements"/&gt;
    &lt;mapping class="java.util.HashMap" marshaller="com.foobar.Marshaller1"/&gt;
    &lt;mapping name="context" class="com.foobar.Context"&gt;
      &lt;structure field="configuration"/&gt;
    &lt;/mapping&gt;
  &lt;/binding&gt;
  </code></pre>
  
  <p>However I need to create multiple marshallers for different HashMaps.  So I tried to reference it with abstract mapping like this:</p>
  
  <pre><code>&lt;binding xmlns:tns="http://foobar.com/foo" direction="output"&gt;
    &lt;namespace uri="http://foobar.com/foo" default="elements"/&gt;
    &lt;mapping abstract="true" type-name="configuration" class="java.util.HashMap" marshaller="com.foobar.Marshaller1"/&gt;
    &lt;mapping abstract="true" type-name="overrides" class="java.util.HashMap" marshaller="com.foobar.Marshaller2"/&gt;
    &lt;mapping name="context" class="com.foobar.Context"&gt;
      &lt;structure map-as="configuration" field="configuration"/&gt;
      &lt;structure map-as="overrides" field="overrides"/&gt;
    &lt;/mapping&gt;
  &lt;/binding&gt;
  </code></pre>
  
  <p>However when doing so, when I attempt to build the binding, I receive the following:</p>
  
  <pre><code>Error during code generation for file "E:\project\src\main\jibx\foo.jibx" - this may be due to an error in your binding or classpath, or to an error in the JiBX code
  </code></pre>
  
  <p>My guess is that either I'm missing something I need to implement to enable my custom marshaller for abstract mapping, or custom marshallers do not support abstract mapping.</p>
  
  <p>I have found the IAbstractMarshaller interface in the JiBX API (<a href="http://jibx.sourceforge.net/api/org/jibx/runtime/IAbstractMarshaller.html" rel="nofollow">http://jibx.sourceforge.net/api/org/jibx/runtime/IAbstractMarshaller.html</a>), however the documentation seems unclear to me on if this is what I need to implement, as well as how it works if so.  I have not been able to find an implementation of this interface to work off of as an example.</p>
  
  <p>My question is, how do you do abstract mapping with custom marshallers (if it's possible)?  If it is done via the IAbstractMarshaller interface, how does it work and/or how should I implement it?</p>