Lucene.Net.QueryParsers.Surround.Query.SrndQuery.Clone C# (CSharp) Method

Clone() public method

Shallow clone. Subclasses must override this if they need to clone any members deeply,
public Clone ( ) : object
return object
        public virtual object Clone()
        {
            object clone = null;
            try
            {
                clone = base.MemberwiseClone();
            }
            catch (Exception e)
            {
                throw new SystemException(e.Message, e); // shouldn't happen
            }
            return clone;
        }

Usage Example

Ejemplo n.º 1
0
 public virtual Search.Query MakeLuceneQueryNoBoost(BasicQueryFactory qf)
 {
     if (fieldNames.Count == 1)
     { /* single field name: no new queries needed */
         return(q.MakeLuceneQueryFieldNoBoost(fieldNames.FirstOrDefault(), qf));
     }
     else
     { /* OR query over the fields */
         List <SrndQuery> queries = new List <SrndQuery>();
         foreach (var fieldName in fieldNames)
         {
             var qc = (SrndQuery)q.Clone();
             queries.Add(new FieldsQuery(qc, fieldName, fieldOp));
         }
         OrQuery oq = new OrQuery(queries,
                                  true /* infix OR for field names */,
                                  orOperatorName);
         // System.out.println(getClass().toString() + ", fields expanded: " + oq.toString()); /* needs testing */
         return(oq.MakeLuceneQueryField(null, qf));
     }
 }