/// <summary>
 /// Constructor
 /// </summary>
 /// <param name="name">name of the fixed schema</param>
 /// <param name="aliases">list of aliases for the name</param>
 /// <param name="size">fixed size</param>
 /// <param name="names">list of named schema already parsed in</param>
 private FixedSchema(SchemaName name, IList<SchemaName> aliases, int size, PropertyMap props, SchemaNames names)
                     : base(Type.Fixed, name, aliases, props, names)
 {
     if (null == name.Name) throw new SchemaParseException("name cannot be null for fixed schema.");
     if (size <= 0) throw new ArgumentOutOfRangeException("size", "size must be greater than zero.");
     this.Size = size;
 }
Exemple #2
0
 /// <summary>
 /// Constructor for enum schema
 /// </summary>
 /// <param name="name">name of enum</param>
 /// <param name="aliases">list of aliases for the name</param>
 /// <param name="symbols">list of enum symbols</param>
 /// <param name="symbolMap">map of enum symbols and value</param>
 /// <param name="names">list of named schema already read</param>
 private EnumSchema(SchemaName name, IList<SchemaName> aliases, List<string> symbols,
     IDictionary<String, int> symbolMap, PropertyMap props, SchemaNames names)
     : base(Type.Enumeration, name, aliases, props, names)
 {
     if (null == name.Name) throw new SchemaParseException("name cannot be null for enum schema.");
     this.Symbols = symbols;
     this.symbolMap = symbolMap;
 }
Exemple #3
0
 /// <summary>
 /// Constructor for named schema class
 /// </summary>
 /// <param name="type">schema type</param>
 /// <param name="name">name</param>
 /// <param name="names">list of named schemas already read</param>
 protected NamedSchema(Type type, SchemaName name, IList<SchemaName> aliases, PropertyMap props, SchemaNames names)
     : base(type, props)
 {
     this.SchemaName = name;
     this.aliases = aliases;
     if (null != name.Name)  // Added this check for anonymous records inside Message
         if (!names.Add(name, this))
             throw new AvroException("Duplicate schema name " + name.Fullname);
 }
Exemple #4
0
 public string testFullname(string s1, string s2)
 {
     var name = new SchemaName(s1, s2, null);
     return name.Fullname;
 }
Exemple #5
0
 /// <summary>
 /// Tries to get the value for the given name fields
 /// </summary>
 /// <param name="name">name of the schema</param>
 /// <param name="space">namespace of the schema</param>
 /// <param name="encspace">enclosing namespace of the schema</param>
 /// <param name="schema">schema object found</param>
 /// <returns>true if name is found in the map, false otherwise</returns>
 public bool TryGetValue(string name, string space, string encspace, out NamedSchema schema)
 {
     SchemaName schemaname = new SchemaName(name, space, encspace);
     return Names.TryGetValue(schemaname, out schema);
 }
Exemple #6
0
 /// <summary>
 /// Checks if given name is in the map
 /// </summary>
 /// <param name="name">schema name</param>
 /// <returns>true or false</returns>
 public bool Contains(SchemaName name)
 {
     if (Names.ContainsKey(name))
         return true;
     return false;
 }
Exemple #7
0
        /// <summary>
        /// Adds a schema name to the map if it doesn't exist yet
        /// </summary>
        /// <param name="name">schema name</param>
        /// <param name="schema">schema object</param>
        /// <returns>true if schema was added to the list, false if schema is already in the list</returns>
        public bool Add(SchemaName name, NamedSchema schema)
        {
            if (Names.ContainsKey(name))
                return false;

            Names.Add(name, schema);
            return true;
        }
Exemple #8
0
 protected bool InAliases(SchemaName name)
 {
     if (null != aliases)
     {
         foreach (SchemaName alias in aliases)
             if (name.Equals(alias)) return true;
     }
     return false;
 }
Exemple #9
0
        /// <summary>
        /// Tries to get the value for the given name fields
        /// </summary>
        /// <param name="name">name of the schema</param>
        /// <param name="space">namespace of the schema</param>
        /// <param name="encspace">enclosing namespace of the schema</param>
        /// <param name="schema">schema object found</param>
        /// <returns>true if name is found in the map, false otherwise</returns>
        public bool TryGetValue(string name, string space, string encspace, out NamedSchema schema)
        {
            SchemaName schemaname = new SchemaName(name, space, encspace);

            return(Names.TryGetValue(schemaname, out schema));
        }
Exemple #10
0
        /// <summary>
        /// Adds a named schema to the list
        /// </summary>
        /// <param name="schema">schema object</param>
        /// <returns>true if schema was added to the list, false if schema is already in the list</returns>
        public bool Add(NamedSchema schema)
        {
            SchemaName name = schema.SchemaName;

            return(Add(name, schema));
        }
Exemple #11
0
 /// <summary>
 /// Hash code function
 /// </summary>
 /// <returns></returns>
 public override int GetHashCode()
 {
     return(53 * SchemaName.GetHashCode() + 47 * Size + getHashCode(Props));
 }