Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package com.thaiopensource.datatype.xsd;
  
  
 abstract class DatatypeBase implements Datatype2 {
   abstract boolean lexicallyAllows(String str);
   private final int whiteSpace;
 
   static final int WHITE_SPACE_PRESERVE = 0;
   static final int WHITE_SPACE_REPLACE = 1;
   static final int WHITE_SPACE_COLLAPSE = 2;
 
   DatatypeBase() {
   }
 
   DatatypeBase(int whiteSpace) {
     this. = whiteSpace;
   }
 
   int getWhiteSpace() {
     return ;
   }
 
   public boolean isValid(String strValidationContext vc) {
     str = normalizeWhiteSpace(str);
     return lexicallyAllows(str) && allowsValue(strvc);
   }
 
   public void checkValid(String strValidationContext vcthrows DatatypeException {
     if (!isValid(strvc))
       throw new DatatypeException();
   }
 
   public Object createValue(String strValidationContext vc) {
     str = normalizeWhiteSpace(str);
     if (!lexicallyAllows(str))
       return null;
     return getValue(strvc);
   }
 
   final String normalizeWhiteSpace(String str) {
     switch () {
     case :
       return collapseWhiteSpace(str);
     case :
       return replaceWhiteSpace(str);
     }
     return str;
   }
     
   /* Requires lexicallyAllows to be true.  Must return same value as
      getValue(str, vc) != null. */
   boolean allowsValue(String strValidationContext vc) {
     return true;
   }
 
   /* Requires lexicallyAllows to be true. Returns null if value does not satisfy
      constraints on value space. */
   abstract Object getValue(String strValidationContext vc);
   
     return null;
   }
 
   /* For datatypes that have a length. */
   Measure getMeasure() {
     return null;
   }
 
   static private final String collapseWhiteSpace(String s) {
     int i = collapseStart(s);
     if (i < 0)
       return s;
     StringBuffer buf = new StringBuffer(s.substring(0, i));
     boolean collapsing = (i == 0 || s.charAt(i - 1) == ' ');
     for (int len = s.length(); i < leni++) {
       char c = s.charAt(i);
       switch (c) {
       case '\r':
       case '\n':
       case '\t':
       case ' ':
         if (!collapsing) {
           buf.append(' ');
           collapsing = true;
         }
         break;
       default:
         collapsing = false;
         buf.append(c);
         break;
       }
     }
    if (buf.length() > 0 && buf.charAt(buf.length() - 1) == ' ')
      buf.setLength(buf.length() - 1);
    return buf.toString();
  }
  static private final int collapseStart(String s) {
    for (int i = 0, len = s.length(); i < leni++) {
      switch (s.charAt(i)) {
      case ' ':
        if (i == 0 || s.charAt(i - 1) == ' ' || i == len - 1)
          return i;
        break;
      case '\r':
      case '\n':
      case '\t':
        return i;
      }
    }
    return -1;
  }
  static private final String replaceWhiteSpace(String s) {
    int len = s.length();
    for (int i = 0; i < leni++)
      switch (s.charAt(i)) {
      case '\r':
      case '\n':
      case '\t':
	{
	  char[] buf = s.toCharArray();
	  buf[i] = ' ';
	  for (++ii < leni++)
	    switch (buf[i]) {
	    case '\r':
	    case '\n':
	    case '\t':
	      buf[i] = ' ';
	    }
	  return new String(buf);
	}
      }
    return s;
  }
    return this;
  }
  public boolean isContextDependent() {
    return false;
  }
  public boolean alwaysValid() {
    return false;
  }
  public int getIdType() {
    return ;
  }
  public int valueHashCode(Object value) {
    return value.hashCode();
  }
  public boolean sameValue(Object value1Object value2) {
    return value1.equals(value2);
  }
    return new StreamingValidatorImpl(thisvc);
  }
New to GrepCode? Check out our FAQ X