org.universAAL.middleware.context
Class ContextEventPattern
java.lang.Object
org.universAAL.middleware.rdf.Resource
org.universAAL.middleware.rdf.FinalizedResource
org.universAAL.middleware.context.ContextEventPattern
- All Implemented Interfaces:
- Advertisement, EventAdvertisement, Matchable, Requirement, Subscription
- Direct Known Subclasses:
- Pattern
public class ContextEventPattern
- extends FinalizedResource
- implements EventAdvertisement, Subscription
Defines the patterns used to match which events must be forwarded to which
subscribers.
Patterns are basically a collection of Restrictions upon a generic Context
Event that delimit and therefore narrow the specific Events a Subscriber will
be interested in.
- Author:
- mtazari - Saied
Tazari
Fields inherited from class org.universAAL.middleware.rdf.Resource |
ANON_URI_PREFIX, blockAddingTypes, isXMLLiteral, ns_delim_index, PROP_RDF_FIRST, PROP_RDF_REST, PROP_RDF_TYPE, PROP_RDFS_COMMENT, PROP_RDFS_LABEL, PROP_SERIALIZATION_FULL, PROP_SERIALIZATION_OPTIONAL, PROP_SERIALIZATION_REDUCED, PROP_SERIALIZATION_UNDEFINED, PROP_uAAL_INVOLVED_HUMAN_USER, props, RDF_EMPTY_LIST, RDF_NAMESPACE, RDFS_NAMESPACE, TYPE_RDF_LIST, TYPE_RDFS_CLASS, uAAL_NAMESPACE_PREFIX, uAAL_SERVICE_NAMESPACE, uAAL_VOCABULARY_NAMESPACE, uri |
Methods inherited from class org.universAAL.middleware.rdf.FinalizedResource |
addType, getLocalName, getNamespace, getProperty, getPropertyURIs, getType, getTypes, getURI, hasQualifiedName, isAnon, numberOfProperties |
Methods inherited from class org.universAAL.middleware.rdf.Resource |
addMultiLangProp, asList, asList, asRDFList, changeProperty, copy, deepCopy, equals, generateAnonURI, getDefaultLang, getFilename, getMultiLangProp, getOrConstructLabel, getPropSerializationType, getResource, getResourceComment, getResourceLabel, getStaticFieldValue, hashCode, hasProperty, isAnon, isBlockingAddingTypes, isQualifiedName, literal, representsQualifiedURI, serializesAsXMLLiteral, setPropertyPath, setPropertyPath, setPropertyPathFromOffset, setResourceComment, setResourceLabel, toString, toStringRecursive, toStringRecursive, unliteral |
MY_URI
public static final String MY_URI
- See Also:
- Constant Field Values
ContextEventPattern
public ContextEventPattern()
ContextEventPattern
public ContextEventPattern(String instanceURI)
addRestriction
public boolean addRestriction(MergedRestriction r)
- Add a restriction to the pattern, thus narrowing the events that will
match the pattern.
- Parameters:
r
- The Restriction to add
- Throws:
NullPointerException
- if the restriction is null
getIndices
public ContextEventPattern.Indices getIndices()
isClosedCollection
public boolean isClosedCollection(String propURI)
- Description copied from class:
Resource
- Returns true if the value of the given property should be treated as an
rdf:List. Serializers can use this to determine if a multi-valued
property should be serialized using the concept of rdf:List or the
property should appear as often as the number of values assigned to the
property. The default behavior is that a property associated with an
instance of
List
is assumed to be a closed collection
(unless it is specifically an instance of OpenCollection
).
Subclasses can change this, if needed.
- Overrides:
isClosedCollection
in class Resource
- See Also:
Resource.isClosedCollection(java.lang.String)
isWellFormed
public boolean isWellFormed()
- Description copied from class:
Resource
- Returns true, if the state of the resource is valid, otherwise false.
Subclasses should overwrite this methods as the default implementation
returns always true.
- Overrides:
isWellFormed
in class Resource
setProperty
public boolean setProperty(String propURI,
Object property)
- Description copied from class:
Resource
- Adds a statement with this resource as the subject, the given
propURI
as the predicate and the given value as the object.
Subclasses must override this in order to decide if the statement to be
added fits the general class constraints. If not, the call of this method
should be ignored. For each property only one single call may be made to
this method, unless subsequent calls to this method for setting the value
of the same property are treated as an update for an update-able
property. Multi-valued properties must be set using an instance of
List
. The differentiation, if a such list should be
treated as an rdf:List, can be made with the help of
Resource.isClosedCollection(String)
. The default implementation here
accepts all property-value pairs blindly except for rdf:type which is
handled if the value is a type URI, a Resource or a java.util.List of
them.
Note: The setting of the property rdf:type is being handled by this class
via the final methods Resource.addType(String, boolean)
,
Resource.getType()
, and Resource.getTypes()
. Although these methods give
the view of handling type URIs as strings, but in reality the types are
stored as direct instances of this class. So, the subclasses should
ignore calls for setting rdf:type; if not, then the subclass must pay
attention that the value should be a List
of direct instances of
this class so that (1) the Resource.toString()
method returns just the
URI and (2) the serializers get no problems with the value. Also,
settings via subclasses may be overwritten by this class if a subsequent
call to Resource.addType(String, boolean)
is made.
- Overrides:
setProperty
in class Resource
- Returns:
- true if the property changed as a result of the call
matches
public boolean matches(Matchable subset)
- Specified by:
matches
in interface Matchable
- Returns:
- true if the other Matchable matches, false if
not
- See Also:
Matchable.matches(Matchable)
matches
public boolean matches(ContextEvent ce)
matches
public boolean matches(ContextEventPattern subset)
- Parameters:
pattern
- the ContextEventPattern to match
- Returns:
- true if the pattern matches, false if not
Copyright © 2014 universAAL Consortium. All Rights Reserved.