Example #1
0
        private static INamingConvention GetNamingConvention(NamingConvention namingConvention)
        {
            INamingConvention target;

            switch (namingConvention)
            {
            case NamingConvention.Camel:
                target = new CamelCaseNamingConvention();
                break;

            case NamingConvention.Hyphenated:
                target = new HyphenatedNamingConvention();
                break;

            case NamingConvention.Pascal:
                target = new PascalCaseNamingConvention();
                break;

            case NamingConvention.Underscored:
                target = new UnderscoredNamingConvention();
                break;

            case NamingConvention.Null:
                target = new NullNamingConvention();
                break;

            default:
                throw new NotImplementedException(namingConvention.ToString());
            }

            return(target);
        }
Example #2
0
        public Deserializer(IObjectFactory objectFactory = null, INamingConvention namingConvention = null, bool ignoreUnmatched = false, YamlAttributeOverrides overrides = null)
        {
            objectFactory = objectFactory ?? new DefaultObjectFactory();
            INamingConvention convention1 = namingConvention;

            if (namingConvention == null)
            {
                INamingConvention local2 = namingConvention;
                convention1 = new NullNamingConvention();
            }
            namingConvention = convention1;
            this.typeDescriptor.TypeDescriptor = new CachedTypeInspector(new YamlAttributesTypeInspector(new YamlAttributeOverridesInspector(new NamingConventionTypeInspector(new ReadableAndWritablePropertiesTypeInspector(new ReadablePropertiesTypeInspector(new StaticTypeResolver())), namingConvention), overrides)));
            this.converters = new List <IYamlTypeConverter>();
            foreach (IYamlTypeConverter converter in YamlTypeConverters.GetBuiltInConverters(false))
            {
                this.converters.Add(converter);
            }
            this.NodeDeserializers = new List <INodeDeserializer>();
            this.NodeDeserializers.Add(new TypeConverterNodeDeserializer(this.converters));
            this.NodeDeserializers.Add(new NullNodeDeserializer());
            this.NodeDeserializers.Add(new ScalarNodeDeserializer());
            this.NodeDeserializers.Add(new ArrayNodeDeserializer());
            this.NodeDeserializers.Add(new DictionaryNodeDeserializer(objectFactory));
            this.NodeDeserializers.Add(new CollectionNodeDeserializer(objectFactory));
            this.NodeDeserializers.Add(new EnumerableNodeDeserializer());
            this.NodeDeserializers.Add(new ObjectNodeDeserializer(objectFactory, this.typeDescriptor, ignoreUnmatched));
            this.tagMappings   = new Dictionary <string, Type>(predefinedTagMappings);
            this.TypeResolvers = new List <INodeTypeResolver>();
            this.TypeResolvers.Add(new TagNodeTypeResolver(this.tagMappings));
            this.TypeResolvers.Add(new TypeNameInTagNodeTypeResolver());
            this.TypeResolvers.Add(new DefaultContainersNodeTypeResolver());
            this.valueDeserializer = new AliasValueDeserializer(new NodeValueDeserializer(this.NodeDeserializers, this.TypeResolvers));
        }
 public static IDeserializer Create(INamingConvention namingConvention = null)
 {
     if (namingConvention == null)
     {
         namingConvention = new NullNamingConvention();
     }
     return(new DeserializerBuilder()
            .WithNamingConvention(namingConvention)
            .IgnoreUnmatchedProperties()
            .Build());
 }
Example #4
0
        public Serializer(SerializationOptions options = 0, INamingConvention namingConvention = null, YamlAttributeOverrides overrides = null)
        {
            this.options = options;
            INamingConvention convention1 = namingConvention;

            if (namingConvention == null)
            {
                INamingConvention local1 = namingConvention;
                convention1 = new NullNamingConvention();
            }
            this.namingConvention = convention1;
            this.overrides        = overrides;
            this.Converters       = new List <IYamlTypeConverter>();
            foreach (IYamlTypeConverter converter in YamlTypeConverters.GetBuiltInConverters(this.IsOptionSet(SerializationOptions.JsonCompatible)))
            {
                this.Converters.Add(converter);
            }
            this.typeResolver = !this.IsOptionSet(SerializationOptions.DefaultToStaticType) ? ((ITypeResolver) new DynamicTypeResolver()) : ((ITypeResolver) new StaticTypeResolver());
        }