001    package com.thaiopensource.relaxng.impl;
002    
003    import com.thaiopensource.util.PropertyMap;
004    import com.thaiopensource.validate.AbstractSchema;
005    import com.thaiopensource.validate.ValidateProperty;
006    import com.thaiopensource.validate.Validator;
007    import org.xml.sax.ErrorHandler;
008    
009    public class PatternSchema extends AbstractSchema {
010      private final SchemaPatternBuilder spb;
011      private final Pattern start;
012    
013      public PatternSchema(SchemaPatternBuilder spb, Pattern start, PropertyMap properties) {
014        super(properties);
015        this.spb = spb;
016        this.start = start;
017      }
018    
019      public Validator createValidator(PropertyMap properties) {
020        ErrorHandler eh = ValidateProperty.ERROR_HANDLER.get(properties);
021        return new PatternValidator(start, new ValidatorPatternBuilder(spb), eh);
022      }
023    }