public ArtifactName build ( ) { String groupId = this . groupId ; String artifactId = this . artifactId ; String classifier = this . classifier ; String packaging = this . packaging ; String version = this . version ; if ( artifact != null && ! artifact . isEmpty ( ) ) { final String [ ] artifactSegments = artifact . split ( ":" ) ; // groupId:artifactId:version[:packaging][:classifier]. String value ; switch ( artifactSegments . length ) { case 5 : value = artifactSegments [ 4 ] . trim ( ) ; if ( ! value . isEmpty ( ) ) { classifier = value ; } case 4 : value = artifactSegments [ 3 ] . trim ( ) ; if ( ! value . isEmpty ( ) ) { packaging = value ; } case 3 : value = artifactSegments [ 2 ] . trim ( ) ; if ( ! value . isEmpty ( ) ) { version = value ; } case 2 : value = artifactSegments [ 1 ] . trim ( ) ; if ( ! value . isEmpty ( ) ) { artifactId = value ; } case 1 : value = artifactSegments [ 0 ] . trim ( ) ; if ( ! value . isEmpty ( ) ) { groupId = value ; } } } return new ArtifactNameImpl ( groupId , artifactId , classifier , packaging , version ) ; }
Creates the final artifact name .