6262/** A {@link FieldMapper} for numeric types: byte, short, int, long, float and double. */
6363public class NumberFieldMapper extends FieldMapper {
6464
65- // this is private since it has a different default
66- static final Setting <Boolean > COERCE_SETTING =
65+ public static final Setting <Boolean > COERCE_SETTING =
6766 Setting .boolSetting ("index.mapping.coerce" , true , Property .IndexScope );
6867
6968 public static class Defaults {
@@ -162,7 +161,7 @@ public Mapper.Builder<?,?> parse(String name, Map<String, Object> node,
162161 public enum NumberType {
163162 HALF_FLOAT ("half_float" , NumericType .HALF_FLOAT ) {
164163 @ Override
165- Float parse (Object value , boolean coerce ) {
164+ public Float parse (Object value , boolean coerce ) {
166165 final float result ;
167166
168167 if (value instanceof Number ) {
@@ -178,20 +177,20 @@ Float parse(Object value, boolean coerce) {
178177 }
179178
180179 @ Override
181- Float parse (XContentParser parser , boolean coerce ) throws IOException {
180+ public Float parse (XContentParser parser , boolean coerce ) throws IOException {
182181 float parsed = parser .floatValue (coerce );
183182 validateParsed (parsed );
184183 return parsed ;
185184 }
186185
187186 @ Override
188- Query termQuery (String field , Object value ) {
187+ public Query termQuery (String field , Object value ) {
189188 float v = parse (value , false );
190189 return HalfFloatPoint .newExactQuery (field , v );
191190 }
192191
193192 @ Override
194- Query termsQuery (String field , List <Object > values ) {
193+ public Query termsQuery (String field , List <Object > values ) {
195194 float [] v = new float [values .size ()];
196195 for (int i = 0 ; i < values .size (); ++i ) {
197196 v [i ] = parse (values .get (i ), false );
@@ -200,7 +199,7 @@ Query termsQuery(String field, List<Object> values) {
200199 }
201200
202201 @ Override
203- Query rangeQuery (String field , Object lowerTerm , Object upperTerm ,
202+ public Query rangeQuery (String field , Object lowerTerm , Object upperTerm ,
204203 boolean includeLower , boolean includeUpper ,
205204 boolean hasDocValues ) {
206205 float l = Float .NEGATIVE_INFINITY ;
@@ -254,7 +253,7 @@ private void validateParsed(float value) {
254253 },
255254 FLOAT ("float" , NumericType .FLOAT ) {
256255 @ Override
257- Float parse (Object value , boolean coerce ) {
256+ public Float parse (Object value , boolean coerce ) {
258257 final float result ;
259258
260259 if (value instanceof Number ) {
@@ -270,20 +269,20 @@ Float parse(Object value, boolean coerce) {
270269 }
271270
272271 @ Override
273- Float parse (XContentParser parser , boolean coerce ) throws IOException {
272+ public Float parse (XContentParser parser , boolean coerce ) throws IOException {
274273 float parsed = parser .floatValue (coerce );
275274 validateParsed (parsed );
276275 return parsed ;
277276 }
278277
279278 @ Override
280- Query termQuery (String field , Object value ) {
279+ public Query termQuery (String field , Object value ) {
281280 float v = parse (value , false );
282281 return FloatPoint .newExactQuery (field , v );
283282 }
284283
285284 @ Override
286- Query termsQuery (String field , List <Object > values ) {
285+ public Query termsQuery (String field , List <Object > values ) {
287286 float [] v = new float [values .size ()];
288287 for (int i = 0 ; i < values .size (); ++i ) {
289288 v [i ] = parse (values .get (i ), false );
@@ -292,7 +291,7 @@ Query termsQuery(String field, List<Object> values) {
292291 }
293292
294293 @ Override
295- Query rangeQuery (String field , Object lowerTerm , Object upperTerm ,
294+ public Query rangeQuery (String field , Object lowerTerm , Object upperTerm ,
296295 boolean includeLower , boolean includeUpper ,
297296 boolean hasDocValues ) {
298297 float l = Float .NEGATIVE_INFINITY ;
@@ -344,27 +343,27 @@ private void validateParsed(float value) {
344343 },
345344 DOUBLE ("double" , NumericType .DOUBLE ) {
346345 @ Override
347- Double parse (Object value , boolean coerce ) {
346+ public Double parse (Object value , boolean coerce ) {
348347 double parsed = objectToDouble (value );
349348 validateParsed (parsed );
350349 return parsed ;
351350 }
352351
353352 @ Override
354- Double parse (XContentParser parser , boolean coerce ) throws IOException {
353+ public Double parse (XContentParser parser , boolean coerce ) throws IOException {
355354 double parsed = parser .doubleValue (coerce );
356355 validateParsed (parsed );
357356 return parsed ;
358357 }
359358
360359 @ Override
361- Query termQuery (String field , Object value ) {
360+ public Query termQuery (String field , Object value ) {
362361 double v = parse (value , false );
363362 return DoublePoint .newExactQuery (field , v );
364363 }
365364
366365 @ Override
367- Query termsQuery (String field , List <Object > values ) {
366+ public Query termsQuery (String field , List <Object > values ) {
368367 double [] v = new double [values .size ()];
369368 for (int i = 0 ; i < values .size (); ++i ) {
370369 v [i ] = parse (values .get (i ), false );
@@ -373,7 +372,7 @@ Query termsQuery(String field, List<Object> values) {
373372 }
374373
375374 @ Override
376- Query rangeQuery (String field , Object lowerTerm , Object upperTerm ,
375+ public Query rangeQuery (String field , Object lowerTerm , Object upperTerm ,
377376 boolean includeLower , boolean includeUpper ,
378377 boolean hasDocValues ) {
379378 double l = Double .NEGATIVE_INFINITY ;
@@ -425,7 +424,7 @@ private void validateParsed(double value) {
425424 },
426425 BYTE ("byte" , NumericType .BYTE ) {
427426 @ Override
428- Byte parse (Object value , boolean coerce ) {
427+ public Byte parse (Object value , boolean coerce ) {
429428 double doubleValue = objectToDouble (value );
430429
431430 if (doubleValue < Byte .MIN_VALUE || doubleValue > Byte .MAX_VALUE ) {
@@ -443,7 +442,7 @@ Byte parse(Object value, boolean coerce) {
443442 }
444443
445444 @ Override
446- Short parse (XContentParser parser , boolean coerce ) throws IOException {
445+ public Short parse (XContentParser parser , boolean coerce ) throws IOException {
447446 int value = parser .intValue (coerce );
448447 if (value < Byte .MIN_VALUE || value > Byte .MAX_VALUE ) {
449448 throw new IllegalArgumentException ("Value [" + value + "] is out of range for a byte" );
@@ -452,17 +451,17 @@ Short parse(XContentParser parser, boolean coerce) throws IOException {
452451 }
453452
454453 @ Override
455- Query termQuery (String field , Object value ) {
454+ public Query termQuery (String field , Object value ) {
456455 return INTEGER .termQuery (field , value );
457456 }
458457
459458 @ Override
460- Query termsQuery (String field , List <Object > values ) {
459+ public Query termsQuery (String field , List <Object > values ) {
461460 return INTEGER .termsQuery (field , values );
462461 }
463462
464463 @ Override
465- Query rangeQuery (String field , Object lowerTerm , Object upperTerm ,
464+ public Query rangeQuery (String field , Object lowerTerm , Object upperTerm ,
466465 boolean includeLower , boolean includeUpper ,
467466 boolean hasDocValues ) {
468467 return INTEGER .rangeQuery (field , lowerTerm , upperTerm , includeLower , includeUpper , hasDocValues );
@@ -481,7 +480,7 @@ Number valueForSearch(Number value) {
481480 },
482481 SHORT ("short" , NumericType .SHORT ) {
483482 @ Override
484- Short parse (Object value , boolean coerce ) {
483+ public Short parse (Object value , boolean coerce ) {
485484 double doubleValue = objectToDouble (value );
486485
487486 if (doubleValue < Short .MIN_VALUE || doubleValue > Short .MAX_VALUE ) {
@@ -499,22 +498,22 @@ Short parse(Object value, boolean coerce) {
499498 }
500499
501500 @ Override
502- Short parse (XContentParser parser , boolean coerce ) throws IOException {
501+ public Short parse (XContentParser parser , boolean coerce ) throws IOException {
503502 return parser .shortValue (coerce );
504503 }
505504
506505 @ Override
507- Query termQuery (String field , Object value ) {
506+ public Query termQuery (String field , Object value ) {
508507 return INTEGER .termQuery (field , value );
509508 }
510509
511510 @ Override
512- Query termsQuery (String field , List <Object > values ) {
511+ public Query termsQuery (String field , List <Object > values ) {
513512 return INTEGER .termsQuery (field , values );
514513 }
515514
516515 @ Override
517- Query rangeQuery (String field , Object lowerTerm , Object upperTerm ,
516+ public Query rangeQuery (String field , Object lowerTerm , Object upperTerm ,
518517 boolean includeLower , boolean includeUpper ,
519518 boolean hasDocValues ) {
520519 return INTEGER .rangeQuery (field , lowerTerm , upperTerm , includeLower , includeUpper , hasDocValues );
@@ -533,7 +532,7 @@ Number valueForSearch(Number value) {
533532 },
534533 INTEGER ("integer" , NumericType .INT ) {
535534 @ Override
536- Integer parse (Object value , boolean coerce ) {
535+ public Integer parse (Object value , boolean coerce ) {
537536 double doubleValue = objectToDouble (value );
538537
539538 if (doubleValue < Integer .MIN_VALUE || doubleValue > Integer .MAX_VALUE ) {
@@ -551,12 +550,12 @@ Integer parse(Object value, boolean coerce) {
551550 }
552551
553552 @ Override
554- Integer parse (XContentParser parser , boolean coerce ) throws IOException {
553+ public Integer parse (XContentParser parser , boolean coerce ) throws IOException {
555554 return parser .intValue (coerce );
556555 }
557556
558557 @ Override
559- Query termQuery (String field , Object value ) {
558+ public Query termQuery (String field , Object value ) {
560559 if (hasDecimalPart (value )) {
561560 return Queries .newMatchNoDocsQuery ("Value [" + value + "] has a decimal part" );
562561 }
@@ -565,7 +564,7 @@ Query termQuery(String field, Object value) {
565564 }
566565
567566 @ Override
568- Query termsQuery (String field , List <Object > values ) {
567+ public Query termsQuery (String field , List <Object > values ) {
569568 int [] v = new int [values .size ()];
570569 int upTo = 0 ;
571570
@@ -586,7 +585,7 @@ Query termsQuery(String field, List<Object> values) {
586585 }
587586
588587 @ Override
589- Query rangeQuery (String field , Object lowerTerm , Object upperTerm ,
588+ public Query rangeQuery (String field , Object lowerTerm , Object upperTerm ,
590589 boolean includeLower , boolean includeUpper ,
591590 boolean hasDocValues ) {
592591 int l = Integer .MIN_VALUE ;
@@ -644,7 +643,7 @@ public List<Field> createFields(String name, Number value,
644643 },
645644 LONG ("long" , NumericType .LONG ) {
646645 @ Override
647- Long parse (Object value , boolean coerce ) {
646+ public Long parse (Object value , boolean coerce ) {
648647 if (value instanceof Long ) {
649648 return (Long )value ;
650649 }
@@ -665,12 +664,12 @@ Long parse(Object value, boolean coerce) {
665664 }
666665
667666 @ Override
668- Long parse (XContentParser parser , boolean coerce ) throws IOException {
667+ public Long parse (XContentParser parser , boolean coerce ) throws IOException {
669668 return parser .longValue (coerce );
670669 }
671670
672671 @ Override
673- Query termQuery (String field , Object value ) {
672+ public Query termQuery (String field , Object value ) {
674673 if (hasDecimalPart (value )) {
675674 return Queries .newMatchNoDocsQuery ("Value [" + value + "] has a decimal part" );
676675 }
@@ -679,7 +678,7 @@ Query termQuery(String field, Object value) {
679678 }
680679
681680 @ Override
682- Query termsQuery (String field , List <Object > values ) {
681+ public Query termsQuery (String field , List <Object > values ) {
683682 long [] v = new long [values .size ()];
684683 int upTo = 0 ;
685684
@@ -700,7 +699,7 @@ Query termsQuery(String field, List<Object> values) {
700699 }
701700
702701 @ Override
703- Query rangeQuery (String field , Object lowerTerm , Object upperTerm ,
702+ public Query rangeQuery (String field , Object lowerTerm , Object upperTerm ,
704703 boolean includeLower , boolean includeUpper ,
705704 boolean hasDocValues ) {
706705 long l = Long .MIN_VALUE ;
@@ -773,13 +772,13 @@ public final String typeName() {
773772 final NumericType numericType () {
774773 return numericType ;
775774 }
776- abstract Query termQuery (String field , Object value );
777- abstract Query termsQuery (String field , List <Object > values );
778- abstract Query rangeQuery (String field , Object lowerTerm , Object upperTerm ,
775+ public abstract Query termQuery (String field , Object value );
776+ public abstract Query termsQuery (String field , List <Object > values );
777+ public abstract Query rangeQuery (String field , Object lowerTerm , Object upperTerm ,
779778 boolean includeLower , boolean includeUpper ,
780779 boolean hasDocValues );
781- abstract Number parse (XContentParser parser , boolean coerce ) throws IOException ;
782- abstract Number parse (Object value , boolean coerce );
780+ public abstract Number parse (XContentParser parser , boolean coerce ) throws IOException ;
781+ public abstract Number parse (Object value , boolean coerce );
783782 public abstract List <Field > createFields (String name , Number value , boolean indexed ,
784783 boolean docValued , boolean stored );
785784 Number valueForSearch (Number value ) {
0 commit comments