home *** CD-ROM | disk | FTP | other *** search
/ PC Pro 2001 December / dppcpro1201.iso / Extras / maple / Viewer / WebEQ / MMLViewerInstall.cab / MMLViewerApplet.cab / webeq3 / parser / mathml / P2CRuleSet.class (.txt) < prev    next >
Encoding:
Java Class File  |  2001-05-24  |  1.9 KB  |  61 lines

  1. package webeq3.parser.mathml;
  2.  
  3. import webeq3.constants.AttributeConstants;
  4. import webeq3.schema.Box;
  5. import webeq3.schema.ContentBox;
  6. import webeq3.schema.MRow;
  7.  
  8. public abstract class P2CRuleSet implements AttributeConstants, MathMLConstants, P2CRuleConstants {
  9.    P2CConverter converter = null;
  10.  
  11.    P2CRuleSet(P2CConverter var1) {
  12.       this.converter = var1;
  13.    }
  14.  
  15.    public abstract void applyRule(int var1, Box var2, ContentBox var3) throws P2CConverterException;
  16.  
  17.    protected Box findLeftMostTerminal(Box var1) {
  18.       Box var2;
  19.       for(var2 = var1; var2.children != null && var2.children.size() > 0; var2 = (Box)var2.children.firstElement()) {
  20.       }
  21.  
  22.       return var2;
  23.    }
  24.  
  25.    protected Box findRightMostTerminal(Box var1) {
  26.       Box var2;
  27.       for(var2 = var1; var2.children != null && var2.children.size() > 0; var2 = (Box)var2.children.lastElement()) {
  28.       }
  29.  
  30.       return var2;
  31.    }
  32.  
  33.    protected Box deNestMRows(Box var1) {
  34.       if (!(var1 instanceof MRow)) {
  35.          return var1;
  36.       } else {
  37.          int var2 = var1.children.size();
  38.          if (var2 != 1) {
  39.             return var1;
  40.          } else {
  41.             return var1.getChild(0) instanceof MRow ? this.deNestMRows(var1.getChild(0)) : var1;
  42.          }
  43.       }
  44.    }
  45.  
  46.    public abstract int getRuleMatch(Box var1) throws P2CConverterException;
  47.  
  48.    protected ContentBox makeApplyBox(ContentBox var1, Box var2) {
  49.       ContentBox var3 = new ContentBox(var1, 171, 0);
  50.       var3.name = "apply";
  51.       ((Box)var1).addChild(var3);
  52.       var3.ppeer = var2;
  53.       var2.cpeer = var3;
  54.       return var3;
  55.    }
  56.  
  57.    public static void ConvertError(String var0, Box var1) throws P2CConverterException {
  58.       throw new P2CConverterException(var0, var1);
  59.    }
  60. }
  61.