/*
* (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 = //
// =================== //
}