org.universAAL.middleware.api.impl
Class SimplifiedApiService

Package class diagram package SimplifiedApiService
java.lang.Object
  extended by org.universAAL.middleware.rdf.Resource
      extended by org.universAAL.middleware.rdf.FinalizedResource
          extended by org.universAAL.middleware.owl.ManagedIndividual
              extended by org.universAAL.middleware.service.owl.Service
                  extended by org.universAAL.middleware.api.impl.SimplifiedApiService

public class SimplifiedApiService
extends Service

This is a simple helper class used for generating the profiles in the persona way. As all methods for creating outputs,inputs, and change effects in Service class are protected it was necessary to extend it.

Author:
dzmuda

Field Summary
 String MY_URI
           
static String temporalUri
          This field is used only for purpose of createService factory method.
 
Fields inherited from class org.universAAL.middleware.service.owl.Service
instanceLevelRestrictions, myProfile, numberOfValueRestrictions, OWLS_NAMESPACE_PREFIX, OWLS_SERVICE_NAMESPACE, PROP_INSTANCE_LEVEL_RESTRICTIONS, PROP_NUMBER_OF_VALUE_RESTRICTIONS, PROP_OWLS_PRESENTED_BY, PROP_OWLS_PRESENTS
 
Fields inherited from class org.universAAL.middleware.owl.ManagedIndividual
OWL_NAMESPACE, TYPE_OWL_INDIVIDUAL, TYPE_OWL_THING
 
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
 
Method Summary
 void addChangeEffectWrapper(String[] propPaths, String val, Class<?> type)
          Wrapper method for ServiceProfile addChangeEffect
 void addOutputWrapper(String baseURI, Class<?> clazz, Cardinality card, String[] propertyPaths)
          Wrapper method for creating the simpliest output.
 void createInputWrapper(String baseURI, Class<?> clazz, Cardinality card, String[] propertyPaths)
          Wrapper method for creating the simpliest input.
static SimplifiedApiService createService(String namespace, String methodUri, String ontologyUri)
          Factory method for creating instances of SimplifiedApiService.
 String getClassURI()
          Get the class URI for this ManagedIndividual.
 int getPropSerializationType(String propURI)
          Answers if the given property has to be considered when serializing this individual in a minimized way, and if not ignore-able, whether its value should be presented in its full form or can be reduced.
 boolean isWellFormed()
          Returns true, if the state of the resource is valid, otherwise false.
 
Methods inherited from class org.universAAL.middleware.service.owl.Service
addFilteringInput, addFilteringType, addInputWithAddEffect, addInputWithChangeEffect, addInputWithRemoveEffect, addInstanceLevelRestriction, addOutput, addRestriction, createInput, getInstanceLevelFixedValueOnProp, getInstanceLevelRestrictionOnProp, getNumberOfValueRestrictions, getProfile, getRestrictedPropsOnInstanceLevel, getRestrictionOnPropPath, setProperty
 
Methods inherited from class org.universAAL.middleware.owl.ManagedIndividual
checkCompatibility, checkMembership, copy, deepCopy, getClassRestrictionsOnProperty, getInstance, getNonAbstractSuperClasses, getNonabstractSuperClasses, getOntClassInfo, getTypeURI, isRegisteredClassURI, setPropertyPathFromOffset, toManagedIndividual
 
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, equals, generateAnonURI, getDefaultLang, getFilename, getMultiLangProp, getOrConstructLabel, getResource, getResourceComment, getResourceLabel, getStaticFieldValue, hashCode, hasProperty, isAnon, isBlockingAddingTypes, isClosedCollection, isQualifiedName, literal, representsQualifiedURI, serializesAsXMLLiteral, setPropertyPath, setPropertyPath, setResourceComment, setResourceLabel, toString, toStringRecursive, toStringRecursive, unliteral
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

temporalUri

public static String temporalUri
This field is used only for purpose of createService factory method.


MY_URI

public String MY_URI
Method Detail

createService

public static SimplifiedApiService createService(String namespace,
                                                 String methodUri,
                                                 String ontologyUri)
Factory method for creating instances of SimplifiedApiService. It is needed due to early initialization (getClassURI) of upper classes.

Parameters:
namespace -
methodUri -
ontologyUri -
Returns:

getClassURI

public String getClassURI()
Description copied from class: ManagedIndividual
Get the class URI for this ManagedIndividual. All non-abstract subclasses MUST overwrite this method!

Overrides:
getClassURI in class ManagedIndividual
Returns:
The class URI.

createInputWrapper

public void createInputWrapper(String baseURI,
                               Class<?> clazz,
                               Cardinality card,
                               String[] propertyPaths)
                        throws SimplifiedRegistrationException
Wrapper method for creating the simpliest input.

Parameters:
baseURI - - input parameter URI
clazz - - input parameter class. It is scanned by reflection for MY_URI field.
multiple - - parameter which determine if input should be created with minimum/maximum cardinality 0 or 1. If true they are 0 if false 1.
propertyPaths - - string array of property paths for this output parameter
Throws:
SimplifiedRegistrationException - - thrown when provided clazz parameter does not have field MY_URI or it is not accessible.

addOutputWrapper

public void addOutputWrapper(String baseURI,
                             Class<?> clazz,
                             Cardinality card,
                             String[] propertyPaths)
                      throws SimplifiedRegistrationException
Wrapper method for creating the simpliest output.

Parameters:
baseURI - - output URI
clazz - - output class. It is scanned by reflection for MY_URI field.
multiple - - parameter which determine if input should be created with minimum/maximum cardinality 0 or 1. If true they are 0 if false 1.
propertyPaths - - string array of property paths for this output parameter
Throws:
SimplifiedRegistrationException - - thrown when provided clazz parameter does not have field MY_URI or it is not accessible.

addChangeEffectWrapper

public void addChangeEffectWrapper(String[] propPaths,
                                   String val,
                                   Class<?> type)
                            throws SimplifiedRegistrationException
Wrapper method for ServiceProfile addChangeEffect

Parameters:
propPaths -
value -
Throws:
SimplifiedRegistrationException

getPropSerializationType

public int getPropSerializationType(String propURI)
Description copied from class: ManagedIndividual
Answers if the given property has to be considered when serializing this individual in a minimized way, and if not ignore-able, whether its value should be presented in its full form or can be reduced. The return value must be one of Resource.PROP_SERIALIZATION_OPTIONAL, Resource.PROP_SERIALIZATION_REDUCED, or Resource.PROP_SERIALIZATION_FULL. It can be assumed that the given property is one of those returned by FinalizedResource.getPropertyURIs(). Decision criterion should be if the value of this property is absolutely necessary when this resource is being sent to a remote node. If the subclass rates it as unlikely that the receiver side would need this info, the answer should be PROP_SERIALIZATION_OPTIONAL in favor of lower communication traffic and higher performance even at risk of a possible additional query on the receiver side for fetching this info. With the same rationale, if a property should be included in the process of serialization, it is preferable to include it in a reduced form; in this case the return value should be PROP_SERIALIZATION_REDUCED, otherwise PROP_SERIALIZATION_FULL can be returned.

Overrides:
getPropSerializationType in class Service
See Also:
ManagedIndividual.getPropSerializationType(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 ManagedIndividual
See Also:
Resource.isWellFormed()


Copyright © 2014 universAAL Consortium. All Rights Reserved.