1 /*
2 *
3 * Copyright 2005 The Apache Software Foundation.
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 *
17 */
18 package org.apache.commons.scxml;
19
20 /***
21 * Interface for a component that may be used by the SCXML engines
22 * to resolve context sensitive paths.
23 *
24 */
25 public interface PathResolver {
26
27 /***
28 * Resolve this context sensitive path to an absolute URL.
29 *
30 * @param ctxPath Context sensitive path, can be a relative URL
31 * @return Resolved path (an absolute URL) or <code>null</code>
32 */
33 String resolvePath(String ctxPath);
34
35 /***
36 * Get a PathResolver rooted at this context sensitive path.
37 *
38 * @param ctxPath Context sensitive path, can be a relative URL
39 * @return Returns a new resolver rooted at ctxPath
40 */
41 PathResolver getResolver(String ctxPath);
42
43 }
44