Package org.keycloak.saml.common.util
Class DocumentUtil
java.lang.Object
org.keycloak.saml.common.util.DocumentUtil
- Direct Known Subclasses:
DocumentUtil
Utility dealing with DOM
- Since:
- Jan 14, 2009
- Author:
- Anil.Saldhana@redhat.com
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic StringGet the document as a string while ignoring any exceptionsstatic DocumentCreate a new documentstatic DocumentcreateDocumentWithBaseNamespace(String baseNamespace, String localPart) Create a document with the root element of the form <someElement xmlns="customNamespace"static ElementgetChildElement(Element doc, QName elementQName) Get an child element from the parent element given itsQNamestatic ElementgetDirectChildElement(Element parent, String targetNamespace, String targetLocalName) static DocumentgetDocument(File file) Get Document from a filestatic DocumentGet Document from an inputstreamstatic DocumentgetDocument(Reader reader) Parse a document from a readerstatic DocumentgetDocument(String docString) Parse a document from the stringstatic StringgetDocumentAsString(Document signedDoc) Marshall a document into a Stringstatic DocumentBuilderstatic ElementgetElement(Document doc, QName elementQName) Get an element from the document given itsQNamestatic InputStreamgetNodeAsStream(Node node) Stream a DOM Node as an input streamstatic StringgetNodeAsString(Node node) Marshall a DOM Node into a Stringstatic InputStreamgetSourceAsStream(Source source) Get theSourceas anInputStreamstatic SourcegetXMLSource(Document doc)
-
Field Details
-
feature_external_general_entities
- See Also:
-
feature_external_parameter_entities
- See Also:
-
feature_disallow_doctype_decl
- See Also:
-
-
Constructor Details
-
DocumentUtil
public DocumentUtil()
-
-
Method Details
-
createDocument
Create a new document- Returns:
- Throws:
ParserConfigurationExceptionConfigurationException
-
createDocumentWithBaseNamespace
public static Document createDocumentWithBaseNamespace(String baseNamespace, String localPart) throws ProcessingException Create a document with the root element of the form <someElement xmlns="customNamespace"- Parameters:
baseNamespace-- Returns:
- Throws:
ProcessingException
-
getDocument
public static Document getDocument(String docString) throws ConfigurationException, ParsingException, ProcessingException Parse a document from the string- Parameters:
docString-- Returns:
- Throws:
IOExceptionSAXExceptionParserConfigurationExceptionConfigurationExceptionParsingExceptionProcessingException
-
getDocument
public static Document getDocument(Reader reader) throws ConfigurationException, ProcessingException, ParsingException Parse a document from a reader- Parameters:
reader-- Returns:
- Throws:
ParsingExceptionParserConfigurationExceptionIOExceptionSAXExceptionConfigurationExceptionProcessingException
-
getDocument
public static Document getDocument(File file) throws ConfigurationException, ProcessingException, ParsingException Get Document from a file- Parameters:
file-- Returns:
- Throws:
ParserConfigurationExceptionIOExceptionSAXExceptionConfigurationExceptionProcessingExceptionParsingException
-
getDocument
public static Document getDocument(InputStream is) throws ConfigurationException, ProcessingException, ParsingException Get Document from an inputstream- Parameters:
is-- Returns:
- Throws:
ParserConfigurationExceptionIOExceptionSAXExceptionConfigurationExceptionProcessingExceptionParsingException
-
getDocumentAsString
public static String getDocumentAsString(Document signedDoc) throws ProcessingException, ConfigurationException Marshall a document into a String- Parameters:
signedDoc-- Returns:
- Throws:
TransformerFactoryConfigurationErrorTransformerExceptionProcessingExceptionConfigurationException
-
getNodeAsString
Marshall a DOM Node into a String- Parameters:
node-- Returns:
- Throws:
ProcessingExceptionConfigurationException
-
getElement
Get an element from the document given its
QNameFirst an attempt to get the element based on its namespace is made, failing which an element with the localpart ignoring any namespace is returned.
- Parameters:
doc-elementQName-- Returns:
-
getChildElement
Get an child element from the parent element given its
QNameFirst an attempt to get the element based on its namespace is made, failing which an element with the localpart ignoring any namespace is returned.
- Parameters:
doc-elementQName-- Returns:
-
getNodeAsStream
public static InputStream getNodeAsStream(Node node) throws ConfigurationException, ProcessingException Stream a DOM Node as an input stream- Parameters:
node-- Returns:
- Throws:
TransformerFactoryConfigurationErrorTransformerExceptionConfigurationExceptionProcessingException
-
getSourceAsStream
public static InputStream getSourceAsStream(Source source) throws ConfigurationException, ProcessingException Get theSourceas anInputStream- Parameters:
source-- Returns:
- Throws:
ConfigurationExceptionProcessingException
-
getXMLSource
- Parameters:
doc-- Returns:
-
asString
Get the document as a string while ignoring any exceptions- Parameters:
doc-- Returns:
-
getDocumentBuilder
- Throws:
ParserConfigurationException
-
getDirectChildElement
public static Element getDirectChildElement(Element parent, String targetNamespace, String targetLocalName) - Parameters:
parent- parent elementtargetNamespace- namespace URItargetLocalName- local name- Returns:
- a child element matching the target namespace and localname, where Node.getParentNode() is the parent input parameter
-