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.interfacedef.java.impl;
A factory for the Java model.

Version:
$Rev: 957877 $ $Date: 2010-06-25 13:21:28 +0300 (Fri, 25 Jun 2010) $
public abstract class JavaInterfaceFactoryImpl implements JavaInterfaceFactory {
    
    private Map<Class<?>, JavaInterfacecache  = Collections.synchronizedMap(new WeakHashMap<Class<?>, JavaInterface>());
    
    public JavaInterfaceFactoryImpl() {
         = new JavaInterfaceIntrospectorImpl(this);
    }
    public JavaInterface createJavaInterface() {
        return new JavaInterfaceImpl();
    }
    
    public JavaInterface createJavaInterface(Class<?> interfaceClassthrows InvalidInterfaceException {
        // TODO: Review if the sharing of JavaInterface is ok
        synchronized (interfaceClass) {
            JavaInterface javaInterface = .get(interfaceClass);
            if (javaInterface == null) {
                javaInterface = createJavaInterface();
                .introspectInterface(javaInterfaceinterfaceClass);
                // Now that all introspection is complete we can mark the interface resolved
                javaInterface.setUnresolved(false);
                .put(interfaceClassjavaInterface);
            }
            return javaInterface;
        }
    }
    
    public void createJavaInterface(JavaInterface javaInterfaceClass<?> interfaceClassthrows InvalidInterfaceException {
        .introspectInterface(javaInterfaceinterfaceClass);
    }
    
        return new JavaInterfaceContractImpl();
    }
    public void addInterfaceVisitor(JavaInterfaceVisitor extension) {
        .add(extension);
    }
    public void removeInterfaceVisitor(JavaInterfaceVisitor extension) {
        .remove(extension);
    }
        return ;
    }
    public JavaOperation createJavaOperation(Method method) {
        JavaOperation op =  new JavaOperationImpl();
        op.setJavaMethod(method);
        op.setName(method.getName());
        return op;
    }
New to GrepCode? Check out our FAQ X