JNA API 3.2.7

com.sun.jna
Class DefaultTypeMapper

java.lang.Object
  extended by com.sun.jna.DefaultTypeMapper
All Implemented Interfaces:
TypeMapper
Direct Known Subclasses:
W32APITypeMapper

public class DefaultTypeMapper
extends Object
implements TypeMapper

Provide custom mappings to and from native types. The default lookup checks classes corresponding to converters in the order added; if the class to be converted is an instance of the converter's registered class, the converter will be used.

Derived classes should install additional converters using addToNativeConverter(java.lang.Class, com.sun.jna.ToNativeConverter) and/or addFromNativeConverter(java.lang.Class, com.sun.jna.FromNativeConverter) in the default constructor. Classes for primitive types will automatically register for the corresponding Object type and vice versa (i.e. you don't have to register both int.class and Integer.class). If you want different mapping behavior than the default, simply override getToNativeConverter(java.lang.Class) and getFromNativeConverter(java.lang.Class).

See Also:
Library.OPTION_TYPE_MAPPER

Constructor Summary
DefaultTypeMapper()
           
 
Method Summary
 void addFromNativeConverter(Class cls, FromNativeConverter converter)
          Add a FromNativeConverter to convert a native result type into the given Java type.
 void addToNativeConverter(Class cls, ToNativeConverter converter)
          Add a ToNativeConverter to define the conversion into a native type from arguments of the given Java type.
protected  void addTypeConverter(Class cls, TypeConverter converter)
          Add a TypeConverter to provide bidirectional mapping between a native and Java type.
 FromNativeConverter getFromNativeConverter(Class javaType)
          Return the FromNativeConverter appropriate for the given Java class.
 ToNativeConverter getToNativeConverter(Class javaType)
          Return the ToNativeConverter appropriate for the given Java class.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DefaultTypeMapper

public DefaultTypeMapper()
Method Detail

addToNativeConverter

public void addToNativeConverter(Class cls,
                                 ToNativeConverter converter)
Add a ToNativeConverter to define the conversion into a native type from arguments of the given Java type. Converters are checked for in the order added.


addFromNativeConverter

public void addFromNativeConverter(Class cls,
                                   FromNativeConverter converter)
Add a FromNativeConverter to convert a native result type into the given Java type. Converters are checked for in the order added.


addTypeConverter

protected void addTypeConverter(Class cls,
                                TypeConverter converter)
Add a TypeConverter to provide bidirectional mapping between a native and Java type.


getFromNativeConverter

public FromNativeConverter getFromNativeConverter(Class javaType)
Description copied from interface: TypeMapper
Return the FromNativeConverter appropriate for the given Java class.

Specified by:
getFromNativeConverter in interface TypeMapper

getToNativeConverter

public ToNativeConverter getToNativeConverter(Class javaType)
Description copied from interface: TypeMapper
Return the ToNativeConverter appropriate for the given Java class.

Specified by:
getToNativeConverter in interface TypeMapper

JNA API 3.2.7

Copyright © 2007-2010 Timothy Wall. All Rights Reserved.