1 package org.apache.maven.plugin.ear.output; 2 3 import org.apache.maven.artifact.Artifact; 4 5 /* 6 * Licensed to the Apache Software Foundation (ASF) under one 7 * or more contributor license agreements. See the NOTICE file 8 * distributed with this work for additional information 9 * regarding copyright ownership. The ASF licenses this file 10 * to you under the Apache License, Version 2.0 (the 11 * "License"); you may not use this file except in compliance 12 * with the License. You may obtain a copy of the License at 13 * 14 * http://www.apache.org/licenses/LICENSE-2.0 15 * 16 * Unless required by applicable law or agreed to in writing, 17 * software distributed under the License is distributed on an 18 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 19 * KIND, either express or implied. See the License for the 20 * specific language governing permissions and limitations 21 * under the License. 22 */ 23 24 /** 25 * A base class used to generate the standard name of an 26 * artifact instead of relying on the (potentially) wrong 27 * file name provided by {@link org.apache.maven.artifact.Artifact#getFile()}. 28 * 29 * @author <a href="snicoll@apache.org">Stephane Nicoll</a> 30 */ 31 public abstract class AbstractFileNameMapping 32 implements FileNameMapping 33 { 34 35 36 /** 37 * Generates a standard file name for the specified {@link Artifact}. 38 * <p/> 39 * Returns something like <tt>artifactId-version[-classifier].extension</tt> 40 * if <tt>addVersion</tt> is true. Otherwise it generates something 41 * like <tt>artifactId[-classifier].extension</tt> 42 * 43 * @param a the artifact to generate a filename from 44 * @param addVersion whether the version should be added 45 * @return the filename, with a standard format 46 */ 47 protected String generateFileName( final Artifact a, boolean addVersion ) 48 { 49 final String extension = a.getArtifactHandler().getExtension(); 50 51 final StringBuilder buffer = new StringBuilder( 128 ); 52 buffer.append( a.getArtifactId() ); 53 if ( addVersion ) 54 { 55 buffer.append( '-' ).append( a.getBaseVersion() ); 56 } 57 if ( a.hasClassifier() ) 58 { 59 buffer.append( '-' ).append( a.getClassifier() ); 60 } 61 if ( extension != null && extension.length() > 0 ) 62 { 63 buffer.append( '.' ).append( extension ); 64 } 65 66 return buffer.toString(); 67 } 68 }