001 /* 002 =================== DO NOT EDIT THIS FILE ==================== 003 Generated by Modello 1.4.1 on 2012-01-20 18:09:18, 004 any modifications will be overwritten. 005 ============================================================== 006 */ 007 008 package org.apache.maven.model; 009 010 /** 011 * Describes a build extension to utilise. 012 * 013 * @version $Revision$ $Date$ 014 */ 015 @SuppressWarnings( "all" ) 016 public class Extension 017 implements java.io.Serializable, java.lang.Cloneable, org.apache.maven.model.InputLocationTracker 018 { 019 020 //--------------------------/ 021 //- Class/Member Variables -/ 022 //--------------------------/ 023 024 /** 025 * The group ID of the extension's artifact. 026 */ 027 private String groupId; 028 029 /** 030 * The artifact ID of the extension. 031 */ 032 private String artifactId; 033 034 /** 035 * The version of the extension. 036 */ 037 private String version; 038 039 /** 040 * Field locations. 041 */ 042 private java.util.Map<Object, InputLocation> locations; 043 044 045 //-----------/ 046 //- Methods -/ 047 //-----------/ 048 049 /** 050 * Method clone. 051 * 052 * @return Extension 053 */ 054 public Extension clone() 055 { 056 try 057 { 058 Extension copy = (Extension) super.clone(); 059 060 if ( copy.locations != null ) 061 { 062 copy.locations = new java.util.LinkedHashMap( copy.locations ); 063 } 064 065 return copy; 066 } 067 catch ( java.lang.Exception ex ) 068 { 069 throw (java.lang.RuntimeException) new java.lang.UnsupportedOperationException( getClass().getName() 070 + " does not support clone()" ).initCause( ex ); 071 } 072 } //-- Extension clone() 073 074 /** 075 * Get the artifact ID of the extension. 076 * 077 * @return String 078 */ 079 public String getArtifactId() 080 { 081 return this.artifactId; 082 } //-- String getArtifactId() 083 084 /** 085 * Get the group ID of the extension's artifact. 086 * 087 * @return String 088 */ 089 public String getGroupId() 090 { 091 return this.groupId; 092 } //-- String getGroupId() 093 094 /** 095 * 096 * 097 * @param key 098 * @return InputLocation 099 */ 100 public InputLocation getLocation( Object key ) 101 { 102 return ( locations != null ) ? locations.get( key ) : null; 103 } //-- InputLocation getLocation( Object ) 104 105 /** 106 * Get the version of the extension. 107 * 108 * @return String 109 */ 110 public String getVersion() 111 { 112 return this.version; 113 } //-- String getVersion() 114 115 /** 116 * Set the artifact ID of the extension. 117 * 118 * @param artifactId 119 */ 120 public void setArtifactId( String artifactId ) 121 { 122 this.artifactId = artifactId; 123 } //-- void setArtifactId( String ) 124 125 /** 126 * Set the group ID of the extension's artifact. 127 * 128 * @param groupId 129 */ 130 public void setGroupId( String groupId ) 131 { 132 this.groupId = groupId; 133 } //-- void setGroupId( String ) 134 135 /** 136 * 137 * 138 * @param key 139 * @param location 140 */ 141 public void setLocation( Object key, InputLocation location ) 142 { 143 if ( location != null ) 144 { 145 if ( this.locations == null ) 146 { 147 this.locations = new java.util.LinkedHashMap<Object, InputLocation>(); 148 } 149 this.locations.put( key, location ); 150 } 151 } //-- void setLocation( Object, InputLocation ) 152 153 /** 154 * Set the version of the extension. 155 * 156 * @param version 157 */ 158 public void setVersion( String version ) 159 { 160 this.version = version; 161 } //-- void setVersion( String ) 162 163 164 165 /** 166 * @see java.lang.Object#equals(java.lang.Object) 167 */ 168 public boolean equals( Object o ) 169 { 170 if ( this == o ) 171 { 172 return true; 173 } 174 175 if ( !( o instanceof Extension ) ) 176 { 177 return false; 178 } 179 180 Extension e = (Extension) o; 181 182 if ( !equal( e.getArtifactId(), getArtifactId() ) ) 183 { 184 return false; 185 } 186 else if ( !equal( e.getGroupId(), getGroupId() ) ) 187 { 188 return false; 189 } 190 else if ( !equal( e.getVersion(), getVersion() ) ) 191 { 192 return false; 193 } 194 return true; 195 } 196 197 private static <T> boolean equal( T obj1, T obj2 ) 198 { 199 return ( obj1 != null ) ? obj1.equals( obj2 ) : obj2 == null; 200 } 201 202 /** 203 * @see java.lang.Object#hashCode() 204 */ 205 public int hashCode() 206 { 207 int result = 17; 208 result = 37 * result + ( getArtifactId() != null ? getArtifactId().hashCode() : 0 ); 209 result = 37 * result + ( getGroupId() != null ? getGroupId().hashCode() : 0 ); 210 result = 37 * result + ( getVersion() != null ? getVersion().hashCode() : 0 ); 211 return result; 212 } 213 214 215 }