public enum AtomicInputValidation extends Enum<AtomicInputValidation> implements InvocationConstraint
ObjectInput
and
ObjectOutput
, covering data transmitted in band as part
of the remote call itself.
If an invariant violation on in-band data is detected during a remote
call, a InvalidObjectException
will be thrown, construction of the Object
in question will fail atomically
(in the client or in the server, depending on which side detected the violation).
Invariant validation is fine grained, which means every Object in the
graph must have its invariants satisfied, prior to java.lang.Object's
constructor being called. This ensures that an object instance cannot be
created if invariants are not satisfied.
Java's standard ObjectOutputStream
and ObjectInputStream
check invariants after construction, circular links and finalizers allow
an attacker to obtain references to partially constructed objects before
invariants have been checked.
Serialization for this class is guaranteed to produce instances that are
comparable with ==
.
Modifier and Type | Method and Description |
---|---|
String |
toString() |
static AtomicInputValidation |
valueOf(String name)
Returns the enum constant of this type with the specified name.
|
static AtomicInputValidation[] |
values()
Returns an array containing the constants of this enum type, in
the order they are declared.
|
public static final AtomicInputValidation YES
public static final AtomicInputValidation NO
public static AtomicInputValidation[] values()
for (AtomicInputValidation c : AtomicInputValidation.values()) System.out.println(c);
public static AtomicInputValidation valueOf(String name)
name
- the name of the enum constant to be returned.IllegalArgumentException
- if this enum type has no constant with the specified nameNullPointerException
- if the argument is nullpublic String toString()
toString
in class Enum<AtomicInputValidation>
Copyright © 2016–2018 The Apache Software Foundation. All rights reserved.