From 195774c489a1a671aca514b0afa88332bf9c6ee3 Mon Sep 17 00:00:00 2001 From: lresende Date: Tue, 10 Nov 2009 19:20:12 +0000 Subject: Moving SDO tags git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@834617 13f79535-47bb-0310-9956-ffa450edef68 --- .../src/main/java/commonj/sdo/DataGraph.java | 76 ++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 sdo-java/tags/1.1/sdo-api/src/main/java/commonj/sdo/DataGraph.java (limited to 'sdo-java/tags/1.1/sdo-api/src/main/java/commonj/sdo/DataGraph.java') diff --git a/sdo-java/tags/1.1/sdo-api/src/main/java/commonj/sdo/DataGraph.java b/sdo-java/tags/1.1/sdo-api/src/main/java/commonj/sdo/DataGraph.java new file mode 100644 index 0000000000..f583cbf0a3 --- /dev/null +++ b/sdo-java/tags/1.1/sdo-api/src/main/java/commonj/sdo/DataGraph.java @@ -0,0 +1,76 @@ +/** + * + * + * Service Data Objects + * Version 2.1.0 + * Licensed Materials + * + * (c) Copyright BEA Systems, Inc., International Business Machines Corporation, + * Oracle Corporation, Primeton Technologies Ltd., Rogue Wave Software, SAP AG., + * Software AG., Sun Microsystems, Sybase Inc., Xcalia, Zend Technologies, + * 2005, 2006. All rights reserved. + * + * + * + */ + +package commonj.sdo; + +import java.io.Serializable; + +/** + * A data graph is used to package a graph of {@link DataObject data objects} along with their + * metadata, that is, data describing the data. + * A data graph also contains a {@link #getChangeSummary change summary} + * which is used to record changes made to the objects in the graph. + */ + +public interface DataGraph extends Serializable +{ + /** + * Returns the root {@link DataObject data object} of this data graph. + * @return the root data object. + * @see DataObject#getDataGraph + */ + DataObject getRootObject(); + + /** + * Returns the {@link ChangeSummary change summary} associated with this data graph. + * @return the change summary. + * @see ChangeSummary#getDataGraph + */ + ChangeSummary getChangeSummary(); + + /** + * Returns the {@link Type type} with the given the {@link Type#getURI() URI}, + * or contained by the resource at the given URI, + * and with the given {@link Type#getName name}. + * @param uri the namespace URI of a type or the location URI of a resource containing a type. + * @param typeName name of a type. + * @return the type with the corresponding namespace and name. + */ + Type getType(String uri, String typeName); + + /** + * Creates a new root data object of the {@link #getType specified type}. + * An exception is thrown if a root object exists. + * @param namespaceURI namespace of the type. + * @param typeName name of the type. + * @return the new root. + * @throws IllegalStateException if the root object already exists. + * @see #createRootObject(Type) + * @see #getType(String, String) + */ + DataObject createRootObject(String namespaceURI, String typeName); + + /** + * Creates a new root data object of the specified type. + * An exception is thrown if a root object exists. + * @param type the type of the new root. + * @return the new root. + * @throws IllegalStateException if the root object already exists. + * @see #createRootObject(String, String) + */ + DataObject createRootObject(Type type); + +} -- cgit v1.2.3