< prev index next >

src/java.base/share/classes/java/util/Calendar.java

Print this page




3562             if (fields == null) {
3563                 fields = new int[FIELD_COUNT];
3564             }
3565             if (isSet == null) {
3566                 isSet = new boolean[FIELD_COUNT];
3567             }
3568         }
3569         else if (serialVersionOnStream >= 0)
3570         {
3571             for (int i=0; i<FIELD_COUNT; ++i) {
3572                 stamp[i] = isSet[i] ? COMPUTED : UNSET;
3573             }
3574         }
3575 
3576         serialVersionOnStream = currentSerialVersion;
3577 
3578         // If there's a ZoneInfo object, use it for zone.
3579         ZoneInfo zi = null;
3580         try {
3581             zi = AccessController.doPrivileged(
3582                     new PrivilegedExceptionAction<ZoneInfo>() {
3583                         @Override
3584                         public ZoneInfo run() throws Exception {
3585                             return (ZoneInfo) input.readObject();
3586                         }
3587                     },
3588                     CalendarAccessControlContext.INSTANCE);
3589         } catch (PrivilegedActionException pae) {
3590             Exception e = pae.getException();
3591             if (!(e instanceof OptionalDataException)) {
3592                 if (e instanceof RuntimeException) {
3593                     throw (RuntimeException) e;
3594                 } else if (e instanceof IOException) {
3595                     throw (IOException) e;
3596                 } else if (e instanceof ClassNotFoundException) {
3597                     throw (ClassNotFoundException) e;
3598                 }
3599                 throw new RuntimeException(e);
3600             }
3601         }
3602         if (zi != null) {




3562             if (fields == null) {
3563                 fields = new int[FIELD_COUNT];
3564             }
3565             if (isSet == null) {
3566                 isSet = new boolean[FIELD_COUNT];
3567             }
3568         }
3569         else if (serialVersionOnStream >= 0)
3570         {
3571             for (int i=0; i<FIELD_COUNT; ++i) {
3572                 stamp[i] = isSet[i] ? COMPUTED : UNSET;
3573             }
3574         }
3575 
3576         serialVersionOnStream = currentSerialVersion;
3577 
3578         // If there's a ZoneInfo object, use it for zone.
3579         ZoneInfo zi = null;
3580         try {
3581             zi = AccessController.doPrivileged(
3582                     new PrivilegedExceptionAction<>() {
3583                         @Override
3584                         public ZoneInfo run() throws Exception {
3585                             return (ZoneInfo) input.readObject();
3586                         }
3587                     },
3588                     CalendarAccessControlContext.INSTANCE);
3589         } catch (PrivilegedActionException pae) {
3590             Exception e = pae.getException();
3591             if (!(e instanceof OptionalDataException)) {
3592                 if (e instanceof RuntimeException) {
3593                     throw (RuntimeException) e;
3594                 } else if (e instanceof IOException) {
3595                     throw (IOException) e;
3596                 } else if (e instanceof ClassNotFoundException) {
3597                     throw (ClassNotFoundException) e;
3598                 }
3599                 throw new RuntimeException(e);
3600             }
3601         }
3602         if (zi != null) {


< prev index next >