Exemple #1
0
        private Schema GenerateInlineSchema(DataContract dataContract, SchemaRepository schemaRepository)
        {
            if (dataContract.DataType == DataType.Unknown)
            {
                return(new Schema());
            }

            if (dataContract.DataType == DataType.Object)
            {
                return(GenerateObjectSchema(dataContract, schemaRepository));
            }

            if (dataContract.DataType == DataType.Array)
            {
                return(GenerateArraySchema(dataContract, schemaRepository));
            }

            else
            {
                return(GeneratePrimitiveSchema(dataContract));
            }
        }
Exemple #2
0
        private ISchema GeneratePropertySchema(DataProperty serializerMember, SchemaRepository schemaRepository)
        {
            var schema           = GenerateSchemaForType(serializerMember.MemberType, schemaRepository);
            var customAttributes = serializerMember.MemberInfo?.GetCustomAttributes(true);
            var memberSummary    = serializerMember.MemberInfo?.GetXmlDocsSummary();

            if (!string.IsNullOrWhiteSpace(memberSummary) && schema is Schema)
            {
                (schema as Schema).Description = memberSummary;
            }

            if (serializerMember.MemberInfo != null && schema is Schema)
            {
                (schema as Schema).ApplyCustomAttributes(customAttributes);
            }

            if (!(schema is Reference))
            {
                (schema as Schema).ReadOnly  = serializerMember.IsReadOnly;
                (schema as Schema).WriteOnly = serializerMember.IsWriteOnly;
            }

            return(schema);
        }
Exemple #3
0
        public ISchema GenerateSchema(Type type, SchemaRepository schemaRepository, MemberInfo memberInfo = null, ParameterInfo parameterInfo = null)
        {
            var schema = GenerateSchemaForType(type, schemaRepository);

            return(schema);
        }