private static final < T > RuleFactory < T > rulesOf ( DynamoDBMapperConfig config , S3Link . Factory s3Links , DynamoDBMapperModelFactory models ) { final boolean ver1 = ( config . getConversionSchema ( ) == ConversionSchemas . V1 ) ; final boolean ver2 = ( config . getConversionSchema ( ) == ConversionSchemas . V2 ) ; final boolean v2Compatible = ( config . getConversionSchema ( ) == ConversionSchemas . V2_COMPATIBLE ) ; final DynamoDBTypeConverterFactory . Builder scalars = config . getTypeConverterFactory ( ) . override ( ) ; scalars . with ( String . class , S3Link . class , s3Links ) ; final Rules < T > factory = new Rules < T > ( scalars . build ( ) ) ; factory . add ( factory . new NativeType ( ! ver1 ) ) ; factory . add ( factory . new V2CompatibleBool ( v2Compatible ) ) ; factory . add ( factory . new NativeBool ( ver2 ) ) ; factory . add ( factory . new StringScalar ( true ) ) ; factory . add ( factory . new DateToEpochRule ( true ) ) ; factory . add ( factory . new NumberScalar ( true ) ) ; factory . add ( factory . new BinaryScalar ( true ) ) ; factory . add ( factory . new NativeBoolSet ( ver2 ) ) ; factory . add ( factory . new StringScalarSet ( true ) ) ; factory . add ( factory . new NumberScalarSet ( true ) ) ; factory . add ( factory . new BinaryScalarSet ( true ) ) ; factory . add ( factory . new ObjectSet ( ver2 ) ) ; factory . add ( factory . new ObjectStringSet ( ! ver2 ) ) ; factory . add ( factory . new ObjectList ( ! ver1 ) ) ; factory . add ( factory . new ObjectMap ( ! ver1 ) ) ; factory . add ( factory . new ObjectDocumentMap ( ! ver1 , models , config ) ) ; return factory ; }
Creates a new set of conversion rules based on the configuration .