Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Licensed to the Apache Software Foundation (ASF) under one
   * or more contributor license agreements.  See the NOTICE file
   * distributed with this work for additional information
   * regarding copyright ownership.  The ASF licenses this file
   * to you under the Apache License, Version 2.0 (the
   * "License"); you may not use this file except in compliance
   * with the License.  You may obtain a copy of the License at
   *
  *   http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  * KIND, either express or implied.  See the License for the
  * specific language governing permissions and limitations
  * under the License.
  */
 package org.apache.tuscany.sca.runtime;
 
 import java.util.List;
 
The default implementation of a WireProcessorExtensionPoint

Version:
$Rev: 830738 $ $Date: 2009-10-28 19:29:50 +0000 (Wed, 28 Oct 2009) $
 
     private ExtensionPointRegistry registry;
     private boolean loaded;

    

Parameters:
registry
 
         super();
         this. = registry;
     }

    
The list of WireProcessors available to the runtime
 
     private final List<RuntimeWireProcessorprocessors = new ArrayList<RuntimeWireProcessor>();

    
Registers a wire-processor in the runtime

Parameters:
processor The processor to register
 
     public void addWireProcessor(RuntimeWireProcessor processor) {
         .add(processor);
         if (processor instanceof LifeCycleListener) {
             ((LifeCycleListener)processor).start();
         }
     }

    
De-registers a wire-processor in the runtime

Parameters:
processor The processor to de-register
 
     public void removeWireProcessor(RuntimeWireProcessor processor) {
         boolean found = .remove(processor);
         if (found && (processor instanceof LifeCycleListener)) {
             ((LifeCycleListener)processor).stop();
         }
     }

    
Returns a list of registered wire-processors.

Returns:
The list of wire processors
 
         loadWireProcessors();
         return ;
     }
 
     private synchronized void loadWireProcessors() {
         if () {
             return;
         }
         try {
             Collection<ServiceDeclarationsds =
                 .getServiceDiscovery().getServiceDeclarations(RuntimeWireProcessor.classtrue);
             for (ServiceDeclaration sd : sds) {
                 Class type = sd.loadClass();
                 Constructor constructor = null;
                 RuntimeWireProcessor processor = null;
                 try {
                     constructor = type.getConstructor(ExtensionPointRegistry.class);
                    processor = (RuntimeWireProcessor)constructor.newInstance();
                } catch (NoSuchMethodException e) {
                    constructor = type.getConstructor();
                    processor = (RuntimeWireProcessor)constructor.newInstance();
                }
                if (processor != null) {
                    addWireProcessor(processor);
                }
            }
             = true;
        } catch (Throwable e) {
            throw new IllegalStateException(e);
        }
    }
    public void start() {
    }
    public void stop() {
        for (RuntimeWireProcessor processor : ) {
            if ((processor instanceof LifeCycleListener)) {
                ((LifeCycleListener)processor).stop();
            }
        }
        .clear();
    }
New to GrepCode? Check out our FAQ X