1. Project Clover database Tue Dec 20 2016 21:24:09 CET
  2. Package org.xwiki.resource

File ResourceReferenceResolver.java

 

Code metrics

0
0
0
1
52
9
0
-
-
0
-

Classes

Class Line # Actions
ResourceReferenceResolver 34 0 - 0 0
-1.0 -
 

Contributing tests

No tests hitting this source file were found.

Source view

1    /*
2    * See the NOTICE file distributed with this work for additional
3    * information regarding copyright ownership.
4    *
5    * This is free software; you can redistribute it and/or modify it
6    * under the terms of the GNU Lesser General Public License as
7    * published by the Free Software Foundation; either version 2.1 of
8    * the License, or (at your option) any later version.
9    *
10    * This software is distributed in the hope that it will be useful,
11    * but WITHOUT ANY WARRANTY; without even the implied warranty of
12    * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13    * Lesser General Public License for more details.
14    *
15    * You should have received a copy of the GNU Lesser General Public
16    * License along with this software; if not, write to the Free
17    * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
18    * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
19    */
20    package org.xwiki.resource;
21   
22    import java.util.Map;
23   
24    import org.xwiki.component.annotation.Role;
25   
26    /**
27    * Transforms some representation of an XWiki Resource Reference (aka a URI) into a {@link ResourceReference} instance.
28    *
29    * @param <T> the object to transform into a XWiki Resource Reference
30    * @version $Id: 66ec3f0ee6922b8e682ca8f1f6642fb359187e7d $
31    * @since 6.1M2
32    */
33    @Role
 
34    public interface ResourceReferenceResolver<T>
35    {
36    /**
37    * Transforms some representation of a XWiki Resource Reference into a {@link ResourceReference} instance.
38    *
39    * @param representation the object to transform into a {@link ResourceReference} instance
40    * @param resourceType the type of Resource represented by the passed representation parameter. To get this type
41    * you can use a {@link ResourceTypeResolver}
42    * @param parameters generic parameters that depend on the underlying implementation. In order to know what to pass
43    * you need to check the documentation for the implementation you're using.
44    * @return the {@link ResourceReference} instance
45    * @throws CreateResourceReferenceException if there was an error while creating the XWiki Resource object
46    * @throws UnsupportedResourceReferenceException if the passed representation points to an unsupported Resource
47    * Reference type that we don't know how to resolve
48    * @since 7.1M1
49    */
50    ResourceReference resolve(T representation, ResourceType resourceType, Map<String, Object> parameters)
51    throws CreateResourceReferenceException, UnsupportedResourceReferenceException;
52    }