blob: 6f5d18552e17aeef3040b4acbd543d1b6fa68ab6 [file] [log] [blame]
//------------------------------------------------------------------------------
// Copyright (c) 2005, 2006 IBM Corporation and others.
// All rights reserved. This program and the accompanying materials
// are made available under the terms of the Eclipse Public License v1.0
// which accompanies this distribution, and is available at
// http://www.eclipse.org/legal/epl-v10.html
//
// Contributors:
// IBM Corporation - initial implementation
//------------------------------------------------------------------------------
package org.eclipse.epf.library.layout;
import java.io.File;
import org.eclipse.epf.uma.MethodConfiguration;
import org.eclipse.epf.uma.MethodElement;
/**
* interface for content validator at browsing and publishing
*
* @author Jinhua Xi
* @since 1.0
*
*/
public interface IContentValidator {
final Object elementUrlFeature = new Object();
/**
* set publish dir
* @param pubDir String
*/
public void setPublishDir(String pubDir);
/**
* show broken links if true
* @return boolean
*/
public boolean showBrokenLinks();
public void scanContent(IElementLayout layout, String content) throws Exception;
/**
* validate the link attribute and linked text for the owning element within the configuration.
* Returns a LinkInfo object.
*
* @param owner {@link MethodElement} the owner element
* @param attributes String the url attributes
* @param text String the linked text
* @param config MethodConfiguration
* @param tag the HTML tag (a, area)
* @return LinkInfo
*/
public LinkInfo validateLink(MethodElement owner, String attributes,
String text, MethodConfiguration config, String tag);
/**
* log the info for the element
* @param owner MethodElement
* @param message String
*/
public void logInfo(MethodElement owner, String message);
/**
* log a missing reference
* @param owner MethodElement
* @param refElement MethodElement the referneced element that is missing in configuration
*/
public void logMissingReference(MethodElement owner,
MethodElement refElement);
/**
* log a missing reference
* @param owner MethodElement the owner element
* @param guid String the referenced guid which is not a valid element in the configuration any more
* @param linkedText String the linked text along with the link.
*/
public void logMissingReference(MethodElement owner, String guid,
String linkedText);
/**
* log a missing resource
* @param owner MethodElement the owner
* @param resourceFile File the file that owned by the element and references the mising resource,
* null if the mising reference is referenced by the element itself
* @param url String the url that can't be resovled to a resource.
*/
public void logMissingResource(MethodElement owner, File resourceFile,
String url);
/**
* logn a warning message
* @param owner MethodElement
* @param message String
*/
public void logWarning(MethodElement owner, String message);
/**
* log an error message
* @param owner MethodElement
* @param message String
* @param th Throwable, null if not
*/
public void logError(MethodElement owner, String message, Throwable th);
/**
* log an invalid external link
* @param owner MethodElement
* @param url String the url
* @param message String
*/
public void logInvalidExternalLink(MethodElement owner, String url,
String message);
/**
* log a message
* @param message String
*/
public void logInfo(String message);
/**
* log a warning
* @param message String
*/
public void logWarning(String message);
/**
* log an error
* @param message String
* @param th Throwable
*/
public void logError(String message, Throwable th);
/**
* check if the element is discarded or not
* discarded elements will be treated as out side the configursation
*
* @param owner MethodElement the owner of the element
* @param Object feature EStructuralFeature or OppositeFeature
* @param e MethodElement the element to be checked
*/
public boolean isDiscarded(MethodElement owner, Object feature, MethodElement e);
public boolean isDiscarded(MethodElement owner, Object feature, MethodElement e, MethodConfiguration config);
/**
* set an discarded element
* @param e MethodElement
*/
public void setDiscardedElement(MethodElement e);
/**
* dispose the object and free resources
*
*/
public void dispose();
/**
* add a referneced element
*
* @param owner MethodElement
* @param e MethodElement the element referenced by the owner element
*/
public void addReferencedElement(MethodElement owner, MethodElement e);
/**
* get the flag about showing extra information from the linked elements for descriptors
* @return boolean
*/
public boolean showExtraInfoForDescriptors();
/**
* show descriptors on method element page
*/
public boolean showRelatedDescriptors();
/**
* get the tab id for the activity layout
*
* @return String
*/
public String getDefaultActivityTab();
/**
* show lined element page for a descriptor if true
*/
public boolean showLinkedPageForDescriptor();
}