Methods Summary |
---|
public void | addBase64Element(byte[] bytes, java.lang.String localname)Method addBase64Element
if (bytes != null) {
Element e = Base64.encodeToElement(this._doc, localname, bytes);
this._constructionElement.appendChild(e);
this._constructionElement.appendChild(this._doc.createTextNode("\n"));
}
|
public void | addBase64Text(byte[] bytes)Method addBase64Text
if (bytes != null) {
Text t = this._doc.createTextNode("\n" + Base64.encode(bytes) + "\n");
this._constructionElement.appendChild(t);
}
|
public void | addBigIntegerElement(java.math.BigInteger bi, java.lang.String localname)Method setVal
if (bi != null) {
Element e = XMLUtils.createElementInSignatureSpace(this._doc,
localname);
Base64.fillElementWithBigInteger(e, bi);
this._constructionElement.appendChild(e);
XMLUtils.addReturnToElement(this._constructionElement);
}
|
public void | addText(java.lang.String text)Method addText
if (text != null) {
Text t = this._doc.createTextNode(text);
this._constructionElement.appendChild(t);
}
|
public void | addTextElement(java.lang.String text, java.lang.String localname)Method addTextElement
Element e = XMLUtils.createElementInSignatureSpace(this._doc, localname);
Text t = this._doc.createTextNode(text);
e.appendChild(t);
this._constructionElement.appendChild(e);
XMLUtils.addReturnToElement(this._constructionElement);
|
public static org.w3c.dom.Element | createElementForFamily(org.w3c.dom.Document doc, java.lang.String namespace, java.lang.String localName)This method creates an Element in a given namespace with a given localname.
It uses the {@link ElementProxy#getDefaultPrefix} method to decide whether
a particular prefix is bound to that namespace.
This method was refactored out of the constructor.
//Element nscontext = XMLUtils.createDSctx(doc, "x", namespace);
Element result = null;
String prefix = ElementProxy.getDefaultPrefix(namespace);
if (namespace == null) {
result = doc.createElementNS(null, localName);
} else {
if ((prefix == null) || (prefix.length() == 0)) {
result = doc.createElementNS(namespace, localName);
result.setAttributeNS(Constants.NamespaceSpecNS, "xmlns",
namespace);
} else {
result = doc.createElementNS(namespace, prefix + ":" + localName);
result.setAttributeNS(Constants.NamespaceSpecNS, "xmlns:" + prefix,
namespace);
}
}
return result;
|
public abstract java.lang.String | getBaseLocalName()Returns the localname of the Elements of the sub-class.
|
public abstract java.lang.String | getBaseNamespace()Returns the namespace of the Elements of the sub-class.
|
public java.lang.String | getBaseURI()Method getBaseURI
return this._baseURI;
|
public java.math.BigInteger | getBigIntegerFromChildElement(java.lang.String localname, java.lang.String namespace)Method getVal
return Base64.decodeBigIntegerFromText(
XMLUtils.selectNodeText(this._constructionElement.getFirstChild(),
namespace,localname,0));
|
public byte[] | getBytesFromChildElement(java.lang.String localname, java.lang.String namespace)Method getBytesFromChildElement
Element e =
XMLUtils.selectNode(
this._constructionElement.getFirstChild(),
namespace,
localname,
0);
return Base64.decode(e);
|
public byte[] | getBytesFromTextChild()Method getBytesFromTextChild
Text t = (Text)this._constructionElement.getFirstChild();
return Base64.decode(t.getData());
|
public static java.lang.String | getDefaultPrefix(java.lang.String namespace)Method getDefaultPrefix
String prefix = (String) ElementProxy._prefixMappings.get(namespace);
return prefix;
|
public org.w3c.dom.Document | getDocument()Method getDocument
return this._doc;
|
public final org.w3c.dom.Element | getElement()Returns the Element which was constructed by the Object.
return this._constructionElement;
|
public final org.w3c.dom.NodeList | getElementPlusReturns()Returns the Element plus a leading and a trailing CarriageReturn Text node.
HelperNodeList nl = new HelperNodeList();
nl.appendChild(this._doc.createTextNode("\n"));
nl.appendChild(this.getElement());
nl.appendChild(this._doc.createTextNode("\n"));
return nl;
|
public java.lang.String | getTextFromChildElement(java.lang.String localname, java.lang.String namespace)Method getTextFromChildElement
Text t =
(Text) XMLUtils.selectNode(
this._constructionElement.getFirstChild(),
namespace,
localname,
0).getFirstChild();
return t.getData();
|
public java.lang.String | getTextFromTextChild()Method getTextFromTextChild
return XMLUtils.getFullTextChildrenFromElement(this._constructionElement);
|
public void | guaranteeThatElementInCorrectSpace()Method guaranteeThatElementInCorrectSpace
String localnameSHOULDBE = this.getBaseLocalName();
String namespaceSHOULDBE = this.getBaseNamespace();
String localnameIS = this._constructionElement.getLocalName();
String namespaceIS = this._constructionElement.getNamespaceURI();
if ( !localnameSHOULDBE.equals(localnameIS) ||
!namespaceSHOULDBE.equals(namespaceIS)) {
Object exArgs[] = { namespaceIS +":"+ localnameIS,
namespaceSHOULDBE +":"+ localnameSHOULDBE};
throw new XMLSecurityException("xml.WrongElement", exArgs);
}
|
public int | length(java.lang.String namespace, java.lang.String localname)Method length
int number=0;
Node sibling=this._constructionElement.getFirstChild();
while (sibling!=null) {
if (localname.equals(sibling.getLocalName())
&&
namespace.equals(sibling.getNamespaceURI())) {
number++;
}
sibling=sibling.getNextSibling();
}
return number;
|
public static void | setDefaultPrefix(java.lang.String namespace, java.lang.String prefix)Method setDefaultPrefix
if (ElementProxy._prefixMappings.containsValue(prefix)) {
Object storedNamespace=ElementProxy._prefixMappings.get(namespace);
if (!storedNamespace.equals(prefix)) {
Object exArgs[] = { prefix, namespace, storedNamespace };
throw new XMLSecurityException("prefix.AlreadyAssigned", exArgs);
}
}
ElementProxy._prefixMappings.put(namespace, prefix);
|
public void | setElement(org.w3c.dom.Element element, java.lang.String BaseURI)Method setElement
if (element == null) {
throw new XMLSecurityException("ElementProxy.nullElement");
}
if (true) {
}
if (true) {
if (log.isLoggable(java.util.logging.Level.FINE)) log.log(java.util.logging.Level.FINE, "setElement(" + element.getTagName() + ", \"" + BaseURI + "\"");
}
this._doc = element.getOwnerDocument();
this._state = ElementProxy.MODE_PROCESS;
this._constructionElement = element;
this._baseURI = BaseURI;
|
public void | setXPathNamespaceContext(java.lang.String prefix, java.lang.String uri)Adds an xmlns: definition to the Element. This can be called as follows:
// set namespace with ds prefix
xpathContainer.setXPathNamespaceContext("ds", "http://www.w3.org/2000/09/xmldsig#");
xpathContainer.setXPathNamespaceContext("xmlns:ds", "http://www.w3.org/2000/09/xmldsig#");
String ns;
if ((prefix == null) || (prefix.length() == 0)) {
throw new XMLSecurityException("defaultNamespaceCannotBeSetHere");
} else if (prefix.equals("xmlns")) {
throw new XMLSecurityException("defaultNamespaceCannotBeSetHere");
} else if (prefix.startsWith("xmlns:")) {
ns = prefix;//"xmlns:" + prefix.substring("xmlns:".length());
} else {
ns = "xmlns:" + prefix;
}
Attr a = this._constructionElement.getAttributeNodeNS(Constants.NamespaceSpecNS, ns);
if (a != null) {
if (!a.getNodeValue().equals(uri)) {
Object exArgs[] = { ns,
this._constructionElement.getAttributeNS(null,
ns) };
throw new XMLSecurityException("namespacePrefixAlreadyUsedByOtherURI",
exArgs);
}
return;
}
this._constructionElement.setAttributeNS(Constants.NamespaceSpecNS, ns,
uri);
|