package org.springframework.roo.addon.gwt.locator;
import org.apache.commons.lang3.StringUtils;
import org.springframework.roo.classpath.PhysicalTypeIdentifierNamingUtils;
import org.springframework.roo.metadata.AbstractMetadataItem;
import org.springframework.roo.metadata.MetadataIdentificationUtils;
import org.springframework.roo.model.JavaType;
import org.springframework.roo.project.LogicalPath;
public class GwtLocatorMetadata extends AbstractMetadataItem {
private static final String PROVIDES_TYPE_STRING = GwtLocatorMetadata.class
.getName();
private static final String PROVIDES_TYPE = MetadataIdentificationUtils
.create(PROVIDES_TYPE_STRING);
public static String createIdentifier(final JavaType javaType,
final LogicalPath path) {
return PhysicalTypeIdentifierNamingUtils.createIdentifier(
PROVIDES_TYPE_STRING, javaType, path);
}
public static JavaType getJavaType(final String metadataIdentificationString) {
return PhysicalTypeIdentifierNamingUtils.getJavaType(
PROVIDES_TYPE_STRING, metadataIdentificationString);
}
public static String getMetadataIdentifierType() {
return PROVIDES_TYPE;
}
public static LogicalPath getPath(final String metadataIdentificationString) {
return PhysicalTypeIdentifierNamingUtils.getPath(PROVIDES_TYPE_STRING,
metadataIdentificationString);
}
private final String proxyTypeContents;
public GwtLocatorMetadata(final String id, final String proxyTypeContents) {
super(id);
this.proxyTypeContents = proxyTypeContents;
}
@Override
public boolean equals(final Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
final GwtLocatorMetadata that = (GwtLocatorMetadata) o;
return StringUtils.equals(proxyTypeContents, that.proxyTypeContents);
}
@Override
public int hashCode() {
return proxyTypeContents == null ? 0 : proxyTypeContents.hashCode();
}
}