/// <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; }
/// <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; }
/// <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); }
public string testFullname(string s1, string s2) { var name = new SchemaName(s1, s2, null); return name.Fullname; }
/// <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); }
/// <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; }
/// <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; }
protected bool InAliases(SchemaName name) { if (null != aliases) { foreach (SchemaName alias in aliases) if (name.Equals(alias)) return true; } return false; }
/// <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)); }
/// <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)); }
/// <summary> /// Hash code function /// </summary> /// <returns></returns> public override int GetHashCode() { return(53 * SchemaName.GetHashCode() + 47 * Size + getHashCode(Props)); }