コード例 #1
0
        /// <summary>
        /// Serializes the given object to xml
        /// </summary>
        /// <param name="object">The object to serialize</param>
        /// <param name="includeHeader">True if we are to include the xml header.</param>
        /// <returns>The xml</returns>
        /// <seealso cref="Org.IdentityConnectors.Framework.Common.Serializer.ObjectSerializerFactory" />
        public static String SerializeXmlObject(Object obj, bool includeHeader)
        {
            ObjectSerializerFactory fact = ObjectSerializerFactory.GetInstance();
            StringWriter            w    = new StringWriter();
            XmlObjectSerializer     ser  = fact.NewXmlSerializer(w, includeHeader, false);

            ser.WriteObject(obj);
            ser.Close(true);
            return(w.ToString());
        }
コード例 #2
0
        /// <summary>
        /// Serializes the given object to bytes
        /// </summary>
        /// <param name="object">The object to serialize</param>
        /// <returns>The bytes</returns>
        /// <seealso cref="Org.IdentityConnectors.Framework.Common.Serializer.ObjectSerializerFactory" />
        public static byte[] SerializeBinaryObject(object obj)
        {
            ObjectSerializerFactory fact = ObjectSerializerFactory.GetInstance();
            MemoryStream            mem  = new MemoryStream();
            BinaryObjectSerializer  ser  = fact.NewBinarySerializer(mem);

            ser.WriteObject(obj);
            ser.Close();
            return(mem.ToArray());
        }
コード例 #3
0
        /// <summary>
        /// Get the singleton instance of the <see cref="Org.IdentityConnectors.Framework.Common.Serializer.ObjectSerializerFactory" />.
        /// </summary>
        public static ObjectSerializerFactory GetInstance()
        {
            lock (LOCK)
            {
                if (_instance == null)
                {
                    SafeType <ObjectSerializerFactory> t =
                        FrameworkInternalBridge.LoadType <ObjectSerializerFactory>(IMPL_NAME);

                    _instance = t.CreateInstance();
                }
                return(_instance);
            }
        }
コード例 #4
0
        /// <summary>
        /// Deserializes the given object from xml
        /// </summary>
        /// <param name="bytes">The xml to deserialize</param>
        /// <param name="validate">True if we are to validate the xml</param>
        /// <returns>The object</returns>
        /// <seealso cref="Org.IdentityConnectors.Framework.Common.Serializer.ObjectSerializerFactory" />
        public static Object DeserializeXmlObject(String str, bool validate)
        {
            ObjectSerializerFactory fact   = ObjectSerializerFactory.GetInstance();
            StringReader            source = new StringReader(str);
            IList <Object>          rv     = new List <Object>();

            fact.DeserializeXmlStream(source,
                                      obj =>
            {
                rv.Add(obj);
                return(true);
            }, validate);
            if (rv.Count > 0)
            {
                return(rv[0]);
            }
            else
            {
                return(null);
            }
        }
コード例 #5
0
        /// <summary>
        /// Get the singleton instance of the <see cref="Org.IdentityConnectors.Framework.Common.Serializer.ObjectSerializerFactory" />.
        /// </summary>
        public static ObjectSerializerFactory GetInstance()
        {
            lock (LOCK)
            {
                if (_instance == null)
                {
                    SafeType<ObjectSerializerFactory> t =
                        FrameworkInternalBridge.LoadType<ObjectSerializerFactory>(IMPL_NAME);

                    _instance = t.CreateInstance();
                }
                return _instance;
            }
        }