Package io.milton.property
Interface PropertySource
public interface PropertySource
Defines a source of properties. This is used by both PROPFIND and PROPPATCH
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic enumstatic classstatic classException from setting a field -
Method Summary
Modifier and TypeMethodDescriptionvoidclearProperty(QName name, Resource r) Remove the given property.getProperty(QName name, Resource r) Return the typed value of the given property.getPropertyMetaData(QName name, Resource r) Check to see if the property is known, and if it is writable.voidsetProperty(QName name, Object value, Resource r) Update the given property to the value given.
-
Method Details
-
getProperty
Return the typed value of the given property. For example, if the property is a date/time value it should generally return a java.util.Date. Milton will take care of formatting types values into XML responses. If the current user cannot read the requested property throw a NotAuthorizedException, this will set the appropriate status against this- Parameters:
name-r-- Returns:
- Throws:
io.milton.http.exceptions.NotAuthorizedException
-
setProperty
void setProperty(QName name, Object value, Resource r) throws PropertySource.PropertySetException, io.milton.http.exceptions.NotAuthorizedException Update the given property to the value given. If the value is invalid throw a PropertySetException, and if the user is not permitted to update the property throw a NotAuthorizedException- Parameters:
name-value-r-- Throws:
com.bradmcevoy.property.PropertySource.PropertySetExceptionio.milton.http.exceptions.NotAuthorizedExceptionPropertySource.PropertySetException
-
getPropertyMetaData
PropertySource.PropertyMetaData getPropertyMetaData(QName name, Resource r) throws io.milton.http.exceptions.NotAuthorizedException, io.milton.http.exceptions.BadRequestException Check to see if the property is known, and if it is writable. The returned value also contains a class which is the most specific known class of the values which can be contained in this property. This class must be sufficient to locate a ValueWriter to parse the textual representation sent in PROPPATCH requests.- Parameters:
name- - the qualified name of the propertyr- - the resource which might contain the property- Returns:
- - never null, contains an enum value indicating if the property is known to this source, and if it is writable, and a class indicating the type of the property.
- Throws:
io.milton.http.exceptions.NotAuthorizedExceptionio.milton.http.exceptions.BadRequestException
-
clearProperty
void clearProperty(QName name, Resource r) throws PropertySource.PropertySetException, io.milton.http.exceptions.NotAuthorizedException Remove the given property. There may be a semantic difference in some cases between setting a property to a null value vs removing the property. Generally this should completely the remove the property if possible.- Parameters:
name-r-- Throws:
PropertySource.PropertySetExceptionio.milton.http.exceptions.NotAuthorizedException
-
getAllPropertyNames
List<QName> getAllPropertyNames(Resource r) throws io.milton.http.exceptions.NotAuthorizedException, io.milton.http.exceptions.BadRequestException - Parameters:
r- - the resource which may contain properties- Returns:
- - all properties known by this source on the given resource. This list should be exclusive. Ie only return properties not returned by any other source
- Throws:
io.milton.http.exceptions.NotAuthorizedExceptionio.milton.http.exceptions.BadRequestException
-