< prev index next >

src/share/classes/sun/rmi/server/MarshalInputStream.java

Print this page
rev 12533 : 8174109: Better queuing priorities
Reviewed-by: smarks


 314     }
 315 
 316     /**
 317      * Set a flag to indicate that the superclass's default resolveClass()
 318      * implementation should not be invoked by our resolveClass().
 319      */
 320     void skipDefaultResolveClass() {
 321         skipDefaultResolveClass = true;
 322     }
 323 
 324     /**
 325      * Disable code downloading except from the URL specified by the
 326      * "java.rmi.server.codebase" property.
 327      */
 328     void useCodebaseOnly() {
 329         useCodebaseOnly = true;
 330     }
 331 
 332     synchronized void setStreamChecker(StreamChecker checker) {
 333         streamChecker = checker;
 334         SharedSecrets.getJavaObjectInputStreamAccess().setValidator(this, checker);
 335     }
 336     @Override
 337     protected ObjectStreamClass readClassDescriptor() throws IOException,
 338             ClassNotFoundException {
 339         ObjectStreamClass descriptor = super.readClassDescriptor();
 340 
 341         validateDesc(descriptor);
 342 
 343         return descriptor;
 344     }
 345 
 346     private void validateDesc(ObjectStreamClass descriptor) {
 347         StreamChecker checker;
 348         synchronized (this) {
 349             checker = streamChecker;
 350         }
 351         if (checker != null) {
 352             checker.validateDescriptor(descriptor);
 353         }
 354     }


 314     }
 315 
 316     /**
 317      * Set a flag to indicate that the superclass's default resolveClass()
 318      * implementation should not be invoked by our resolveClass().
 319      */
 320     void skipDefaultResolveClass() {
 321         skipDefaultResolveClass = true;
 322     }
 323 
 324     /**
 325      * Disable code downloading except from the URL specified by the
 326      * "java.rmi.server.codebase" property.
 327      */
 328     void useCodebaseOnly() {
 329         useCodebaseOnly = true;
 330     }
 331 
 332     synchronized void setStreamChecker(StreamChecker checker) {
 333         streamChecker = checker;
 334         SharedSecrets.getJavaOISAccess().setValidator(this, checker);
 335     }
 336     @Override
 337     protected ObjectStreamClass readClassDescriptor() throws IOException,
 338             ClassNotFoundException {
 339         ObjectStreamClass descriptor = super.readClassDescriptor();
 340 
 341         validateDesc(descriptor);
 342 
 343         return descriptor;
 344     }
 345 
 346     private void validateDesc(ObjectStreamClass descriptor) {
 347         StreamChecker checker;
 348         synchronized (this) {
 349             checker = streamChecker;
 350         }
 351         if (checker != null) {
 352             checker.validateDescriptor(descriptor);
 353         }
 354     }
< prev index next >