MarshalQueryable.javaAPI DocAndroid 5.1 API2736Thu Mar 12 22:22:10 GMT 2015android.hardware.camera2.marshal


public interface MarshalQueryable
Query if a marshaler can marshal to/from a particular native and managed type; if it supports the combination, allow creating a marshaler instance to do the serialization.

Not all queryable instances will support exactly one combination. Some, such as the primitive queryable will support all primitive to/from managed mappings (as long as they are 1:1). Others, such as the rectangle queryable will only support integer to rectangle mappings.

Yet some others are codependent on other queryables; e.g. array queryables might only support a type map for {@code T[]} if another queryable exists with support for the component type {@code T}.

Fields Summary
Constructors Summary
Methods Summary
public MarshalercreateMarshaler(android.hardware.camera2.utils.TypeReference managedType, int nativeType)
Create a marshaler between the selected managed and native type.

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.

managedType a managed type reference
nativeType the native type, e.g. {@link android.hardware.camera2.impl.CameraMetadataNative#TYPE_BYTE TYPE_BYTE}
UnsupportedOperationException if {@link #isTypeMappingSupported} returns {@code false}

public booleanisTypeMappingSupported(android.hardware.camera2.utils.TypeReference 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.

If this returns {@code true}, then a marshaler can be instantiated by {@link #createMarshaler} that will marshal data to/from the native type from/to the managed type.

Most marshalers are likely to only support one type map.