/// <summary> /// This is used to apply <c>Decorator</c> objects to the /// provided node before it is written. Application of decorations /// before the node is written allows namespaces and comments to be /// applied to the node. Decorations such as this do not affect the /// overall structure of the XML that is written. /// </summary> /// <param name="node"> /// this is the node that decorations are applied to /// </param> /// <param name="type"> /// this is the type to acquire the decoration for /// </param> /// <param name="label"> /// this contains the primary decorator to be used /// </param> public void WriteNamespaces(OutputNode node, Class type, Label label) { Decorator primary = context.GetDecorator(type); Decorator decorator = label.GetDecorator(); decorator.decorate(node, primary); }
/// <summary> /// This write method is used to set the value of the provided object /// as an attribute to the XML element. This will acquire the string /// value of the object using <c>toString</c> only if the /// object provided is not an enumerated type. If the object is an /// enumerated type then the <c>Enum.name</c> method is used. /// </summary> /// <param name="value"> /// this is the value to be set as an attribute /// </param> /// <param name="node"> /// this is the XML element to write the attribute to /// </param> /// <param name="label"> /// the label that contains the contact details /// </param> public void WriteAttribute(OutputNode node, Object value, Label label) { if(value != null) { Decorator decorator = label.GetDecorator(); String name = label.GetName(context); String text = factory.getText(value); OutputNode done = node.setAttribute(name, text); decorator.decorate(done); } }