1. Project Clover database Sat Feb 2 2019 06:45:20 CET
  2. Package org.xwiki.component.wiki.internal.bridge

File WikiBaseObjectComponentBuilder.java

 

Coverage histogram

../../../../../../img/srcFileCovDistChart0.png
86% of files have more coverage

Code metrics

0
1
1
1
62
19
1
1
1
1
1

Classes

Class Line # Actions
WikiBaseObjectComponentBuilder 40 1 0% 1 2
0.00%
 

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.component.wiki.internal.bridge;
21   
22    import java.util.List;
23   
24    import org.xwiki.component.wiki.WikiComponent;
25    import org.xwiki.component.wiki.WikiComponentBuilder;
26    import org.xwiki.component.wiki.WikiComponentException;
27    import org.xwiki.component.wiki.WikiObjectComponentBuilder;
28    import org.xwiki.model.reference.EntityReference;
29    import org.xwiki.model.reference.ObjectReference;
30   
31    import com.xpn.xwiki.objects.BaseObject;
32   
33    /**
34    * This interface uses {@link WikiObjectComponentBuilder} to ease the operation of building new components from
35    * XObjects using the old core classes such as {@link BaseObject}.
36    *
37    * @version $Id: 1913444d646704eebc3bd0ead74796886346998e $
38    * @since 9.5RC1
39    */
 
40    public interface WikiBaseObjectComponentBuilder extends WikiObjectComponentBuilder
41    {
42    /**
43    * Build the components that is linked to the given {@link EntityReference}.
44    *
45    * @param baseObject the XObject that should be used to create the component.
46    * @return the new components
47    * @throws WikiComponentException if the given {@link EntityReference} is incompatible with the current builder or
48    * if the {@link WikiComponentBuilder} has not been able to instanciate the component.
49    */
50    List<WikiComponent> buildComponents(BaseObject baseObject) throws WikiComponentException;
51   
52    /**
53    * As we’re currently extending a public interface for its internal use, we can discard the default implementation
54    * of {@link WikiObjectComponentBuilder#buildComponents(ObjectReference)}.
55    */
 
56  0 toggle @Override
57    default List<WikiComponent> buildComponents(ObjectReference objectReference) throws WikiComponentException
58    {
59  0 throw new UnsupportedOperationException("This component builder does not support entity references. Please use "
60    + "WikiObjectComponentBuilder.");
61    }
62    }