Exemple #1
0
 public ValueOrParameterRef Get(ScoredPropertyName name)
 {
     if (name == null)
     {
         throw new ArgumentNullException(nameof(name));
     }
     return(_scoredProperties.Get(name)?.ValueOrParameterRef);
 }
Exemple #2
0
 /// <summary>
 /// Gets the value of nested <see cref="ScoredProperty"/> specified name.
 /// </summary>
 /// <param name="name1">The name of <see cref="ScoredProperty"/>.</param>
 /// <param name="name2">The name of nested <see cref="ScoredProperty"/>.</param>
 /// <returns>The value of specified ScoredProperty.</returns>
 public ValueOrParameterRef Get(ScoredPropertyName name1, ScoredPropertyName name2)
 {
     if (name1 == null)
     {
         throw new ArgumentNullException(nameof(name1));
     }
     if (name2 == null)
     {
         throw new ArgumentNullException(nameof(name2));
     }
     return(_scoredProperties.Get(name1)?.Get(name2));
 }
Exemple #3
0
 internal ScoredProperty(
     ScoredPropertyName name,
     Value value,
     ParameterRef parameter,
     ImmutableNamedElementCollection <ScoredProperty> scoredProperties,
     ImmutableNamedElementCollection <Property> properties)
 {
     Name              = name;
     Value             = value;
     ParameterRef      = parameter;
     _scoredProperties = scoredProperties;
     _properties       = properties;
 }
Exemple #4
0
        /// <summary>
        /// Initializes a new instance of the <see cref="ScoredProperty"/> class.
        /// </summary>
        /// <param name="name">Name of ScoredProperty element.</param>
        /// <param name="elements">Child Property and/or ScoredProperty.</param>
        public ScoredProperty(ScoredPropertyName name, params ScoredPropertyChild[] elements)
        {
            Name = name;

            var scoredProperties = ImmutableNamedElementCollection.CreateScoredPropertyCollectionBuilder();
            var properties       = ImmutableNamedElementCollection.CreatePropertyCollectionBuilder();

            foreach (var e in elements)
            {
                e.Apply(
                    onScoredProperty: x => scoredProperties.Add(x),
                    onProperty: x => properties.Add(x));
            }

            _scoredProperties = scoredProperties.ToImmutable();
            _properties       = properties.ToImmutable();
        }
Exemple #5
0
 /// <summary>
 /// Initializes a new instance of the <see cref="ScoredProperty"/> class.
 /// </summary>
 /// <param name="name">Name of the ScoredProperty.</param>
 /// <param name="parameter">ParameterRef element of the ScoredProperty.</param>
 /// <param name="elements">Child Property and/or ScoredProperty.</param>
 public ScoredProperty(ScoredPropertyName name, ParameterRef parameter, params ScoredPropertyChild[] elements)
     : this(name, elements)
 {
     ParameterRef = parameter;
 }
Exemple #6
0
 /// <summary>
 /// Initializes a new instance of the <see cref="ScoredProperty"/> class.
 /// </summary>
 /// <param name="name">Name of the ScoredProperty.</param>
 /// <param name="value">Value of the ScoredProperty.</param>
 /// <param name="elements">Child Property and/or ScoredProperty.</param>
 public ScoredProperty(ScoredPropertyName name, Value value, params ScoredPropertyChild[] elements)
     : this(name, elements)
 {
     Value = value;
 }
Exemple #7
0
 public PrintSchemaScoredProperty(ScoredPropertyName name)
 {
     _name = name;
 }