/* * 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.contribution.impl; import java.util.ArrayList; import java.util.List; import org.apache.tuscany.sca.assembly.Composite; import org.apache.tuscany.sca.contribution.Contribution; import org.apache.tuscany.sca.contribution.DeployedArtifact; import org.apache.tuscany.sca.contribution.Export; import org.apache.tuscany.sca.contribution.Import; import org.apache.tuscany.sca.contribution.resolver.ModelResolver; /** * The representation of a deployed contribution * * @version $Rev$ $Date$ */ public class ContributionImpl extends ArtifactImpl implements Contribution { private List exports = new ArrayList(); private List imports = new ArrayList(); private List deployables = new ArrayList(); private ModelResolver modelResolver; private ContributionClassLoader classLoader; /** * A list of artifacts in the contribution */ private List artifacts = new ArrayList(); protected ContributionImpl() { classLoader = new ContributionClassLoader(this); } public List getExports() { return exports; } public List getImports() { return imports; } public List getDeployables() { return deployables; } public List getArtifacts() { return artifacts; } public ModelResolver getModelResolver() { return modelResolver; } public void setModelResolver(ModelResolver modelResolver) { this.modelResolver = modelResolver; } @Override public void setLocation(String location) { String origLocation = this.getLocation(); super.setLocation(location); if (origLocation != null) classLoader = new ContributionClassLoader(this); classLoader.setContributionLocation(location); } public ClassLoader getClassLoader() { return classLoader; } }