package com.robotoworks.mechanoid.ui.wizard.fields; import org.eclipse.jdt.core.IPackageFragment; import org.eclipse.jface.fieldassist.IContentProposal; public class PackageProposal implements IContentProposal, Comparable<PackageProposal> { private String mContent; private int mCursorPosition; private String mLabel; private String mDescription; public PackageProposal(IPackageFragment fragment) { mContent = fragment.getElementName(); mCursorPosition = mContent.length(); mLabel = mContent; mDescription = null; } @Override public String getContent() { return mContent; } @Override public int getCursorPosition() { return mCursorPosition; } @Override public String getLabel() { return mLabel; } @Override public String getDescription() { return mDescription; } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((mContent == null) ? 0 : mContent.hashCode()); result = prime * result + mCursorPosition; result = prime * result + ((mDescription == null) ? 0 : mDescription.hashCode()); result = prime * result + ((mLabel == null) ? 0 : mLabel.hashCode()); return result; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; PackageProposal other = (PackageProposal) obj; if (mContent == null) { if (other.mContent != null) return false; } else if (!mContent.equals(other.mContent)) return false; if (mCursorPosition != other.mCursorPosition) return false; if (mDescription == null) { if (other.mDescription != null) return false; } else if (!mDescription.equals(other.mDescription)) return false; if (mLabel == null) { if (other.mLabel != null) return false; } else if (!mLabel.equals(other.mLabel)) return false; return true; } @Override public int compareTo(PackageProposal o) { return this.getContent().compareTo(o.getContent()); } }