/**
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You 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
*
* http://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.apache.manifoldcf.crawler.connectors.confluence.model.builder;

import org.apache.manifoldcf.crawler.connectors.confluence.model.ConfluenceResource;
import org.json.JSONObject;

/**
 * <p>ConfluenceResourceBuilder interface</p>
 * @author Antonio David Perez Morales <adperezmorales@gmail.com>
 *
 * @param <T> Subtype of ConfluenceResource to be built
 */
public interface ConfluenceResourceBuilder<T extends ConfluenceResource> {

	/**
	 * <p>Creates a <T> instance from a JSON representation 
	 * @param jsonDocument
	 * @return T instance
	 */
	T fromJson(JSONObject jsonDocument);
	
	/**
	 * <p>Populates the given <T> instance from a JSON representation and return it</p>
	 * @param jsonDocument
	 * @return T instance
	 */
	T fromJson(JSONObject jsonDocument, T document);
	
	/**
	 * <p>Returns the Class of the resource that can be built</p>
	 * @return the type Class<T> of the resource which can be built by this builder
	 */
	Class<T> getType();
}

@@ -1221,22 +1221,24 @@
 rce%3E %7B%0A%0A
-%09
+  
 /**%0A
-%09
+  
  * %3Cp%3ECr
@@ -1286,17 +1286,18 @@
 tation %0A
-%09
+  
  * @para
@@ -1303,33 +1303,34 @@
 am jsonDocument%0A
-%09
+  
  * @return T ins
@@ -1327,38 +1327,40 @@
 turn T instance%0A
-%09
+  
  */%0A
-%09
+  
 T fromJson(JSONO
@@ -1376,32 +1376,35 @@
 nDocument);%0A
-%09%0A%09
+  %0A  
 /**%0A
-%09
+  
  * %3Cp%3EPopula
@@ -1471,25 +1471,26 @@
 turn it%3C/p%3E%0A
-%09
+  
  * @param js
@@ -1500,17 +1500,18 @@
 ocument%0A
-%09
+  
  * @retu
@@ -1524,22 +1524,24 @@
 nstance%0A
-%09
+  
  */%0A
-%09
+  
 T fromJs
@@ -1585,16 +1585,19 @@
 t);%0A
-%09%0A%09
+  %0A  
 /**%0A
-%09
+  
  * %3C
@@ -1654,17 +1654,18 @@
 ilt%3C/p%3E%0A
-%09
+  
  * @retu
@@ -1740,14 +1740,16 @@
 der%0A
-%09
+  
  */%0A
-%09
+  
 Clas

Reformat as per MCF standards