package org.jetbrains.android.refactoring; import com.android.SdkConstants; import org.jetbrains.android.util.AndroidUtils; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; /** * @author Eugene.Kudelevsky */ class AndroidAttributeInfo { private final String myName; private final String myPackage; public AndroidAttributeInfo(@NotNull String name, @Nullable String aPackage) { myName = name; myPackage = aPackage; } public String getNamespace() { final boolean system = AndroidUtils.SYSTEM_RESOURCE_PACKAGE.equals(myPackage); return system ? SdkConstants.NS_RESOURCES : null; } @NotNull public String getName() { return myName; } @Nullable public String getPackage() { return myPackage; } @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } AndroidAttributeInfo info = (AndroidAttributeInfo)o; if (!myName.equals(info.myName)) { return false; } if (myPackage != null ? !myPackage.equals(info.myPackage) : info.myPackage != null) { return false; } return true; } @Override public int hashCode() { int result = myName.hashCode(); result = 31 * result + (myPackage != null ? myPackage.hashCode() : 0); return result; } @NotNull public String getAttributeId() { return myPackage != null ? myPackage + ":" + myName : myName; } @Override public String toString() { return getAttributeId(); } }