home *** CD-ROM | disk | FTP | other *** search
- package com.kav.xsl;
-
- import com.kav.util.List;
- import java.util.Enumeration;
- import java.util.Hashtable;
-
- public class Macro extends XSLObject {
- private Hashtable args = new Hashtable();
-
- public Macro(XSLStylesheet var1) throws XSLException {
- super(var1, (short)22);
- }
-
- public MacroArg getArg(String var1) {
- return (MacroArg)this.args.get(var1);
- }
-
- public Hashtable getArgs() {
- return (Hashtable)this.args.clone();
- }
-
- public Hashtable getArgs(Hashtable var1) {
- this.synchronizeArgs();
- Hashtable var2 = new Hashtable();
- Enumeration var3 = this.args.keys();
- Object var5 = null;
-
- while(var3.hasMoreElements()) {
- Object var4 = var3.nextElement();
- var5 = var1.get(var4);
- if (var5 == null) {
- var5 = this.args.get(var4);
- }
-
- if (var5 != null) {
- var2.put(var4, var5);
- }
- }
-
- return var2;
- }
-
- public String getName() {
- return ((XSLObject)this).getAttribute("name");
- }
-
- public void setArg(String var1, String var2) {
- if (var1 != null) {
- if (var2 == null) {
- var2 = "";
- }
-
- this.args.put(var1, var2);
- }
-
- }
-
- public void setName(String var1) {
- try {
- ((XSLObject)this).setAttribute("name", var1);
- } catch (XSLException var2) {
- }
- }
-
- private void synchronizeArgs() {
- List var1 = ((XSLObject)this).getActions();
-
- for(int var2 = 0; var2 < var1.size(); ++var2) {
- XSLObject var3 = (XSLObject)var1.get(var2);
- if (var3.getType() == 23) {
- this.handleMacroArg((MacroArg)var3);
- }
- }
-
- }
-
- private void handleMacroArg(MacroArg var1) {
- String var2 = var1.getName();
- if (var2 != null && var2.length() != 0) {
- if (this.args.get(var2) == null) {
- String var3 = var1.getDefaultValue();
- if (var3 == null) {
- var3 = "";
- }
-
- this.args.put(var2, var3);
- }
-
- }
- }
- }
-