210210import org .jooby .funzy .Throwing ;
211211import org .jooby .internal .CookieImpl ;
212212
213+ import javax .annotation .Nonnull ;
214+ import javax .annotation .Nullable ;
213215import javax .crypto .Mac ;
214216import javax .crypto .spec .SecretKeySpec ;
215217import java .net .URLDecoder ;
@@ -387,6 +389,7 @@ public Definition(final String name) {
387389 *
388390 * @return A new cookie.
389391 */
392+ @ Nonnull
390393 public Cookie toCookie () {
391394 return new CookieImpl (this );
392395 }
@@ -402,6 +405,7 @@ public String toString() {
402405 * @param name A cookie's name.
403406 * @return This definition.
404407 */
408+ @ Nonnull
405409 public Definition name (final String name ) {
406410 this .name = requireNonNull (name , "A cookie name is required." );
407411 return this ;
@@ -410,6 +414,7 @@ public Definition name(final String name) {
410414 /**
411415 * @return Cookie's name.
412416 */
417+ @ Nonnull
413418 public Optional <String > name () {
414419 return Optional .ofNullable (name );
415420 }
@@ -420,6 +425,7 @@ public Optional<String> name() {
420425 * @param value A value.
421426 * @return This definition.
422427 */
428+ @ Nonnull
423429 public Definition value (final String value ) {
424430 this .value = requireNonNull (value , "A cookie value is required." );
425431 return this ;
@@ -428,6 +434,7 @@ public Definition value(final String value) {
428434 /**
429435 * @return Cookie's value.
430436 */
437+ @ Nonnull
431438 public Optional <String > value () {
432439 if (Strings .isNullOrEmpty (value )) {
433440 return Optional .empty ();
@@ -441,6 +448,7 @@ public Optional<String> value() {
441448 * @param domain Cookie's domain.
442449 * @return This definition.
443450 */
451+ @ Nonnull
444452 public Definition domain (final String domain ) {
445453 this .domain = requireNonNull (domain , "A cookie domain is required." );
446454 return this ;
@@ -449,6 +457,7 @@ public Definition domain(final String domain) {
449457 /**
450458 * @return A cookie's domain.
451459 */
460+ @ Nonnull
452461 public Optional <String > domain () {
453462 return Optional .ofNullable (domain );
454463 }
@@ -459,6 +468,7 @@ public Optional<String> domain() {
459468 * @param path Cookie's path.
460469 * @return This definition.
461470 */
471+ @ Nonnull
462472 public Definition path (final String path ) {
463473 this .path = requireNonNull (path , "A cookie path is required." );
464474 return this ;
@@ -467,6 +477,7 @@ public Definition path(final String path) {
467477 /**
468478 * @return Get cookie's path.
469479 */
480+ @ Nonnull
470481 public Optional <String > path () {
471482 return Optional .ofNullable (path );
472483 }
@@ -477,6 +488,7 @@ public Optional<String> path() {
477488 * @param comment A cookie's comment.
478489 * @return This definition.
479490 */
491+ @ Nonnull
480492 public Definition comment (final String comment ) {
481493 this .comment = requireNonNull (comment , "A cookie comment is required." );
482494 return this ;
@@ -485,6 +497,7 @@ public Definition comment(final String comment) {
485497 /**
486498 * @return Cookie's comment.
487499 */
500+ @ Nonnull
488501 public Optional <String > comment () {
489502 return Optional .ofNullable (comment );
490503 }
@@ -495,6 +508,7 @@ public Optional<String> comment() {
495508 * @param httpOnly True, for HTTP Only.
496509 * @return This definition.
497510 */
511+ @ Nonnull
498512 public Definition httpOnly (final boolean httpOnly ) {
499513 this .httpOnly = httpOnly ;
500514 return this ;
@@ -503,6 +517,7 @@ public Definition httpOnly(final boolean httpOnly) {
503517 /**
504518 * @return HTTP only flag.
505519 */
520+ @ Nonnull
506521 public Optional <Boolean > httpOnly () {
507522 return Optional .ofNullable (httpOnly );
508523 }
@@ -513,6 +528,7 @@ public Optional<Boolean> httpOnly() {
513528 * @param secure True, ensure that the session cookie is only transmitted via HTTPS.
514529 * @return This definition.
515530 */
531+ @ Nonnull
516532 public Definition secure (final boolean secure ) {
517533 this .secure = secure ;
518534 return this ;
@@ -521,6 +537,7 @@ public Definition secure(final boolean secure) {
521537 /**
522538 * @return True, ensure that the session cookie is only transmitted via HTTPS.
523539 */
540+ @ Nonnull
524541 public Optional <Boolean > secure () {
525542 return Optional .ofNullable (secure );
526543 }
@@ -543,6 +560,7 @@ public Optional<Boolean> secure() {
543560 * means the cookie is not stored; if zero, deletes the cookie.
544561 * @return This definition.
545562 */
563+ @ Nonnull
546564 public Definition maxAge (final int maxAge ) {
547565 this .maxAge = maxAge ;
548566 return this ;
@@ -564,6 +582,7 @@ public Definition maxAge(final int maxAge) {
564582 *
565583 * @return Cookie's max age in seconds.
566584 */
585+ @ Nonnull
567586 public Optional <Integer > maxAge () {
568587 return Optional .ofNullable (maxAge );
569588 }
@@ -608,6 +627,7 @@ public class Signature {
608627 * @param secret A secret key.
609628 * @return A signed value.
610629 */
630+ @ Nonnull
611631 public static String sign (final String value , final String secret ) {
612632 requireNonNull (value , "A value is required." );
613633 requireNonNull (secret , "A secret is required." );
@@ -628,8 +648,9 @@ public static String sign(final String value, final String secret) {
628648 *
629649 * @param value A signed value.
630650 * @param secret A secret key.
631- * @return A new signed value.
651+ * @return A new signed value or null .
632652 */
653+ @ Nullable
633654 public static String unsign (final String value , final String secret ) {
634655 requireNonNull (value , "A value is required." );
635656 requireNonNull (secret , "A secret is required." );
@@ -659,21 +680,25 @@ public static boolean valid(final String value, final String secret) {
659680 /**
660681 * @return Cookie's name.
661682 */
683+ @ Nonnull
662684 String name ();
663685
664686 /**
665687 * @return Cookie's value.
666688 */
689+ @ Nonnull
667690 Optional <String > value ();
668691
669692 /**
670693 * @return An optional comment.
671694 */
695+ @ Nonnull
672696 Optional <String > comment ();
673697
674698 /**
675699 * @return Cookie's domain.
676700 */
701+ @ Nonnull
677702 Optional <String > domain ();
678703
679704 /**
@@ -692,6 +717,7 @@ public static boolean valid(final String value, final String secret) {
692717 /**
693718 * @return Cookie's path.
694719 */
720+ @ Nonnull
695721 Optional <String > path ();
696722
697723 /**
@@ -710,5 +736,6 @@ public static boolean valid(final String value, final String secret) {
710736 /**
711737 * @return Encode the cookie.
712738 */
739+ @ Nonnull
713740 String encode ();
714741}
0 commit comments