public final class MarshalQueryablePrimitive<T> extends Object implements MarshalQueryable<T>
ByteBuffer
.
The following list of type marshaling is supported:
Due to the nature of generics, values are always boxed; this also means that both
the boxed and unboxed types are supported (i.e. both int
and Integer
).
Each managed type must correspond 1:1 to the native type
(e.g. a byte will not map to a TYPE_INT32
or vice versa)
for marshaling.
Constructor and Description |
---|
MarshalQueryablePrimitive() |
Modifier and Type | Method and Description |
---|---|
Marshaler<T> |
createMarshaler(TypeReference<T> managedType,
int nativeType)
Create a marshaler between the selected managed and native type.
|
boolean |
isTypeMappingSupported(TypeReference<T> managedType,
int nativeType)
Determine whether or not this query marshal is able to create a marshaler that will
support the managed type and native type mapping.
|
public Marshaler<T> createMarshaler(TypeReference<T> managedType, int nativeType)
MarshalQueryable
This marshaler instance is only good for that specific type mapping; and will refuse to map other managed types, other native types, or an other combination that isn't this exact one.
createMarshaler
in interface MarshalQueryable<T>
managedType
- a managed type referencenativeType
- the native type, e.g.
TYPE_BYTE
public boolean isTypeMappingSupported(TypeReference<T> managedType, int nativeType)
MarshalQueryable
If this returns true
, then a marshaler can be instantiated by
MarshalQueryable.createMarshaler(android.hardware.camera2.utils.TypeReference<T>, int)
that will marshal data to/from the native type
from/to the managed type.
Most marshalers are likely to only support one type map.
isTypeMappingSupported
in interface MarshalQueryable<T>