Class ErpTypeSerializer
java.lang.Object
com.sap.cloud.sdk.s4hana.connectivity.ErpTypeSerializer
Used for serialization and deserialization of ERP-based types.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription<T> ConvertedObject<T>Convert a given String based erpObject in the ERP-based representation into an object of resultType.Gets registeredErpTypeConverters.Map<Class<?>,ErpTypeConverter<?>> Gets registeredErpTypeConverters for eachErpType.<T> ConvertedObject<String>toErp(T object) Convert given object to an ERP type using a registeredErpTypeConverter.withTypeConverters(ErpTypeConverter<?>... typeConverters) Delegates towithTypeConverters(Iterable).withTypeConverters(Iterable<ErpTypeConverter<?>> typeConverters) Registers the givenErpTypeConverters.
-
Constructor Details
-
ErpTypeSerializer
public ErpTypeSerializer()Initializes theErpTypeSerializerwith default ERP type converters.
-
-
Method Details
-
withTypeConverters
@Nonnull public ErpTypeSerializer withTypeConverters(@Nonnull Iterable<ErpTypeConverter<?>> typeConverters) Registers the givenErpTypeConverters. Replaces existing converters for already existing types that have been added before.- Parameters:
typeConverters- The ERP type converters to be added.- Returns:
- The same instance.
-
withTypeConverters
@Nonnull public ErpTypeSerializer withTypeConverters(@Nonnull ErpTypeConverter<?>... typeConverters) Delegates towithTypeConverters(Iterable).- Parameters:
typeConverters- The ERP type converters to be added.- Returns:
- The same instance.
-
getTypeConverters
Gets registeredErpTypeConverters.- Returns:
- All registered ERP type converters.
-
getTypeConvertersByType
Gets registeredErpTypeConverters for eachErpType.- Returns:
- The converters for each ERP type.
-
toErp
Convert given object to an ERP type using a registeredErpTypeConverter.Example usage in the SDK
ErpTypeSerializertest:final ErpTypeSerializer serializer = new ErpTypeSerializer(); assertThat(serializer.toErp(new CostCenter("123")).get()).isEqualTo("0000000123"); assertThat(serializer.toErp(-123.4d).get()).isEqualTo("123.4-");- Type Parameters:
T- The generic type.- Parameters:
object- The ERP object to serialize.- Returns:
- A wrapped instance of the serialized object.
-
fromErp
@Nonnull public <T> ConvertedObject<T> fromErp(@Nullable String erpObject, @Nonnull Class<T> resultType) Convert a given String based erpObject in the ERP-based representation into an object of resultType. For the conversion, uses aErpTypeConverterregistered for resultType.* Example usage in the SDK
ErpTypeSerializertest:assertThat(serializer.fromErp("0000000123", CostCenter.class).get()).isEqualTo(new CostCenter("123")); assertThat(serializer.fromErp("123.4 ", Double.class).get()).isEqualTo(123.4d); assertThat(serializer.fromErp("123.4-", Double.class).get()).isEqualTo(-123.4d);- Type Parameters:
T- The generic result type.- Parameters:
erpObject- The serialized ERP object.resultType- The expected deserialization result type.- Returns:
- A wrapped instance of the deserialized object.
-