RemoteDescriptor.Builder


public final class RemoteDescriptor.Builder


Builder for RemoteDescriptor

Summary

Public constructors

Public methods

RemoteDescriptor

Builds a RemoteDescriptor from the builder properties set.

RemoteDescriptor.Builder
setInstanceFieldDescriptors(
    @Nullable FieldDescriptor[] fieldDescriptors
)

Sets the FieldDescriptors associated with this RemoteDescriptor.

RemoteDescriptor.Builder

Sets the instance type for associated with this RemoteDescriptor.

RemoteDescriptor.Builder

Sets the type of the proto message builder associated with this RemoteDescriptor.

RemoteDescriptor.Builder

Sets the type of the proto message parser associated with this RemoteDescriptor.

RemoteDescriptor.Builder

Sets the type of the proto message associated with this RemoteDescriptor.

RemoteDescriptor.Builder
setRemoteConstrTypes(@Nullable Class[] remoteConstrTypes)

Sets the remote constructor types of the EspressoRemoteMessage associated with this RemoteDescriptor.

RemoteDescriptor.Builder

Sets the type of the EspressoRemoteMessage associated with this .

Public constructors

Builder

public Builder()

Public methods

build

public RemoteDescriptor build()

Builds a RemoteDescriptor from the builder properties set.

setInstanceFieldDescriptors

public RemoteDescriptor.Builder setInstanceFieldDescriptors(
    @Nullable FieldDescriptor[] fieldDescriptors
)

Sets the FieldDescriptors associated with this RemoteDescriptor.

The field descriptor order, must match the instanceTypes declared constructor parameter order.

Note: Any field descriptors passed to this method will be overwritten by field descriptors annotated with RemoteMsgField.

Parameters
@Nullable FieldDescriptor[] fieldDescriptors
Returns
RemoteDescriptor.Builder

fluent builder interface

setInstanceType

public RemoteDescriptor.Builder setInstanceType(@NonNull Class<Object> instanceType)

Sets the instance type for associated with this RemoteDescriptor.

The instance type represents the class that will be converted to and from a proto.

Parameters
@NonNull Class<Object> instanceType
Returns
RemoteDescriptor.Builder

fluent builder interface

setProtoBuilderType

public RemoteDescriptor.Builder setProtoBuilderType(@NonNull Class<Object> protoBuilderType)

Sets the type of the proto message builder associated with this RemoteDescriptor.

By default the proto builder will be created by this class. Only call this method if a custom builder is required.

Parameters
@NonNull Class<Object> protoBuilderType

the proto message builder class

Returns
RemoteDescriptor.Builder

fluent builder interface

setProtoParser

public RemoteDescriptor.Builder setProtoParser(@NonNull Parser<Object> protoParser)

Sets the type of the proto message parser associated with this RemoteDescriptor.

By default the proto parser is inferred from the protoType. Only call this method if a custom parser is required.

Parameters
@NonNull Parser<Object> protoParser

the proto parser

Returns
RemoteDescriptor.Builder

fluent builder interface

setProtoType

public RemoteDescriptor.Builder setProtoType(@NonNull Class<Object> protoType)

Sets the type of the proto message associated with this RemoteDescriptor.

Parameters
@NonNull Class<Object> protoType

the proto message class

Returns
RemoteDescriptor.Builder

fluent builder interface

setRemoteConstrTypes

public RemoteDescriptor.Builder setRemoteConstrTypes(@Nullable Class[] remoteConstrTypes)

Sets the remote constructor types of the EspressoRemoteMessage associated with this RemoteDescriptor.

The types passed to this method will be used to reflectively infer the remote message constructor.

By default the instanceType is used as remote message constructor. Only set custom remote constructor types, when the remote message constructor takes a superclass or interface, implemented by the instance type. Don't call this method when using .

Parameters
@Nullable Class[] remoteConstrTypes
Returns
RemoteDescriptor.Builder

fluent builder interface

setRemoteType

public RemoteDescriptor.Builder setRemoteType(@NonNull Class<Object> remoteType)

Sets the type of the EspressoRemoteMessage associated with this .

Parameters
@NonNull Class<Object> remoteType

the remote message class

Returns
RemoteDescriptor.Builder

fluent builder interface