blob: e5c1600d771adf83e9410136bc424b1df72e0cf6 [file] [log] [blame]
/**********************************************************************
* Copyright (c) 2005 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
 *
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
package org.eclipse.wtp.releng.tools.component.ui.internal;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.resources.IResourceProxy;
import org.eclipse.core.resources.IResourceProxyVisitor;
public class JavaSourceFinder implements IResourceProxyVisitor
{
private String className;
private IResource javaSource;
public JavaSourceFinder(String className)
{
this.className = className;
int dollarSign = className.indexOf('$');
if (dollarSign != -1)
this.className = className.substring(0, dollarSign);
}
public IResource getJavaSource()
{
return javaSource;
}
public boolean visit(IResourceProxy resProxy)
{
String resName = resProxy.getName();
if (resName.endsWith(".java"))
{
int resNameLength = resName.length();
int dot = className.length() - (resNameLength - 5) - 1;
if (dot > -1 && className.charAt(dot) == '.')
{
if (className.endsWith(resName.substring(0, resNameLength - 5)))
{
javaSource = resProxy.requestResource();
}
}
}
return javaSource == null;
}
}