public virtual Net.Vpc.Upa.Types.DataTypeTransform CreateTypeTransform(Net.Vpc.Upa.PersistenceUnit pu, Net.Vpc.Upa.Types.DataType source, Net.Vpc.Upa.Types.DataTypeTransformConfig transformConfig) { if (transformConfig == null) { return(null); } if (transformConfig is Net.Vpc.Upa.Types.DataTypeTransform) { return((Net.Vpc.Upa.Types.DataTypeTransform)transformConfig); } else if ((transformConfig is Net.Vpc.Upa.Types.CustomExpressionDataTypeTransform)) { Net.Vpc.Upa.Types.CustomExpressionDataTypeTransform c = (Net.Vpc.Upa.Types.CustomExpressionDataTypeTransform)transformConfig; return(CreateTypeTransform(pu, source, CreateDataTypeTransformConfigArray(c.GetExpression()))); } else if ((transformConfig is Net.Vpc.Upa.Types.CustomTypeDataTypeTransform)) { Net.Vpc.Upa.Types.CustomTypeDataTypeTransform c = (Net.Vpc.Upa.Types.CustomTypeDataTypeTransform)transformConfig; return(pu.GetFactory().CreateObject <T>(c.GetCustomType())); } else if ((transformConfig is Net.Vpc.Upa.Types.CustomInstanceDataTypeTransform)) { Net.Vpc.Upa.Types.CustomInstanceDataTypeTransform c = (Net.Vpc.Upa.Types.CustomInstanceDataTypeTransform)transformConfig; Net.Vpc.Upa.Types.DataTypeTransform i = c.GetInstance(); return(i); } else if (transformConfig is Net.Vpc.Upa.PasswordTransformConfig) { Net.Vpc.Upa.PasswordTransformConfig p = (Net.Vpc.Upa.PasswordTransformConfig)transformConfig; return(CreatePasswordTransform(pu, source, p)); } else if (transformConfig is Net.Vpc.Upa.Types.SecretTransformConfig) { Net.Vpc.Upa.Types.SecretTransformConfig p = (Net.Vpc.Upa.Types.SecretTransformConfig)transformConfig; return(CreateSecretTransform(pu, source, p)); } else if (transformConfig is Net.Vpc.Upa.Types.StringEncoderTransformConfig) { Net.Vpc.Upa.Types.StringEncoderTransformConfig p = (Net.Vpc.Upa.Types.StringEncoderTransformConfig)transformConfig; return(CreateStringEncoderTransform(pu, source, p)); } else if (transformConfig is Net.Vpc.Upa.Types.ByteArrayEncoderTransformConfig) { Net.Vpc.Upa.Types.ByteArrayEncoderTransformConfig p = (Net.Vpc.Upa.Types.ByteArrayEncoderTransformConfig)transformConfig; return(CreateByteArrayEncoderTransform(pu, source, p)); } else if (transformConfig is Net.Vpc.Upa.Types.CharArrayEncoderTransformConfig) { Net.Vpc.Upa.Types.CharArrayEncoderTransformConfig p = (Net.Vpc.Upa.Types.CharArrayEncoderTransformConfig)transformConfig; return(CreateCharArrayEncoderTransform(pu, source, p)); } throw new Net.Vpc.Upa.Exceptions.UPAException("Unsupported Transform Method", source); }
public virtual Net.Vpc.Upa.Types.DataTypeTransform CreateCharArrayEncoderTransform(Net.Vpc.Upa.PersistenceUnit pu, Net.Vpc.Upa.Types.DataType source, Net.Vpc.Upa.Types.CharArrayEncoderTransformConfig p) { if (p == null) { p = new Net.Vpc.Upa.Types.CharArrayEncoderTransformConfig(); } Net.Vpc.Upa.Types.CharArrayEncoder preEncoder = null; int baseSize = 0; if (source is Net.Vpc.Upa.Types.IntType) { preEncoder = Net.Vpc.Upa.Impl.Transform.IntToStringCharArrayEncoder.INSTANCE; baseSize = 255; } else if (source is Net.Vpc.Upa.Types.LongType) { preEncoder = Net.Vpc.Upa.Impl.Transform.LongToStringCharArrayEncoder.INSTANCE; baseSize = 255; } else if (source is Net.Vpc.Upa.Types.DoubleType) { preEncoder = Net.Vpc.Upa.Impl.Transform.DoubleToStringCharArrayEncoder.INSTANCE; baseSize = 255; } else if (source is Net.Vpc.Upa.Types.FloatType) { preEncoder = Net.Vpc.Upa.Impl.Transform.FloatToStringCharArrayEncoder.INSTANCE; baseSize = 255; } else if (source is Net.Vpc.Upa.Types.StringType) { preEncoder = Net.Vpc.Upa.Impl.Transform.StringToCharArrayEncoder.INSTANCE; baseSize = 255; } else if (source is Net.Vpc.Upa.Types.ByteArrayType) { preEncoder = null; baseSize = 255; } else { throw new System.ArgumentException("Unsupported"); } object postEncoderObject = p.GetEncoder(); Net.Vpc.Upa.Types.CharArrayEncoder postEncoder = null; if (postEncoderObject == null) { } else if (postEncoderObject is string) { if (!Net.Vpc.Upa.Impl.Util.StringUtils.IsNullOrEmpty((string)postEncoderObject)) { postEncoder = pu.GetFactory().CreateObject <T>((string)postEncoderObject); } } else if (postEncoderObject is System.Type) { postEncoder = (Net.Vpc.Upa.Types.CharArrayEncoder)pu.GetFactory().CreateObject <object>((System.Type)postEncoderObject); } else if (postEncoderObject is Net.Vpc.Upa.Types.ByteArrayEncoder) { postEncoder = (Net.Vpc.Upa.Types.CharArrayEncoder)postEncoderObject; } else { throw new System.ArgumentException("Unsupported"); } if (p.GetSize() <= 0) { p.SetSize(baseSize); } Net.Vpc.Upa.Types.CharArrayEncoder finalEncoder = null; if (preEncoder == null) { finalEncoder = postEncoder; } else if (postEncoder == null) { finalEncoder = preEncoder; } else { finalEncoder = new Net.Vpc.Upa.Impl.Transform.ChainCharArrayEncoder(preEncoder, postEncoder); } if (finalEncoder == null) { finalEncoder = Net.Vpc.Upa.Impl.Transform.IdentityCharArrayEncoder.INSTANCE; } return(new Net.Vpc.Upa.Impl.Transform.CharArrayEncoderDataTypeTransform(finalEncoder, source, p.GetSize())); }