Package io.milton.principal
Interface Principal
- All Known Subinterfaces:
CalDavPrincipal,CardDavPrincipal,DavPrincipal,DirectoryGatewayCardDavPrincipal,DiscretePrincipal
- All Known Implementing Classes:
DavPrincipals.AbstractDavPrincipal,DavPrincipals.AllDavPrincipal,DavPrincipals.AuthenticatedDavPrincipal,DavPrincipals.UnAuthenticatedDavPrincipal
public interface Principal
Marker interface to identify those classes which can act as a Principal. This can be a user or a group
An absolute minimum requirement for a Principal is to be able to identify it, and
this is represented by the sole method on this interface which is getIdentifier.
Note that some Principals are defined by the webdav protocol so must be subject
to explicit processing requirements. For this reason the principle identifier
is a structured type which can be associated with a namespace and well known
names within that namespace.
There are 2 types of Principal
- Discrete: identifies a particular resource, which might be a user or group. Users are always discrete, groups may be
physical resources in which case they are represented as discrete resources. But groups may also be dynamically evaluated..
- DAV: a dynamically evaluated group as defined by the ACL spec. Eg the Authenticated group matches any user
with an authenticated request. A dynamically evaluated group defined by the protocol is not
a physical resource do does not have a corresponding href
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interfaceA principleId represents a unique identifier for a principle. -
Method Summary
Modifier and TypeMethodDescriptionA means to identify the principle to webdav clients
-
Method Details
-
getIdenitifer
Principal.PrincipleId getIdenitifer()A means to identify the principle to webdav clients- Returns:
-