Class OslcProperties
- java.lang.Object
-
- com.sodius.oslc.server.process.OslcProperties
-
public class OslcProperties extends Object
Provides support for selective property values through the "oslc.properties" query parameter of a servlet request.This class defines methods to determine whether a specific OSLC property is to include in a GET response, to obtain a partial resource retrieval. It is also used to determine if such property is to include when a PUT request is received, to support a partial resource update.
The "oslc.properties" query parameter is a comma separated list of prefixed properties, e.g.
oslc.properties=dcterms:title,oslc:details.The "oslc.prefix" query parameter, if any, is a comma separated list of namespaces associated to prefixes, e.g.
oslc.prefix=dc=<http://purl.org/dc/terms/>,foaf=<http://xmlns.com/foaf/0.1/>. If not present, the following well known prefixes are supported:rdf,rdfs,foaf,oslc,oslc_am,oslc_cm,oslc_qm,oslc_rm.Note that if the "oslc.properties" is absent or its value is
*, thecontains()methods always return true.This class does not support nested properties, i.e. OSLC properties for nested resources defined with
'{'and'}'characters in the "oslc.properties" query parameter.Typical usage is:
OslcProperties properties = OslcProperties.of(request); if (properties.contains("dcterms:title")) { ... }orOslcProperties properties = OslcProperties.of(request); if (properties.contains(Dcterms.PROPERTY_TITLE)) { ... }- Since:
- 1.5.0
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancontains(String property)Determines if the specified property is included in the "oslc.properties" query parameter.booleancontains(URI property)Determines if the specified property is included in the "oslc.properties" query parameter.booleancontains(QName property)Determines if the specified property is included in the "oslc.properties" query parameter.static OslcPropertiesof(HttpServletRequest request)Returns an instance that wraps the specified servlet request.
-
-
-
Method Detail
-
of
public static OslcProperties of(HttpServletRequest request)
Returns an instance that wraps the specified servlet request.- Parameters:
request- a servlet request.- Returns:
- a new OslcProperties instance.
- Throws:
WebApplicationException- if the "oslc.prefix" query parameter is present and its value has syntax issues.
-
contains
public boolean contains(String property)
Determines if the specified property is included in the "oslc.properties" query parameter. The property may be a prefixed name (e.g. "dcterms:title") or a full name (e.g. "http://purl.org/dc/terms/title").- Parameters:
property- the property to test, which may be a prefixed name (e.g. "dcterms:title") or a full name (e.g. "http://purl.org/dc/terms/title").- Returns:
trueif the specified property is included in the "oslc.properties" query parameter or if "oslc.properties" is not set,falseotherwise.
-
contains
public boolean contains(QName property)
Determines if the specified property is included in the "oslc.properties" query parameter.- Parameters:
property- the property to test.- Returns:
trueif the specified property is included in the "oslc.properties" query parameter or if "oslc.properties" is not set,falseotherwise.
-
contains
public boolean contains(URI property)
Determines if the specified property is included in the "oslc.properties" query parameter.- Parameters:
property- the property to test.- Returns:
trueif the specified property is included in the "oslc.properties" query parameter or if "oslc.properties" is not set,falseotherwise.
-
-