Author: rfscholte Date: Sat Jul 18 11:00:28 2015 New Revision: 1691715 URL: http://svn.apache.org/r1691715 Log: Make ArtifactCoordinate an interface, so other Objects can simply implement it. E.g. o.a.m.p.dependency.fromConfiguration.ArtifactItem needs some extra fields, but it already has all the methods of ArtifactCoordinate. Now we can simple pass ArtifactItem to the resolver without assembling a new Object.
Added: maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/DefaultArtifactCoordinate.java - copied, changed from r1691641, maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/ArtifactCoordinate.java Modified: maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/ArtifactCoordinate.java maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/TransferUtils.java Modified: maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/ArtifactCoordinate.java URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/ArtifactCoordinate.java?rev=1691715&r1=1691714&r2=1691715&view=diff ============================================================================== --- maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/ArtifactCoordinate.java (original) +++ maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/ArtifactCoordinate.java Sat Jul 18 11:00:28 2015 @@ -1,146 +1,16 @@ package org.apache.maven.shared.artifact; -/* - * 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. - */ - -/** - * Common usage of an ArtifactCoordinate for a Mojo - * - * <pre> - * @Parameter - * private ArtifactCoordinate[] artifacts; - * </pre> - * - * and - * - * <pre> - * private ArtifactCoordinate artifact = new ArtifactCoordinate(); - * - * @Parameter( property = "groupId" ) - * private String groupId; - * - * @Parameter( property = "artifactId" ) - * private String artifactId; - * - * @Parameter( property = "version" ) - * private String version; - * - * @Parameter( property = "classifier" ) - * private String classifier; - * - * @Parameter( property = "type" ) - * private String type; - * - * public void setGroupId( String groupId ) - * { - * this.artifact.setGroupId( groupId ); - * } - * - * public void setArtifactId( String artifactId ) - * { - * this.artifact.setArtifactId( artifactId ); - * } - * - * public void setVersion( String version ) - * { - * this.artifact.setVersion( version ); - * } - * - * public void setClassifier( String classifier ) - * { - * this.artifact.setClassifier( classifier ); - * } - * - * public void setType( String type ) - * { - * this.artifact.setType( type ); - * } - * </pre> - * - * <strong>Note: </strong> type is not the same as extension! - * {@link org.apache.maven.artifact.handler.ArtifactHandler}s are used to map a type to an extension. - * - * - * @author Robert Scholte - * @since 3.0 - */ -public class ArtifactCoordinate +public interface ArtifactCoordinate { - private String groupId; - - private String artifactId; - - private String version; - - private String type; - - private String classifier; - - public final String getGroupId() - { - return groupId; - } - - public final void setGroupId( String groupId ) - { - this.groupId = groupId; - } - - public final String getArtifactId() - { - return artifactId; - } - - public final void setArtifactId( String artifactId ) - { - this.artifactId = artifactId; - } - - public final String getVersion() - { - return version; - } - - public final void setVersion( String version ) - { - this.version = version; - } - - public final String getType() - { - return type != null ? type : "jar"; - } - - public final void setType( String type ) - { - this.type = type; - } - - public final String getClassifier() - { - return classifier; - } - - public final void setClassifier( String classifier ) - { - this.classifier = classifier; - } - - -} + + public abstract String getGroupId(); + + public abstract String getArtifactId(); + + public abstract String getVersion(); + + public abstract String getType(); + + public abstract String getClassifier(); + +} \ No newline at end of file Copied: maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/DefaultArtifactCoordinate.java (from r1691641, maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/ArtifactCoordinate.java) URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/DefaultArtifactCoordinate.java?p2=maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/DefaultArtifactCoordinate.java&p1=maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/ArtifactCoordinate.java&r1=1691641&r2=1691715&rev=1691715&view=diff ============================================================================== --- maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/ArtifactCoordinate.java (original) +++ maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/DefaultArtifactCoordinate.java Sat Jul 18 11:00:28 2015 @@ -24,13 +24,13 @@ package org.apache.maven.shared.artifact * * <pre> * @Parameter - * private ArtifactCoordinate[] artifacts; + * private DefaultArtifactCoordinate[] artifacts; * </pre> * * and * * <pre> - * private ArtifactCoordinate artifact = new ArtifactCoordinate(); + * private DefaultArtifactCoordinate artifact = new DefaultArtifactCoordinate(); * * @Parameter( property = "groupId" ) * private String groupId; @@ -80,7 +80,7 @@ package org.apache.maven.shared.artifact * @author Robert Scholte * @since 3.0 */ -public class ArtifactCoordinate +public class DefaultArtifactCoordinate implements ArtifactCoordinate { private String groupId; @@ -92,6 +92,7 @@ public class ArtifactCoordinate private String classifier; + @Override public final String getGroupId() { return groupId; @@ -102,6 +103,7 @@ public class ArtifactCoordinate this.groupId = groupId; } + @Override public final String getArtifactId() { return artifactId; @@ -112,6 +114,7 @@ public class ArtifactCoordinate this.artifactId = artifactId; } + @Override public final String getVersion() { return version; @@ -122,6 +125,7 @@ public class ArtifactCoordinate this.version = version; } + @Override public final String getType() { return type != null ? type : "jar"; @@ -132,6 +136,7 @@ public class ArtifactCoordinate this.type = type; } + @Override public final String getClassifier() { return classifier; Modified: maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/TransferUtils.java URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/TransferUtils.java?rev=1691715&r1=1691714&r2=1691715&view=diff ============================================================================== --- maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/TransferUtils.java (original) +++ maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/TransferUtils.java Sat Jul 18 11:00:28 2015 @@ -34,7 +34,7 @@ public final class TransferUtils public static ArtifactCoordinate toArtifactCoordinate( Artifact artifact ) { - ArtifactCoordinate coordinate = new ArtifactCoordinate(); + DefaultArtifactCoordinate coordinate = new DefaultArtifactCoordinate(); coordinate.setGroupId( artifact.getGroupId() ); coordinate.setArtifactId( artifact.getArtifactId() ); @@ -47,7 +47,7 @@ public final class TransferUtils public static ArtifactCoordinate toArtifactCoordinate( Dependency dependency ) { - ArtifactCoordinate coordinate = new ArtifactCoordinate(); + DefaultArtifactCoordinate coordinate = new DefaultArtifactCoordinate(); coordinate.setGroupId( dependency.getGroupId() ); coordinate.setArtifactId( dependency.getArtifactId() ); @@ -60,7 +60,7 @@ public final class TransferUtils public static ArtifactCoordinate toArtifactCoordinate( Extension extension ) { - ArtifactCoordinate coordinate = new ArtifactCoordinate(); + DefaultArtifactCoordinate coordinate = new DefaultArtifactCoordinate(); coordinate.setGroupId( extension.getGroupId() ); coordinate.setArtifactId( extension.getArtifactId() ); @@ -71,7 +71,7 @@ public final class TransferUtils public static ArtifactCoordinate toArtifactCoordinate( MavenProject project ) { - ArtifactCoordinate coordinate = new ArtifactCoordinate(); + DefaultArtifactCoordinate coordinate = new DefaultArtifactCoordinate(); coordinate.setGroupId( project.getGroupId() ); coordinate.setArtifactId( project.getArtifactId() ); @@ -83,7 +83,7 @@ public final class TransferUtils public static ArtifactCoordinate toArtifactCoordinate( Parent parent ) { - ArtifactCoordinate coordinate = new ArtifactCoordinate(); + DefaultArtifactCoordinate coordinate = new DefaultArtifactCoordinate(); coordinate.setGroupId( parent.getGroupId() ); coordinate.setArtifactId( parent.getArtifactId() ); @@ -95,7 +95,7 @@ public final class TransferUtils public static ArtifactCoordinate toArtifactCoordinate( Plugin plugin ) { - ArtifactCoordinate coordinate = new ArtifactCoordinate(); + DefaultArtifactCoordinate coordinate = new DefaultArtifactCoordinate(); coordinate.setGroupId( plugin.getGroupId() ); coordinate.setArtifactId( plugin.getArtifactId() );