/* * (c) Copyright 2010-2011 AgileBirds * * This file is part of OpenFlexo. * * OpenFlexo is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * OpenFlexo is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with OpenFlexo. If not, see <http://www.gnu.org/licenses/>. * */ package org.openflexo.tm.maven.impl; import org.openflexo.foundation.sg.implmodel.ImplementationModel; import org.openflexo.foundation.sg.implmodel.TechnologyModuleDefinition; import org.openflexo.foundation.sg.implmodel.TechnologyModuleImplementation; import org.openflexo.foundation.sg.implmodel.exception.TechnologyModuleCompatibilityCheckException; import org.openflexo.foundation.xml.ImplementationModelBuilder; /** * @author Nicolas Daniels */ public class MavenImplementation extends TechnologyModuleImplementation { public static final String TECHNOLOGY_MODULE_NAME = "Maven"; // ================ // // = Constructors = // // ================ // public MavenImplementation(ImplementationModelBuilder builder) throws TechnologyModuleCompatibilityCheckException { this(builder.implementationModel); initializeDeserialization(builder); } public MavenImplementation(ImplementationModel implementationModel) throws TechnologyModuleCompatibilityCheckException { super(implementationModel); } // =========== // // = Methods = // // =========== // /** * {@inheritDoc} */ @Override public TechnologyModuleDefinition getTechnologyModuleDefinition() { return TechnologyModuleDefinition.getTechnologyModuleDefinition(TECHNOLOGY_MODULE_NAME); } /** * {@inheritDoc} */ @Override public boolean getHasInspector() { return true; } /* ===================== */ /* ====== Actions ====== */ /* ===================== */ /** * Build a new representation of a Maven Dependency. Mainly intended to be used in templates. * * @param groupId * @param artifactId * @param version * @param scope * @return the newly created {@link MavenDependency} */ public MavenDependency buildMavenDependency(String groupId, String artifactId, String version, String scope) { return new MavenDependency(groupId, artifactId, version, scope); } // =================== // // = Getter / Setter = // // =================== // }