/******************************************************************************* * Copyright (c) 2000-present Liferay, Inc. All rights reserved. * * This library is free software; you can redistribute it and/or modify it under * the terms of the GNU Lesser General Public License as published by the Free * Software Foundation; either version 2.1 of the License, or (at your option) * any later version. * * This library is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more * details. * *******************************************************************************/ package com.liferay.ide.hook.ui.wizard; import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.Path; import org.eclipse.jdt.core.IJavaElement; import org.eclipse.jdt.core.search.IJavaSearchScope; /** * @author Greg Amerson */ public class PortalServiceSearchScope implements IJavaSearchScope { protected IPath[] enclosingJars; protected String[] resourcePatterns; public PortalServiceSearchScope() { } public boolean encloses( IJavaElement element ) { if( element != null ) { IPath elementPath = element.getPath(); if( elementPath != null ) { for( IPath enclosingJar : enclosingJars ) { if( elementPath.lastSegment().equals( enclosingJar.lastSegment() ) ) { return true; } } } } return false; } public boolean encloses( String resourcePath ) { IPath path = new Path( resourcePath ); if( path != null ) { for( String pattern : resourcePatterns ) { if( path.toPortableString().matches( pattern ) ) { return true; } } } return false;// path != null && // path.lastSegment().endsWith("Service.class"); } public IPath[] enclosingProjectsAndJars() { return enclosingJars; } public boolean includesBinaries() { return true; } public boolean includesClasspaths() { return true; } public void setEnclosingJarPaths( IPath[] jarPaths ) { enclosingJars = jarPaths; } public void setIncludesBinaries( boolean includesBinaries ) { } public void setIncludesClasspaths( boolean includesClasspaths ) { } public void setResourcePattern( String[] patterns ) { this.resourcePatterns = patterns; } }