/*
 * Copyright 2002-2021 the original author or authors.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      https://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package org.springframework.core.io.support;

import java.io.IOException;

import org.springframework.core.io.Resource;
import org.springframework.core.io.ResourceLoader;

/**
 * Strategy interface for resolving a location pattern (for example,
 * an Ant-style path pattern) into {@link Resource} objects.
 *
 * <p>This is an extension to the {@link org.springframework.core.io.ResourceLoader}
 * interface. A passed-in {@code ResourceLoader} (for example, an
 * {@link org.springframework.context.ApplicationContext} passed in via
 * {@link org.springframework.context.ResourceLoaderAware} when running in a context)
 * can be checked whether it implements this extended interface too.
 *
 * <p>{@link PathMatchingResourcePatternResolver} is a standalone implementation
 * that is usable outside an {@code ApplicationContext}, also used by
 * {@link ResourceArrayPropertyEditor} for populating {@code Resource} array bean
 * properties.
 *
 * <p>Can be used with any sort of location pattern (e.g. "/WEB-INF/*-context.xml"):
 * Input patterns have to match the strategy implementation. This interface just
 * specifies the conversion method rather than a specific pattern format.
 *
 * <p>This interface also suggests a new resource prefix "classpath*:" for all
 * matching resources from the class path. Note that the resource location is
 * expected to be a path without placeholders in this case (e.g. "/beans.xml");
 * JAR files or different directories in the class path can contain multiple files
 * of the same name.
 *
 * @author Juergen Hoeller
 * @since 1.0.2
 * @see org.springframework.core.io.Resource
 * @see org.springframework.core.io.ResourceLoader
 * @see org.springframework.context.ApplicationContext
 * @see org.springframework.context.ResourceLoaderAware
 */
public interface ResourcePatternResolver extends ResourceLoader {

	/**
	 * Pseudo URL prefix for all matching resources from the class path: "classpath*:"
	 * <p>This differs from ResourceLoader's classpath URL prefix in that it
	 * retrieves all matching resources for a given name (e.g. "/beans.xml"),
	 * for example in the root of all deployed JAR files.
	 * @see org.springframework.core.io.ResourceLoader#CLASSPATH_URL_PREFIX
	 */
	String CLASSPATH_ALL_URL_PREFIX = "classpath*:";

	/**
	 * Resolve the given location pattern into {@code Resource} objects.
	 * <p>Overlapping resource entries that point to the same physical
	 * resource should be avoided, as far as possible. The result should
	 * have set semantics.
	 * @param locationPattern the location pattern to resolve
	 * @return the corresponding {@code Resource} objects
	 * @throws IOException in case of I/O errors
	 */
	Resource[] getResources(String locationPattern) throws IOException;

}

@@ -17,17 +17,17 @@
 2002-202
-1
+2
  the ori
@@ -1609,21 +1609,46 @@
 pattern 
-(e.g.
+&mdash; for example,%0A * %7B@code
  %22/WEB-I
@@ -1668,15 +1668,21 @@
 xml%22
-):%0A * I
+%7D. However, i
 nput
@@ -1708,16 +1708,19 @@
 atch the
+%0A *
  strateg
@@ -1756,19 +1756,16 @@
 ace just
-%0A *
  specifi
@@ -1788,16 +1788,19 @@
 n method
+%0A *
  rather 
@@ -1864,22 +1864,39 @@
 lso 
-suggests a new
+defines a %7B@code %22classpath*:%22%7D
  res
@@ -1907,30 +1907,16 @@
 e prefix
- %22classpath*:%22
  for all
@@ -1995,83 +1995,75 @@
 ion 
-is%0A * expected to be a path without placeholders in this case (e.g.
+may%0A * also contain placeholders &mdash; for example %7B@code
  %22/beans
 .xml
@@ -2062,18 +2062,17 @@
 eans
+-*
 .xml%22
-);%0A *
+%7D.
  JAR
@@ -2077,16 +2077,19 @@
 AR files
+%0A *
  or diff
@@ -2154,18 +2154,18 @@
 iles
-%0A *
  of the
+%0A *
  sam

Fix Javadoc for ResourcePatternResolver