]> source.dussan.org Git - archiva.git/blob
f24ca0cc08df11c7826cf460243e5c426c1307b8
[archiva.git] /
1 package org.apache.archiva.metadata.repository.storage.maven2;
2
3 /*
4  * Licensed to the Apache Software Foundation (ASF) under one
5  * or more contributor license agreements.  See the NOTICE file
6  * distributed with this work for additional information
7  * regarding copyright ownership.  The ASF licenses this file
8  * to you under the Apache License, Version 2.0 (the
9  * "License"); you may not use this file except in compliance
10  * with the License.  You may obtain a copy of the License at
11  *
12  *   http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing,
15  * software distributed under the License is distributed on an
16  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17  * KIND, either express or implied.  See the License for the
18  * specific language governing permissions and limitations
19  * under the License.
20  */
21
22 import org.apache.archiva.metadata.model.MetadataFacet;
23
24 import java.util.HashMap;
25 import java.util.Map;
26
27 public class MavenArtifactFacet
28     implements MetadataFacet
29 {
30     private String classifier;
31
32     private String type;
33
34     private String timestamp;
35
36     private int buildNumber;
37
38     public static final String FACET_ID = "org.apache.archiva.metadata.repository.storage.maven2.artifact";
39
40     public String getClassifier()
41     {
42         return classifier;
43     }
44
45     public void setClassifier( String classifier )
46     {
47         this.classifier = classifier;
48     }
49
50     public String getType()
51     {
52         return type;
53     }
54
55     public void setType( String type )
56     {
57         this.type = type;
58     }
59
60     public String getTimestamp()
61     {
62         return timestamp;
63     }
64
65     public void setTimestamp( String timestamp )
66     {
67         this.timestamp = timestamp;
68     }
69
70     public int getBuildNumber()
71     {
72         return buildNumber;
73     }
74
75     public void setBuildNumber( int buildNumber )
76     {
77         this.buildNumber = buildNumber;
78     }
79
80     public String getFacetId()
81     {
82         return FACET_ID;
83     }
84
85     public String getName()
86     {
87         // TODO: not needed, perhaps artifact/version metadata facet should be separate interface?
88         return null;
89     }
90
91     public Map<String, String> toProperties()
92     {
93         HashMap<String, String> properties = new HashMap<String, String>();
94         properties.put( FACET_ID + ":type", type );
95         properties.put( FACET_ID + ":classifier", classifier );
96         properties.put( FACET_ID + ":timestamp", timestamp );
97         properties.put( FACET_ID + ":buildNumber", Integer.toString( buildNumber ));
98         return properties;
99     }
100
101     public void fromProperties( Map<String, String> properties )
102     {
103         type = properties.get( FACET_ID + ":type" );
104         classifier = properties.get( FACET_ID + ":classifier" );
105         timestamp = properties.get( FACET_ID + ":timestamp" );
106         String buildNumber = properties.get( FACET_ID + ":buildNumber" );
107         if ( buildNumber != null )
108         {
109             this.buildNumber = Integer.valueOf( buildNumber );
110         }
111     }
112 }