- From: Rotan Hanrahan <rotan.hanrahan@mobileaware.com>
- Date: Tue, 26 Feb 2008 11:27:26 -0500
- To: <public-ddwg@w3.org>
Thanks Jo. For convenience, the text of all the code minus, the exceptions, as it looks at this moment in time is pasted below. ---Rotan package org.w3c.ddr.simple; /** * An interface representing evidence that is to be supplied to getSimplePropertyValue * or getSimplePropertyValues methods of {@link SimpleService} * * @author jo * */ public interface SimpleEvidence { /** * Add a key / value pair * @param key The key * @param value The value */ public void put(String key, String value); /** * True if a key exists * @param key * @return */ public Boolean exists(String key); /** * Get the value corresponding to the key * @param key * @return */ public String getValue(String key); } package org.w3c.ddr.simple; public interface SimplePropertyName { /** * The name of the property * * @return */ public String getPropertyName(); /** * The namespace of the property * * @return * */ //TODO Worry about whether an IRI class is needed public String getNamespace(); /** * Factory to create a SimplePropertyRef with the specified aspect referring to this property * * @param aspect * @return */ public SimplePropertyRef newSimplePropertyRef (String aspect); } package org.w3c.ddr.simple; /** * Represents a property / aspect combination * * @author jo * * */ public interface SimplePropertyRef { public static final String NULL_ASPECT = "__NULL"; /** * The name of the property * * @return */ public String getPropertyName(); /** * The name of the aspect * * @return */ public String getAspectName(); /** * The namespace of the property and aspect * * @return * */ //TODO Worry about whether an IRI class is needed public String getNamespace(); /** * Factory to create a SimplePropertyName referring to the Property encapsulated * by this SimplePropertyRef * * @return */ public SimplePropertyName newSimplePropertyName (); } package org.w3c.ddr.simple; import org.w3c.ddr.simple.exception.ValueException; /** * Represents the value of a property * * @author jmcf * */ public interface SimplePropertyValue { /** * * Returns the value as double in the default units of the property * * If the value cannot be represented as a double an exception will be * thrown * * */ public double getDouble() throws ValueException; /** * * Returns the value as a long in the default units of the property * * An exception will be thrown if the value cannot be represented as a long * * @return * @throws ValueException */ public long getLong() throws ValueException; /** * * Returns the value of the property as a String * * This method will return * * @return */ public String getString() throws ValueException; /** * Returns the actual value as a boolean * * If the value cannot be represented as a boolean an exception will be * thrown * * @return * @throws SimpleException */ public boolean getBoolean() throws ValueException; /** * * Returns the value as an integer in the default units of the property * * An exception will be thrown if the value cannot be represented as an * Integer * * @return * @throws SimpleException */ public int getInteger() throws ValueException; /** * * Returns the value as an enumeration * * If the value cannot be represented as an enumeration an exception will be * thrown * * * @return * @throws SimpleException */ public String[] getEnumeration() throws ValueException; /** * * Returns the value in the specified unit as a float * * If the value cannot be represented as a float an exception will be thrown * * * */ public float getFloat() throws ValueException; /** * @return */ public SimplePropertyRef getPropertyRef(); /** * @return */ public boolean exists(); } package org.w3c.ddr.simple; import org.w3c.ddr.simple.exception.NameException; import org.w3c.ddr.simple.exception.SystemException; public interface SimplePropertyValues { public SimplePropertyValue[] getAll() throws SystemException; public SimplePropertyValue getValue(SimplePropertyRef prop) throws SystemException, NameException; } package org.w3c.ddr.simple; import java.util.Map; import java.util.Properties; import org.w3c.ddr.simple.exception.NameException; import org.w3c.ddr.simple.exception.SystemException; public interface SimpleService { /** * Called by {@link SimpleServiceFactory} to initialize the API following construction * * @param defaultVocabularyIRI the IRI of the default vocabulary namespace * @param props Implementation dependent properties * @throws SystemException */ public void initialize(String defaultVocabularyIRI, Properties props) throws SystemException; /** * * @return A string indicating the revision level of the API */ public String getAPIVersion(); /** * * @return A String indicating the revision level of the data */ public String getDataVersion(); /** * List all the PropertyRefs the API knows about * @return * @throws SystemException */ public SimplePropertyRef[] listSimplePropertyRefs() throws SystemException; public SimplePropertyValue getSimplePropertyValue(SimpleEvidence evidence, SimplePropertyRef propertyRef) throws NameException, SystemException; public SimplePropertyValue getSimplePropertyValue(SimpleEvidence evidence, String propertyName) throws NameException, SystemException; public SimplePropertyValue getSimplePropertyValue(SimpleEvidence evidence, String aspect, String propertyName) throws NameException, SystemException; public SimplePropertyValue getSimplePropertyValue (SimpleEvidence evidence, SimplePropertyName simplePropertyName) throws NameException, SystemException; public SimplePropertyValues getSimplePropertyValues(SimpleEvidence evidence) throws SystemException; public SimplePropertyValues getSimplePropertyValues(SimpleEvidence evidence, SimplePropertyRef[] properties) throws NameException, SystemException; public SimplePropertyValues getSimplePropertyValues(SimpleEvidence evidence, String aspectName) throws NameException, SystemException; public SimplePropertyValues getSimplePropertyValues(SimpleEvidence evidence, String aspectIRI, String aspectName) throws NameException, SystemException; public SimplePropertyRef newSimplePropertyRef(String localPropertyName) throws NameException, SystemException; public SimplePropertyRef newSimplePropertyRef(String localAspectName, String localPropertyName) throws NameException, SystemException; public SimplePropertyRef newSimplePropertyRef(String vocabularyIRI, String localAspectName, String localPropertyName) throws NameException, SystemException; public SimplePropertyRef newSimplePropertyRef(String localAspectName, SimplePropertyName simplePropertyName) throws NameException, SystemException; /** * Create a SimpleEvidence using the Map consisting of HTTP Header Names and Values * @param map * @return */ public SimpleEvidence newHTTPEvidence(Map map); } package org.w3c.ddr.simple; import java.util.Properties; import org.w3c.ddr.simple.exception.NameException; import org.w3c.ddr.simple.exception.SystemException; public class SimpleServiceFactory { public static SimpleService newSimpleService(String clazz, String defaultVocabulary, Properties configuration) throws SystemException, NameException { SimpleService theService = null; try { // Instantiation theService = (SimpleService) Class.forName(clazz).newInstance(); // Initialization theService.initialize(defaultVocabulary, configuration); } catch (Throwable thr) { // TODO: Capture the exceptions properly throw new SystemException(SystemException.INITIALIZATION, thr); } return theService; } public static SimpleService newSimpleService(String defaultVocabulary, Properties configuration) throws SystemException, NameException { return null; } }
Received on Tuesday, 26 February 2008 16:31:19 UTC