package org.alfresco.repo.domain.contentdata; import java.io.Serializable; import org.alfresco.repo.domain.CrcHelper; import org.alfresco.util.EqualsHelper; import org.alfresco.util.Pair; /** * Entity bean for alf_content_url table. *
* These are unique (see {@link #equals(Object) equals} and {@link #hashCode() hashCode}) based
* on the {@link #getContentUrl() content URL} value.
*
* @author Derek Hulley
* @since 3.2
*/
public class ContentUrlEntity implements Serializable
{
/**
*
*/
private static final long serialVersionUID = -7697859151521433536L;
public static final Long CONST_LONG_ZERO = new Long(0L);
public static final String EMPTY_URL = "empty";
private Long id;
private String contentUrl;
private String contentUrlShort;
private long contentUrlCrc;
private long size;
private Long orphanTime;
private ContentUrlKeyEntity contentUrlKey;
public ContentUrlEntity()
{
this.size = 0L;
}
@Override
public int hashCode()
{
return (contentUrl == null ? 0 : contentUrl.hashCode());
}
@Override
public boolean equals(Object obj)
{
if (this == obj)
{
return true;
}
else if (obj instanceof ContentUrlEntity)
{
ContentUrlEntity that = (ContentUrlEntity) obj;
return EqualsHelper.nullSafeEquals(this.contentUrl, that.contentUrl)
&& EqualsHelper.nullSafeEquals(contentUrlKey, that.getContentUrlKey());
}
else
{
return false;
}
}
@Override
public String toString()
{
StringBuilder sb = new StringBuilder(512);
sb.append("ContentUrlEntity")
.append("[ ID=").append(id)
.append(", contentUrl=").append(contentUrl)
.append(", size=").append(size)
.append(", orphanTime=").append(orphanTime)
.append("]");
return sb.toString();
}
/**
* @param internalContentUrl String
* @return Returns a pair of the short (12 chars lowercase) URL and the CRC value
*/
private static Pair