src/a40_entityMetadata.js
function MetadataStore(config) {
    config = config || { };
    assertConfig(config)
        .whereParam("namingConvention").isOptional().isInstanceOf(NamingConvention).withDefault(NamingConvention.defaultInstance)
        .whereParam("localQueryComparisonOptions").isOptional().isInstanceOf(LocalQueryComparisonOptions).withDefault(LocalQueryComparisonOptions.defaultInstance)
        .whereParam("serializerFn").isOptional().isFunction()
        .applyAll(this);
    this.dataServices = []; // array of dataServices;
    this._resourceEntityTypeMap = {}; // key is resource name - value is qualified entityType name
    this._structuralTypeMap = {}; // key is qualified structuraltype name - value is structuralType. ( structural = entityType or complexType).
    this._shortNameMap = {}; // key is shortName, value is qualified name - does not need to be serialized.
    this._ctorRegistry = {}; // key is either short or qual type name - value is ctor;
    this._incompleteTypeMap = {}; // key is entityTypeName; value is array of nav props
    this._incompleteComplexTypeMap = {}; // key is complexTypeName; value is array of complexType props
    this._id = __id++;
    this.metadataFetched = new Event("metadataFetched", this);

  }
function MetadataStore(config) {
    config = config || { };
    assertConfig(config)
        .whereParam("namingConvention").isOptional().isInstanceOf(NamingConvention).withDefault(NamingConvention.defaultInstance)
        .whereParam("localQueryComparisonOptions").isOptional().isInstanceOf(LocalQueryComparisonOptions).withDefault(LocalQueryComparisonOptions.defaultInstance)
        .whereParam("serializerFn").isOptional().isFunction()
        .applyAll(this);
    this.dataServices = []; // array of dataServices;
    this._resourceEntityTypeMap = {}; // key is resource name - value is qualified entityType name
    this._structuralTypeMap = {}; // key is qualified structuraltype name - value is structuralType. ( structural = entityType or complexType).
    this._shortNameMap = {}; // key is shortName, value is qualified name - does not need to be serialized.
    this._ctorRegistry = {}; // key is either short or qual type name - value is ctor;
    this._incompleteTypeMap = {}; // key is entityTypeName; value is array of nav props
    this._incompleteComplexTypeMap = {}; // key is complexTypeName; value is array of complexType props
    this._id = __id++;
    this.metadataFetched = new Event("metadataFetched", this);

  }
function MetadataStore ( config ) { config = config || { } ; assertConfig ( config ) . whereParam ( "namingConvention" ) . isOptional ( ) . isInstanceOf ( NamingConvention ) . withDefault ( NamingConvention . defaultInstance ) . whereParam ( "localQueryComparisonOptions" ) . isOptional ( ) . isInstanceOf ( LocalQueryComparisonOptions ) . withDefault ( LocalQueryComparisonOptions . defaultInstance ) . whereParam ( "serializerFn" ) . isOptional ( ) . isFunction ( ) . applyAll ( this ) ; this . dataServices = [ ] ; // array of dataServices; this . _resourceEntityTypeMap = { } ; // key is resource name - value is qualified entityType name this . _structuralTypeMap = { } ; // key is qualified structuraltype name - value is structuralType. ( structural = entityType or complexType). this . _shortNameMap = { } ; // key is shortName, value is qualified name - does not need to be serialized. this . _ctorRegistry = { } ; // key is either short or qual type name - value is ctor; this . _incompleteTypeMap = { } ; // key is entityTypeName; value is array of nav props this . _incompleteComplexTypeMap = { } ; // key is complexTypeName; value is array of complexType props this . _id = __id ++ ; this . metadataFetched = new Event ( "metadataFetched" , this ) ; }
Constructs a new MetadataStore.
@example
var ms = new MetadataStore();
The store can then be associated with an EntityManager
@example
var entityManager = new EntityManager( {
serviceName: "breeze/NorthwindIBModel",
metadataStore: ms
});
or for an existing EntityManager
@example
Assume em1 is an existing EntityManager
em1.setProperties( { metadataStore: ms });
@method <ctor> MetadataStore
@param [config] {Object} Configuration settings .
@param [config.namingConvention=NamingConvention.defaultInstance] {NamingConvention} NamingConvention to be used in mapping property names
between client and server. Uses the NamingConvention.defaultInstance if not specified.
@param [config.localQueryComparisonOptions=LocalQueryComparisonOptions.defaultInstance] {LocalQueryComparisonOptions} The LocalQueryComparisonOptions to be
used when performing "local queries" in order to match the semantics of queries against a remote service.
@param [config.serializerFn] A function that is used to mediate the serialization of instances of this type.
Constructs a new MetadataStore .