Package com.adobe.epubcheck.util
Class XmlReportAbstract
- java.lang.Object
-
- com.adobe.epubcheck.api.MasterReport
-
- com.adobe.epubcheck.util.XmlReportAbstract
-
- All Implemented Interfaces:
LocalizableReport,Report
- Direct Known Subclasses:
XmlReportImpl,XmpReportImpl
public abstract class XmlReportAbstract extends MasterReport
Abstract class to generate a report in XML. It collects the information needed for the report and provides helper methods to generate proper XML. In order to generate a specific XML, the generateReport method should be provided in a derived class.
-
-
Field Summary
Fields Modifier and Type Field Description protected longcharsCountprotected java.util.Set<java.lang.String>contributorsprotected java.lang.StringcreationDateprotected java.util.Set<java.lang.String>creatorsprivate org.w3c.dom.ElementcurrentElprotected java.lang.Stringdateprivate org.w3c.dom.Documentdocprotected java.util.Set<java.lang.String>embeddedFontsprotected java.lang.StringepubCheckDateprotected java.lang.StringepubCheckNameprotected java.lang.StringepubCheckVersionprotected java.util.List<CheckMessage>errorsprotected java.util.List<CheckMessage>fatalErrorsprotected java.lang.StringformatNameprotected java.lang.StringformatVersionprotected java.lang.StringgenerationDateprotected booleanhasAudioprotected booleanhasEncryptionprotected booleanhasFixedLayoutprotected booleanhasScriptsprotected booleanhasSignaturesprotected booleanhasVideoprotected java.util.List<CheckMessage>hintsprotected java.lang.Stringidentifierprotected java.lang.Stringlanguageprotected java.lang.StringlastModifiedDateprotected java.util.Set<java.lang.String>mediaTypesprivate java.util.Map<java.lang.String,java.lang.String>namespacesprivate java.lang.StringnamespaceURIprotected java.io.PrintWriteroutprotected longpagesCountprotected java.lang.Stringpublisherprotected java.util.Set<java.lang.String>referencesprotected java.util.Set<java.lang.String>refFontsprotected java.util.Set<java.lang.String>rightsprotected java.util.Set<java.lang.String>subjectsprotected java.util.Set<java.lang.String>titlesprotected java.util.List<CheckMessage>warns-
Fields inherited from class com.adobe.epubcheck.api.MasterReport
allReportedMessageIds
-
-
Constructor Summary
Constructors Constructor Description XmlReportAbstract(java.io.PrintWriter out, java.lang.String ePubName, java.lang.String versionEpubCheck)
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidaddPrefixNamespace(java.lang.String prefix, java.lang.String uri)protected java.lang.Stringcapitalize(java.lang.String in)voidclose()protected static java.lang.StringcorrectToUtf8(java.lang.String inputString)Make sure the string contains valid UTF-8 charactersprotected voidendElement(java.lang.String name)protected static java.lang.StringfromTime(long time)Transform time into ISO 8601 string.intgenerate()Called to create a report after the checks have been madeprotected voidgenerateElement(java.lang.String name, java.lang.String value)protected voidgenerateElement(java.lang.String name, java.lang.String value, KeyValue<java.lang.String,java.lang.String>... attrs)protected voidgenerateElement(java.lang.String name, java.lang.String value, java.util.List<KeyValue<java.lang.String,java.lang.String>> attrs)abstract intgenerateReport()Method to implement effective report generation.protected java.lang.StringgetNameFromPath(java.lang.String path)voidinfo(java.lang.String resource, FeatureEnum feature, java.lang.String value)Called when when a feature is found in epub.voidinitialize()Called when a report if first createdprivate org.w3c.dom.AttrmakeAttribute(KeyValue<java.lang.String,java.lang.String> kv)private org.w3c.dom.ElementmakeElement(java.lang.String name)voidmessage(Message message, EPUBLocation location, java.lang.Object... args)Called when a violation of the standard is found in epub.voidsetNamespace(java.lang.String uri)protected voidstartElement(java.lang.String name)protected voidstartElement(java.lang.String name, KeyValue<java.lang.String,java.lang.String>... attrs)protected voidstartElement(java.lang.String name, java.util.List<KeyValue<java.lang.String,java.lang.String>> attrs)-
Methods inherited from class com.adobe.epubcheck.api.MasterReport
getCustomMessageFile, getDictionary, getEpubFileName, getErrorCount, getFatalErrorCount, getInfoCount, getLocale, getMessages, getReportingLevel, getUsageCount, getWarningCount, message, setCustomMessageFile, setEpubFileName, setLocale, setOverrideFile, setReportingLevel
-
-
-
-
Field Detail
-
out
protected java.io.PrintWriter out
-
epubCheckName
protected java.lang.String epubCheckName
-
epubCheckVersion
protected java.lang.String epubCheckVersion
-
epubCheckDate
protected java.lang.String epubCheckDate
-
generationDate
protected java.lang.String generationDate
-
creationDate
protected java.lang.String creationDate
-
lastModifiedDate
protected java.lang.String lastModifiedDate
-
identifier
protected java.lang.String identifier
-
titles
protected java.util.Set<java.lang.String> titles
-
creators
protected final java.util.Set<java.lang.String> creators
-
contributors
protected final java.util.Set<java.lang.String> contributors
-
subjects
protected final java.util.Set<java.lang.String> subjects
-
publisher
protected java.lang.String publisher
-
rights
protected final java.util.Set<java.lang.String> rights
-
date
protected java.lang.String date
-
mediaTypes
protected final java.util.Set<java.lang.String> mediaTypes
-
formatName
protected java.lang.String formatName
-
formatVersion
protected java.lang.String formatVersion
-
pagesCount
protected long pagesCount
-
charsCount
protected long charsCount
-
language
protected java.lang.String language
-
embeddedFonts
protected final java.util.Set<java.lang.String> embeddedFonts
-
refFonts
protected final java.util.Set<java.lang.String> refFonts
-
references
protected final java.util.Set<java.lang.String> references
-
hasEncryption
protected boolean hasEncryption
-
hasSignatures
protected boolean hasSignatures
-
hasAudio
protected boolean hasAudio
-
hasVideo
protected boolean hasVideo
-
hasFixedLayout
protected boolean hasFixedLayout
-
hasScripts
protected boolean hasScripts
-
warns
protected final java.util.List<CheckMessage> warns
-
errors
protected final java.util.List<CheckMessage> errors
-
fatalErrors
protected final java.util.List<CheckMessage> fatalErrors
-
hints
protected final java.util.List<CheckMessage> hints
-
doc
private org.w3c.dom.Document doc
-
currentEl
private org.w3c.dom.Element currentEl
-
namespaceURI
private java.lang.String namespaceURI
-
namespaces
private java.util.Map<java.lang.String,java.lang.String> namespaces
-
-
Method Detail
-
initialize
public void initialize()
Description copied from interface:ReportCalled when a report if first created
-
close
public void close()
- Specified by:
closein interfaceReport- Overrides:
closein classMasterReport
-
message
public void message(Message message, EPUBLocation location, java.lang.Object... args)
Description copied from interface:ReportCalled when a violation of the standard is found in epub.- Parameters:
message- The message being reportedlocation- location information for the messageargs- Arguments referenced by the format string for the message.
-
info
public void info(java.lang.String resource, FeatureEnum feature, java.lang.String value)Description copied from interface:ReportCalled when when a feature is found in epub.- Parameters:
resource- name of the resource in the epub zip container that has this feature or null if the feature is on the container level.feature- a keyword to know what kind of feature has been foundvalue- value found
-
getNameFromPath
protected java.lang.String getNameFromPath(java.lang.String path)
-
generateReport
public abstract int generateReport()
Method to implement effective report generation.- Returns:
- errorCode
-
setNamespace
public void setNamespace(java.lang.String uri)
-
addPrefixNamespace
public void addPrefixNamespace(java.lang.String prefix, java.lang.String uri)
-
generate
public int generate()
Description copied from interface:ReportCalled to create a report after the checks have been made
-
capitalize
protected java.lang.String capitalize(java.lang.String in)
-
makeElement
private org.w3c.dom.Element makeElement(java.lang.String name)
-
makeAttribute
private org.w3c.dom.Attr makeAttribute(KeyValue<java.lang.String,java.lang.String> kv)
-
startElement
protected void startElement(java.lang.String name, java.util.List<KeyValue<java.lang.String,java.lang.String>> attrs)
-
startElement
protected void startElement(java.lang.String name, KeyValue<java.lang.String,java.lang.String>... attrs)
-
startElement
protected void startElement(java.lang.String name)
-
endElement
protected void endElement(java.lang.String name)
-
generateElement
protected void generateElement(java.lang.String name, java.lang.String value)
-
generateElement
protected void generateElement(java.lang.String name, java.lang.String value, KeyValue<java.lang.String,java.lang.String>... attrs)
-
generateElement
protected void generateElement(java.lang.String name, java.lang.String value, java.util.List<KeyValue<java.lang.String,java.lang.String>> attrs)
-
correctToUtf8
protected static java.lang.String correctToUtf8(java.lang.String inputString)
Make sure the string contains valid UTF-8 characters- Parameters:
inputString-- Returns:
- escaped String
-
fromTime
protected static java.lang.String fromTime(long time)
Transform time into ISO 8601 string.
-
-