@@ -355,9 +355,94 @@ public <K, V> Chain<Map<K, V>> toMap() {
355355 return new Chain <Map <K , V >>(U .toMap ((Iterable <Map .Entry <K , V >>) value ()));
356356 }
357357
358+ public Chain <T > drop () {
359+ return new Chain <T >(U .drop (value ()));
360+ }
361+
362+ public Chain <T > drop (final Integer n ) {
363+ return new Chain <T >(U .drop (value (), n ));
364+ }
365+
366+ public Chain <T > dropRight () {
367+ return new Chain <T >(U .dropRight (value ()));
368+ }
369+
370+ public Chain <T > dropRight (final Integer n ) {
371+ return new Chain <T >(U .dropRight (value (), n ));
372+ }
373+
374+ public Chain <T > dropWhile (final Predicate <T > pred ) {
375+ return new Chain <T >(U .dropWhile (value (), pred ));
376+ }
377+
378+ public Chain <T > dropRightWhile (final Predicate <T > pred ) {
379+ return new Chain <T >(U .dropRightWhile (value (), pred ));
380+ }
381+
382+ @ SuppressWarnings ("unchecked" )
383+ public Chain <Object > fill (final Object value ) {
384+ return new Chain <Object >(U .fill ((List <Object >) value (), value ));
385+ }
386+
358387 @ SuppressWarnings ("unchecked" )
359- public <T extends Number > Chain <T > sum () {
360- return new Chain <T >(U .sum ((List <T >) value ()));
388+ public Chain <Object > fill (final Object value , final Integer start , final Integer end ) {
389+ return new Chain <Object >(U .fill ((List <Object >) value (), value , start , end ));
390+ }
391+
392+ public Chain <Object > flattenDeep () {
393+ return new Chain <Object >(U .flattenDeep (value ()));
394+ }
395+
396+ @ SuppressWarnings ("unchecked" )
397+ public Chain <Object > pull (final Object ... values ) {
398+ return new Chain <Object >(U .pull ((List <Object >) value (), values ));
399+ }
400+
401+ @ SuppressWarnings ("unchecked" )
402+ public Chain <Object > pullAt (final Integer ... indexes ) {
403+ return new Chain <Object >(U .pullAt ((List <Object >) value (), indexes ));
404+ }
405+
406+ public Chain <T > remove (final Predicate <T > pred ) {
407+ return new Chain <T >(U .remove (value (), pred ));
408+ }
409+
410+ public Chain <T > take () {
411+ return new Chain <T >(U .take (value ()));
412+ }
413+
414+ public Chain <T > takeRight () {
415+ return new Chain <T >(U .takeRight (value ()));
416+ }
417+
418+ public Chain <T > take (final Integer n ) {
419+ return new Chain <T >(U .take (value (), n ));
420+ }
421+
422+ public Chain <T > takeRight (final Integer n ) {
423+ return new Chain <T >(U .takeRight (value (), n ));
424+ }
425+
426+ public Chain <T > takeWhile (final Predicate <T > pred ) {
427+ return new Chain <T >(U .takeWhile (value (), pred ));
428+ }
429+
430+ public Chain <T > takeRightWhile (final Predicate <T > pred ) {
431+ return new Chain <T >(U .takeRightWhile (value (), pred ));
432+ }
433+
434+ @ SuppressWarnings ("unchecked" )
435+ public Chain <T > xor (final List <T > list ) {
436+ return new Chain <T >(U .xor (value (), list ));
437+ }
438+
439+ public Chain <T > at (final Integer ... indexes ) {
440+ return new Chain <T >(U .at (value (), indexes ));
441+ }
442+
443+ @ SuppressWarnings ("unchecked" )
444+ public <F extends Number > Chain <F > sum () {
445+ return new Chain <F >(U .sum ((List <F >) value ()));
361446 }
362447
363448 public <F extends Number > Chain <F > sum (final Function <T , F > func ) {
@@ -374,12 +459,156 @@ public Chain<Double> median() {
374459 return new Chain <Double >(U .median ((List <Number >) value ()));
375460 }
376461
462+ public Chain <String > camelCase () {
463+ return new Chain <String >(U .camelCase ((String ) item ()));
464+ }
465+
466+ public Chain <String > lowerFirst () {
467+ return new Chain <String >(U .lowerFirst ((String ) item ()));
468+ }
469+
470+ public Chain <String > upperFirst () {
471+ return new Chain <String >(U .upperFirst ((String ) item ()));
472+ }
473+
474+ public Chain <String > capitalize () {
475+ return new Chain <String >(U .capitalize ((String ) item ()));
476+ }
477+
478+ public Chain <String > deburr () {
479+ return new Chain <String >(U .deburr ((String ) item ()));
480+ }
481+
482+ public Chain <Boolean > endsWith (final String target ) {
483+ return new Chain <Boolean >(U .endsWith ((String ) item (), target ));
484+ }
485+
486+ public Chain <Boolean > endsWith (final String target , final Integer position ) {
487+ return new Chain <Boolean >(U .endsWith ((String ) item (), target , position ));
488+ }
489+
490+ public Chain <String > kebabCase () {
491+ return new Chain <String >(U .kebabCase ((String ) item ()));
492+ }
493+
494+ public Chain <String > repeat (final int length ) {
495+ return new Chain <String >(U .repeat ((String ) item (), length ));
496+ }
497+
498+ public Chain <String > pad (final int length ) {
499+ return new Chain <String >(U .pad ((String ) item (), length ));
500+ }
501+
502+ public Chain <String > pad (final int length , final String chars ) {
503+ return new Chain <String >(U .pad ((String ) item (), length , chars ));
504+ }
505+
506+ public Chain <String > padStart (final int length ) {
507+ return new Chain <String >(U .padStart ((String ) item (), length ));
508+ }
509+
510+ public Chain <String > padStart (final int length , final String chars ) {
511+ return new Chain <String >(U .padStart ((String ) item (), length , chars ));
512+ }
513+
514+ public Chain <String > padEnd (final int length ) {
515+ return new Chain <String >(U .padEnd ((String ) item (), length ));
516+ }
517+
518+ public Chain <String > padEnd (final int length , final String chars ) {
519+ return new Chain <String >(U .padEnd ((String ) item (), length , chars ));
520+ }
521+
522+ public Chain <String > snakeCase () {
523+ return new Chain <String >(U .snakeCase ((String ) item ()));
524+ }
525+
526+ public Chain <String > startCase () {
527+ return new Chain <String >(U .startCase ((String ) item ()));
528+ }
529+
530+ public Chain <Boolean > startsWith (final String target ) {
531+ return new Chain <Boolean >(U .startsWith ((String ) item (), target ));
532+ }
533+
534+ public Chain <Boolean > startsWith (final String target , final Integer position ) {
535+ return new Chain <Boolean >(U .startsWith ((String ) item (), target , position ));
536+ }
537+
538+ public Chain <String > trim () {
539+ return new Chain <String >(U .trim ((String ) item ()));
540+ }
541+
542+ public Chain <String > trim (final String chars ) {
543+ return new Chain <String >(U .trim ((String ) item (), chars ));
544+ }
545+
546+ public Chain <String > trimStart () {
547+ return new Chain <String >(U .trimStart ((String ) item ()));
548+ }
549+
550+ public Chain <String > trimStart (final String chars ) {
551+ return new Chain <String >(U .trimStart ((String ) item (), chars ));
552+ }
553+
554+ public Chain <String > trimEnd () {
555+ return new Chain <String >(U .trimEnd ((String ) item ()));
556+ }
557+
558+ public Chain <String > trunc () {
559+ return new Chain <String >(U .trunc ((String ) item ()));
560+ }
561+
562+ public Chain <String > trunc (final int length ) {
563+ return new Chain <String >(U .trunc ((String ) item (), length ));
564+ }
565+
566+ public Chain <String > trimEnd (final String chars ) {
567+ return new Chain <String >(U .trimEnd ((String ) item (), chars ));
568+ }
569+
570+ public Chain <String > uncapitalize () {
571+ return new Chain <String >(U .uncapitalize ((String ) item ()));
572+ }
573+
574+ public Chain <String > words () {
575+ return new Chain <String >(U .words ((String ) item ()));
576+ }
577+
578+ public Chain <String > toJson () {
579+ return new Chain <String >(U .toJson ((Collection ) value ()));
580+ }
581+
582+ public Chain <Object > fromJson () {
583+ return new Chain <Object >(U .fromJson ((String ) item ()));
584+ }
585+
586+ public Chain <String > toXml () {
587+ return new Chain <String >(U .toXml ((Collection ) value ()));
588+ }
589+
590+ public Chain <Object > fromXml () {
591+ return new Chain <Object >(U .fromXml ((String ) item ()));
592+ }
593+
594+ public Chain <String > fetch () {
595+ return new Chain <String >(U .fetch ((String ) item ()).text ());
596+ }
597+
598+ public Chain <String > fetch (final String method , final String body ) {
599+ return new Chain <String >(U .fetch ((String ) item (), method , body ).text ());
600+ }
601+
377602 @ SuppressWarnings ("unchecked" )
378603 public Chain <List <T >> createPermutationWithRepetition (final int permutationLength ) {
379604 return new Chain <List <T >>(U .createPermutationWithRepetition ((List <T >) value (), permutationLength ));
380605 }
381606 }
382607
608+ public static Chain <String > chain (final String item ) {
609+ return new U .Chain <String >(item );
610+ }
611+
383612 public static <T > Chain <T > chain (final List <T > list ) {
384613 return new U .Chain <T >(list );
385614 }
0 commit comments