Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package com.thaiopensource.relaxng.impl;
  
  
    private final ValidatorPatternBuilder builder;
    private final ValidationContext vc;
    private final String str;
 
     this. = str;
     this. = vc;
     this. = builder;
   }
 
   static boolean isBlank(String str) {
     int len = str.length();
     for (int i = 0; i < leni++) {
       switch (str.charAt(i)) {
       case '\r':
       case '\n':
       case ' ':
       case '\t':
 	break;
       default:
 	return false;
       }
     }
     return true;
   }
 
   public Object caseText(TextPattern p) {
     return p;
   }
 
   public Object caseList(ListPattern p) {
     int len = .length();
     int tokenStart = -1;
     for (int i = 0; i < leni++) {
       switch (.charAt(i)) {
       case '\r':
       case '\n':
       case ' ':
       case '\t':
 	if (tokenStart >= 0) {
 	  memo = tokenDeriv(memotokenStarti);
 	  tokenStart = -1;
 	}
 	break;
       default:
 	if (tokenStart < 0)
 	  tokenStart = i;
 	break;
       }
     }
     if (tokenStart >= 0)
       memo = tokenDeriv(memotokenStartlen);
     if (memo.getPattern().isNullable())
       return .makeEmpty();
     else
       return .makeNotAllowed();
   }
 
   private PatternMemo tokenDeriv(PatternMemo pint iint j) {
     return p.dataDeriv(.substring(ij), );
   }
 
   public Object caseValue(ValuePattern p) {
     Datatype dt = p.getDatatype();
     Object value = dt.createValue();
     if (value != null && dt.sameValue(p.getValue(), value))
       return .makeEmpty();
     else
       return .makeNotAllowed();
   }
 
   public Object caseData(DataPattern p) {
     if (p.allowsAnyString())
       return .makeEmpty();
     if (p.getDatatype().isValid())
       return .makeEmpty();
     else
       return .makeNotAllowed();
   }
 
     Pattern tem = (Pattern)caseData(p);
     if (tem.isNullable() && memoApply(p.getExcept()).isNullable())
       return .makeNotAllowed();
     return tem;
   }
 
   public Object caseAfter(AfterPattern p) {
     Pattern p1 = p.getOperand1();
     if (memoApply(p1).isNullable() || (p1.isNullable() && isBlank()))
       return p.getOperand2();
     return .makeNotAllowed();
  }
  public Object caseChoice(ChoicePattern p) {
			      memoApply(p.getOperand2()));
  }
  
  public Object caseGroup(GroupPattern p) {
    final Pattern p1 = p.getOperand1();
    final Pattern p2 = p.getOperand2();
    Pattern tem = .makeGroup(memoApply(p1), p2);
    if (!p1.isNullable())
      return tem;
    return .makeChoice(temmemoApply(p2));
  }
    final Pattern p1 = p.getOperand1();
    final Pattern p2 = p.getOperand2();
			      .makeInterleave(p1memoApply(p2)));
  }
			     .makeOptional(p));
  }
  public Object caseOther(Pattern p) {
    return .makeNotAllowed();
  }
  private Pattern memoApply(Pattern p) {
     return .getPatternMemo(p).dataDeriv().getPattern();
   }
New to GrepCode? Check out our FAQ X