Class DataTypeGeneratorImpl

  • All Implemented Interfaces:
    DataTypeGenerator

    public class DataTypeGeneratorImpl
    extends java.lang.Object
    implements DataTypeGenerator
    default implementation of DataTypeGenerator. You may want to override this class to implement custom generator for unimplemented datatype or datatype local to your schema.
    • Field Detail

      • random

        private final java.util.Random random
      • asciiOnly

        public boolean asciiOnly
        if this flag is set to true, then non-ASCII characters will not be used.
      • generatedValues

        protected java.util.Map generatedValues
        map from DataType to Set that holds generated values for types. This map is used when we fail to generate an appropriate value for a type.
      • tokens

        protected java.util.Set tokens
        set that contains tokens that are found in example files. This set is used as the last resort to generate a value for a type.
    • Constructor Detail

      • DataTypeGeneratorImpl

        public DataTypeGeneratorImpl()
      • DataTypeGeneratorImpl

        public DataTypeGeneratorImpl​(java.util.Random random)
    • Method Detail

      • _generate

        protected java.lang.String _generate​(org.relaxng.datatype.Datatype dt,
                                             ContextProviderImpl context)
        actual generation. this method can return an invalid value.
      • generateBase64Binary

        private java.lang.String generateBase64Binary()
      • fail

        protected void fail​(org.relaxng.datatype.Datatype dt)
      • generateNMTOKEN

        protected java.lang.String generateNMTOKEN()
      • generateNCName

        protected java.lang.String generateNCName()
      • generateDecimal

        protected java.lang.String generateDecimal()
      • generateBoolean

        protected java.lang.String generateBoolean()
      • generateString

        protected java.lang.String generateString()
      • generateFloating

        protected java.lang.String generateFloating()