예제 #1
0
        public void Register(IValueObjectConfig config, Type key)
        {
            Type entityType = config.EntityType;
            Type valueType  = config.ValueType;

            Object writeLock = GetWriteLock();

            lock (writeLock)
            {
                typeToValueObjectConfig.Register(config, valueType);

                // Clone list because of SmartCopy behavior
                List <Type> valueObjectTypes = Get(entityType);
                if (valueObjectTypes == null)
                {
                    valueObjectTypes = new List <Type>(1);
                }
                else
                {
                    valueObjectTypes = new List <Type>(valueObjectTypes);
                }
                valueObjectTypes.Add(valueType);
                Put(entityType, valueObjectTypes);
            }
        }
예제 #2
0
        public void RegisterTechnicalEntityType(Type technicalEntityType, Type entityType)
        {
            Object writeLock = GetWriteLock();

            lock (writeLock)
            {
                technicalEntityTypes.Register(technicalEntityType, entityType);
                IEntityMetaData metaData = GetExtensionHardKey(entityType);
                if (metaData != null)
                {
                    base.Register(metaData, technicalEntityType);
                }
            }
        }
예제 #3
0
 public void registerService(Object service, String serviceName)
 {
     serviceNameToObjectMap.Register(service, serviceName);
 }
예제 #4
0
 public void RegisterNameBasedElementHandler(INameBasedHandler nameBasedElementHandler, String elementName)
 {
     nameToElementHandlers.Register(nameBasedElementHandler, elementName);
 }
예제 #5
0
 public void RegisterFileParser(IFileParser fileParser, String fileExtensionName)
 {
     fileParsers.Register(fileParser, fileExtensionName);
 }