/******************************************************************************* * Copyright (c) 2006-2010 eBay Inc. All Rights Reserved. * Licensed 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 *******************************************************************************/ /** * */ package org.ebayopensource.turmeric.eclipse.maven.core.model; import org.ebayopensource.turmeric.eclipse.core.resources.constants.SOAProjectConstants; import org.ebayopensource.turmeric.eclipse.maven.core.utils.MavenCoreUtils; import org.ebayopensource.turmeric.eclipse.resources.model.AssetInfo; import org.ebayopensource.turmeric.eclipse.utils.lang.StringUtil; /** * The Class MavenAssetInfo. * * @author yayu * @since 1.0.0 */ public class MavenAssetInfo extends AssetInfo implements IMavenArtifact{ private String groupID; /** * Instantiates a new maven asset info. * * @param groupID the maven group id * @param name the asset name * @param version the version number * @param dir the directory it is located * @param serviceLayer the service layer * @param type the asset type */ public MavenAssetInfo(String groupID, String name, String version, String dir, String serviceLayer, String type) { super(name, version, dir, serviceLayer, type); this.groupID = groupID; } /** * {@inheritDoc} */ @Override public String getGroupID() { return groupID; } /** * {@inheritDoc} */ @Override public void setGroupID(String groupID) { this.groupID = groupID; } /* (non-Javadoc) * @see org.ebayopensource.turmeric.eclipse.resources.model.AssetInfo#getShortDescription() */ @Override public String getShortDescription() { return StringUtil.toString(groupID, SOAProjectConstants.DELIMITER_SEMICOLON, getName()); } /* (non-Javadoc) * @see org.ebayopensource.turmeric.eclipse.resources.model.AssetInfo#getDescription() */ @Override public String getDescription() { return MavenCoreUtils.translateLibraryName(groupID, getName(), getVersion()); } /* (non-Javadoc) * @see org.ebayopensource.turmeric.eclipse.resources.model.AssetInfo#toString() */ @Override public String toString() { return getDescription(); } /* (non-Javadoc) * @see org.ebayopensource.turmeric.eclipse.resources.model.AssetInfo#getUniqueID() */ @Override public String getUniqueID() { return getDescription(); } /* (non-Javadoc) * @see org.ebayopensource.turmeric.eclipse.resources.model.AssetInfo#hashCode() */ @Override public int hashCode() { final int prime = 31; int result = super.hashCode(); result = prime * result + ((groupID == null) ? 0 : groupID.hashCode()); return result; } /* (non-Javadoc) * @see org.ebayopensource.turmeric.eclipse.resources.model.AssetInfo#equals(java.lang.Object) */ @Override public boolean equals(Object obj) { if (this == obj) return true; if (!super.equals(obj)) return false; if (obj instanceof IMavenArtifact) { final IMavenArtifact other = (IMavenArtifact) obj; if (groupID == null) { if (other.getGroupID() != null) return false; } else if (!groupID.equals(other.getGroupID())) return false; } else { return false; } return true; } }