blob: 70e1b6da145e03078e64ac9b6aad5a336afac620 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2008 Sonatype, Inc.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*******************************************************************************/
package org.eclipse.m2e.wtp;
/**
* Enumeration of Maven JEE related packaging types.
*
* @author Fred Bricon
*/
public enum JEEPackaging {
/**
* Web project.
*/
WAR("war"), //$NON-NLS-1$
/**
* Enterprise Java Bean.
*/
EJB("ejb"), //$NON-NLS-1$
/**
* Enterprise Application Resource.
*/
EAR("ear"), //$NON-NLS-1$
/**
* Resource Adapter Archive.
*/
RAR("rar"), //$NON-NLS-1$
/**
* Application client
*/
APP_CLIENT("app-client"), //$NON-NLS-1$
/**
* Unknown packaging.
*/
UNKNOWN(null);
private String name;
private JEEPackaging(String name) {
this.name = name;
}
/**
* @return the packaging name.
*/
public String getName() {
return name;
}
/**
* Gets a JEEPackaging from maven packaging name. Supported values are <i>war</i>, <i>ejb</i>, <i>ear</i>,
* <i>rar</i>, <i>app-client</i>.
*
* @param packaging of a maven artifact.
* @return the corresponding JEEPackaging or UNKNOWN if the package type is not supported.
*/
public static JEEPackaging getValue(String packaging) {
if(packaging == null) {
throw new IllegalArgumentException("packaging must not be null"); //$NON-NLS-1$
}
for(JEEPackaging pkg : values()) {
if(packaging.equals(pkg.getName())) {
return pkg;
}
}
return UNKNOWN;
}
static boolean isJEEPackaging(String packaging) {
JEEPackaging pkg = getValue(packaging);
return !UNKNOWN.equals(pkg);
}
}