Example #1
0
        internal static ApplicationDefinitionArtifact DeserializeApplicationDefinitionArtifact(JsonElement element)
        {
            ApplicationDefinitionArtifactName name = default;
            Uri uri = default;
            ApplicationArtifactType type = default;

            foreach (var property in element.EnumerateObject())
            {
                if (property.NameEquals("name"))
                {
                    name = new ApplicationDefinitionArtifactName(property.Value.GetString());
                    continue;
                }
                if (property.NameEquals("uri"))
                {
                    uri = new Uri(property.Value.GetString());
                    continue;
                }
                if (property.NameEquals("type"))
                {
                    type = property.Value.GetString().ToApplicationArtifactType();
                    continue;
                }
            }
            return(new ApplicationDefinitionArtifact(name, uri, type));
        }
        public ApplicationDefinitionArtifact(ApplicationDefinitionArtifactName name, string uri, ApplicationArtifactType type)
        {
            if (uri == null)
            {
                throw new ArgumentNullException(nameof(uri));
            }

            Name = name;
            Uri  = uri;
            Type = type;
        }
Example #3
0
        internal ApplicationArtifact(ApplicationArtifactName name, Uri uri, ApplicationArtifactType applicationArtifactType)
        {
            if (uri == null)
            {
                throw new ArgumentNullException(nameof(uri));
            }

            Name = name;
            Uri  = uri;
            ApplicationArtifactType = applicationArtifactType;
        }
Example #4
0
 void IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
 {
     writer.WriteStartObject();
     writer.WritePropertyName("name");
     writer.WriteStringValue(Name.ToString());
     writer.WritePropertyName("uri");
     writer.WriteStringValue(Uri.AbsoluteUri);
     writer.WritePropertyName("type");
     writer.WriteStringValue(ApplicationArtifactType.ToSerialString());
     writer.WriteEndObject();
 }
Example #5
0
 public static string ToSerialString(this ApplicationArtifactType value) => value switch
 {