예제 #1
0
 internal ServerExtender(PluginPointFactory pluginPointFactory)
 {
     this._pluginPointFactory                         = pluginPointFactory;
     _targetToPluginMap[typeof(Node)]                 = new ConcurrentDictionary <string, PluginPoint>();
     _targetToPluginMap[typeof(Relationship)]         = new ConcurrentDictionary <string, PluginPoint>();
     _targetToPluginMap[typeof(GraphDatabaseService)] = new ConcurrentDictionary <string, PluginPoint>();
 }
예제 #2
0
        protected internal virtual ICollection <PluginPoint> GetDefaultExtensionPoints(PluginPointFactory pluginPointFactory)
        {
            IList <PluginPoint> result = new List <PluginPoint>();

            foreach (System.Reflection.MethodInfo method in this.GetType().GetMethods())
            {
                PluginTarget target = method.getAnnotation(typeof(PluginTarget));
                if (target != null)
                {
                    result.Add(pluginPointFactory.CreateFrom(this, method, target.value()));
                }
            }
            return(result);
        }