|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--java.rmi.constraint.ClientMinPrincipalType
Represents a constraint on the client, such that if the client authenticates itself, then it must authenticate itself such that, for each specified class, at least one authenticated principal is an instance of that class.
The use of an instance of this constraint does not directly imply a
ClientAuthentication.YES
constraint; that
must be specified separately to ensure that the client actually
authenticates itself.
AuthenticationPermission
, Serialized FormConstructor Summary | |
ClientMinPrincipalType(java.lang.Class clazz)
Creates a constraint containing the specified class. |
|
ClientMinPrincipalType(java.lang.Class[] classes)
Creates a constraint containing the specified classes, with redundant classes removed. |
|
ClientMinPrincipalType(java.util.Collection c)
Creates a constraint containing the specified classes, with redundant classes removed. |
Method Summary | |
java.util.Set |
elements()
Returns an immutable set of all of the classes. |
boolean |
equals(java.lang.Object obj)
Two instances of this class are equal if they have the same classes (ignoring order). |
int |
hashCode()
Returns a hash code value for this object. |
SecurityConstraint |
reduceBy(SecurityConstraint c)
Returns the smallest representable subset of this constraint that contains the intersection of this constraint with the specified constraint, or null if there is no intersection. |
java.lang.String |
toString()
Returns a string representation of this object. |
Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Constructor Detail |
public ClientMinPrincipalType(java.lang.Class clazz)
clazz
- the classjava.lang.IllegalArgumentException
- if the parameter is not a trusted
principal class or a supertype, or the parameter is a degenerate class
(java.security.Principal
, Object
or
java.io.Serializable
)NullPointerException
- if the parameter is null
public ClientMinPrincipalType(java.lang.Class[] classes)
c1
and c2
, if
c1.isAssignableFrom(c2)
is true
, then
c1
is removed. That is, duplicates and supertypes are
removed. The parameter passed to the constructor is neither modified
nor retained; subsequent changes to that parameter have no effect on
the instance created.classes
- the classesjava.lang.IllegalArgumentException
- if the parameter is empty, or the
elements are not all trusted principal classes or supertypes, or any
element is a degenerate class (java.security.Principal
,
Object
or java.io.Serializable
)NullPointerException
- if the parameter is null
or
any element is null
public ClientMinPrincipalType(java.util.Collection c)
c1
and c2
, if
c1.isAssignableFrom(c2)
is true
, then
c1
is removed. That is, duplicates and supertypes are
removed. The parameter passed to the constructor is neither modified
nor retained; subsequent changes to that parameter have no effect on
the instance created.classes
- the classesjava.lang.IllegalArgumentException
- if the parameter is empty, or the
elements are not all trusted principal classes or supertypes, or any
element is a degenerate class (java.security.Principal
,
Object
or java.io.Serializable
)NullPointerException
- if the parameter is null
or
any element is null
Method Detail |
public java.util.Set elements()
UnsupportedOperationException
being thrown.public SecurityConstraint reduceBy(SecurityConstraint c)
null
if there is no intersection.
For any instances c1
and c2
of this class,
c1.reduceBy(c2)
returns a
ClientMinPrincipalType
constructed from the combined
classes of both c1
and c2
, with redundant
classes removed as specified for the constructors of this class.
For any instance c1
of this class and any
ClientMinPrincipal
instance c2
,
c1.reduceBy(c2)
returns c2
if
for every class t
in c1
there exists a
principal in c2
that is an instance of t
.
Otherwise, the result is a ClientMinPrincipalType
instance
constructed from the collection containing every class in
c1
and the concrete class of each principal in
c2
.
For any instance c1
of this class and any
ClientMaxPrincipal
instance c2
,
c1.reduceBy(c2)
returns null
if there exists
a class t
in c1
such that no principal
in c2
is an instance of t
. Otherwise, the
result is a ClientMinPrincipal
instance containing each
principal in c2
that is an instance of at least one class
in c1
.
For any instance c1
of this class and any
ClientMaxPrincipalType
instance c2
,
c1.reduceBy(c2)
returns null
if there
exists a class t1
in c1
such that for
every class t2
in c2
, both
t1.isAssignableFrom(t2)
and
t2.isAssignableFrom(t1)
are false
. Otherwise,
the result is a ClientMinPrincipalType
instance
constructed from the following collection. For each class
t1
in c1
, if there is a class t2
in c2
such that t2.isAssignableFrom(t1)
is
true
, then t1
is added to the collection,
otherwise a set is formed of all classes t2
in
c2
that are subtypes of t1
and the trusted
least common ancestors of that set are added to the collection. A
class c
is a trusted common ancestor of a set of classes
if c
is a trusted principal class (or a supertype) and for
each class t
in the set,
c.isAssignableFrom(t)
is true
. A class
c
is a trusted least common ancestor of a set of classes
if c
is a trusted common ancestor of the set and no
subclass of c
is a trusted common ancestor of the set.
For any instance c
of this class,
c.reduceBy(ClientAuthentication.NO)
returns
ClientAuthentication.NO
.
For any instance c1
of this class and any
ConstraintAlternatives
instance c2
containing instances of this class, c1.reduceBy(c2)
returns the result of calling
ConstraintAlternatives.create
with all of the
values returned by c1.reduceBy(c)
for each element
c
of c2
.
For any instance c1
of this class and any
ConstraintAlternatives
instance c2
containing ClientMinPrincipal
instances,
c1.reduceBy(c2)
returns the result of calling
ConstraintAlternatives.create
with a collection formed
as follows. The collection initially contains the values returned by
c1.reduceBy(c)
for each element c
of
c2
. If the collection contains both
ClientMinPrincipal
and ClientMinPrincipalType
instances, then each ClientMinPrincipal
instance
m
in the collection is replaced with a
ClientMinPrincipalType
instance constructed from the
collection containing the concrete class of each principal in
m
.
For any instance c1
of this class and any
ConstraintAlternatives
instance c2
containing ClientMaxPrincipal
or
ClientMaxPrincipalType
instances,
c1.reduceBy(c2)
returns the result of calling
ConstraintAlternatives.create
with a collection
containing the non-null
values returned by
c1.reduceBy(c)
for each element c
of
c2
, or null
if there are no
non-null
values.
For any instance c1
of this class and any other constraint
instance c2
not previously mentioned,
c1.reduceBy(c2)
returns c1
.
reduceBy
in interface SecurityConstraint
java.rmi.constraint.SecurityConstraint
c
- a constraintnull
if
there is no intersectionpublic int hashCode()
hashCode
in class java.lang.Object
public boolean equals(java.lang.Object obj)
equals
in class java.lang.Object
public java.lang.String toString()
toString
in class java.lang.Object
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |