Beispiel #1
0
        public void TestNameSequence()
        {
            var sequence = new NameSequence();

            sequence.Seek("聂");
            for (int i = 0; i < 100 && !sequence.EndOfSequence; ++i, sequence.MoveNext())
            {
                Console.WriteLine(sequence.Current);
            }
        }
Beispiel #2
0
 private static CrawlContext GetCrawlContext(string sequenceType, string start, long max, int pause)
 {
     ISequence<string> sequence;
     QueryType queryType;
     if (sequenceType.Equals("NN"))
     {
         var innerSequence = new NaturalNumberSequence();
         innerSequence.Seek(long.Parse(start));
         sequence = new TextSequence<long>(innerSequence);
         queryType = QueryType.IdCardNumber;
     }
     else if (sequenceType.Equals("N"))
     {
         sequence = new NameSequence();
         sequence.Seek(start);
         queryType = QueryType.Name;
     }
     else if (sequenceType.Equals("RICN"))
     {
         sequence = new RandomIdCardNumberSequence();
         queryType = QueryType.IdCardNumber;
     }
     else if (sequenceType.Equals("RN1"))
     {
         sequence = new RandomNameSequence(1);
         queryType = QueryType.Name;
     }
     else if (sequenceType.Equals("RN2"))
     {
         sequence = new RandomNameSequence(2);
         queryType = QueryType.Name;
     }
     else
     {
         throw new ArgumentException("Invalid sequence type: " + sequenceType);
     }
     sequence.Initialize();
     return new CrawlContext
     {
         Sequence = sequence,
         SequenceType = sequenceType,
         MaximumTry = max,
         QueryType = queryType,
         Pause = pause,
     };
 }
Beispiel #3
0
 public override ObjectName GenerateTableNameCollection(Table table, NameSequence name, TableNameAttribute?tn)
 {
     return(base.GenerateTableNameCollection(table, name, tn).OnSchema(GetSchemaName(table.Type)));
 }
Beispiel #4
0
    private Dictionary <Type, FieldMixin>?GenerateMixins(PropertyRoute propertyRoute, ITable table, NameSequence nameSequence)
    {
        Dictionary <Type, FieldMixin>?mixins = null;

        foreach (var t in MixinDeclarations.GetMixinDeclarations(propertyRoute.Type))
        {
            if (mixins == null)
            {
                mixins = new Dictionary <Type, FieldMixin>();
            }

            mixins.Add(t, this.GenerateFieldMixin(propertyRoute.Add(t), nameSequence, table));
        }

        return(mixins);
    }
Beispiel #5
0
 private NameSequence(string value, NameSequence preSequence)
 {
     this.Value       = value;
     this.PreSequence = preSequence;
 }