--- /dev/null
+/*******************************************************************************
+ * Copyright (c) 2000, 2011 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jdt.internal.corext.refactoring.nls;
+
+import org.eclipse.core.resources.IStorage;
+
+import org.eclipse.jface.text.Region;
+
+import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jdt.core.IPackageFragment;
+import org.eclipse.jdt.core.JavaModelException;
+import org.eclipse.jdt.core.Signature;
+import org.eclipse.jdt.core.dom.ITypeBinding;
+
+
+public class AccessorClassReference {
+
+ private ITypeBinding fBinding;
+ private Region fRegion;
+ private String fResourceBundleName;
+
+ public AccessorClassReference(ITypeBinding typeBinding, String resourceBundleName, Region accessorRegion) {
+ super();
+ fBinding= typeBinding;
+ fRegion= accessorRegion;
+ fResourceBundleName= resourceBundleName;
+ }
+
+ public ITypeBinding getBinding() {
+ return fBinding;
+ }
+
+ public String getName() {
+ return fBinding.getName();
+ }
+
+ public Region getRegion() {
+ return fRegion;
+ }
+
+ public String getResourceBundleName() {
+ return fResourceBundleName;
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (obj instanceof AccessorClassReference) {
+ AccessorClassReference cmp = (AccessorClassReference) obj;
+ return cmp.generated_9074385238350352553(this);
+ }
+ return false;
+ }
+
+ @Override
+ public int hashCode() {
+ return fBinding.hashCode();
+ }
+
+ public IStorage generated_3840427914078423631() throws JavaModelException {
+ IStorage propertiesFile;
+ ITypeBinding typeBinding= getBinding();
+ propertiesFile= NLSHintHelper.getResourceBundle(typeBinding.getJavaElement().getJavaProject(), this);
+ return propertiesFile;
+ }
+
+ public void generated_1257753451122516109(IJavaProject project, NLSHint nlshint) {
+ nlshint.fAccessorName= getName();
+ ITypeBinding accessorClassBinding= getBinding();
+
+ try {
+ IPackageFragment accessorPack= NLSHintHelper.getPackageOfAccessorClass(project, accessorClassBinding);
+ if (accessorPack != null) {
+ nlshint.fAccessorPackage= accessorPack;
+ }
+
+ String fullBundleName= getResourceBundleName();
+ if (fullBundleName != null) {
+ nlshint.fResourceBundleName= Signature.getSimpleName(fullBundleName) + NLSRefactoring.PROPERTY_FILE_EXT;
+ String packName= Signature.getQualifier(fullBundleName);
+
+ IPackageFragment pack= NLSHintHelper.getResourceBundlePackage(project, packName, nlshint.fResourceBundleName);
+ if (pack != null) {
+ nlshint.fResourceBundlePackage= pack;
+ }
+ }
+ } catch (JavaModelException e) {
+ }
+ }
+
+ public boolean generated_9074385238350352553(AccessorClassReference accessorclassreference) {
+ return accessorclassreference.fBinding == fBinding;
+ }
+}