/** * This file is part of the CRISTAL-iSE kernel. * Copyright (c) 2001-2014 The CRISTAL Consortium. All rights reserved. * * This library is free software; you can redistribute it and/or modify it * under the terms of the GNU Lesser General Public License as published * by the Free Software Foundation; either version 3 of the License, or (at * your option) any later version. * * This library is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; with out even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public * License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software Foundation, * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * * http://www.fsf.org/licensing/licenses/lgpl.html */ #ifndef __Entity_Idl__ #define __Entity_Idl__ /* * Copyright (C) 2001 CERN - European Organization for Nuclear Research * All rights reserved. * * @author $Author: abranson $ $Date: 2005/04/26 06:47:48 $ * @version $Revision: 1.24 $ */ #include #pragma prefix "c2kernel.com" module entity { /** * ManageableEntity is the CORBA super-interface for Entities. It is uniquely * identifiable by its system key, and contains XML fragments arranged * in a tree structure. **/ interface Item { /** * System generated unique key of the Entity. It is a 128 bit UUID, expressed as two 64 bit longs in the IDLs, but as a UUID object in the Java kernel. The ItemPath is used as the Item identifier in the kernel and its API, which can be derived from either a UUID object or a SystemKey structure. **/ common::SystemKey getSystemKey(); /** Initialises a new Item. Initial properties and the lifecycle are supplied. They should come from the Item's description. * * @param agentKey the Agent doing the initialisation * @param itemProps The XML marshalled {@link com.c2kernel.Property.PropertyArrayList PropertyArrayList} containing the initial * Property objects of the Item * @param workflow The XML marshalled new lifecycle of the Item * @param collection The XML marshalled CollectionArrayList of the initial state of the Item's collections * @exception ObjectNotFoundException **/ void initialise( in common::SystemKey agentKey, in string itemProps, in string workflow, in string collections ) raises( common::AccessRightsException, common::InvalidData, common::PersistencyException, common::ObjectNotFound, common::InvalidCollectionModification ); /** * Returns a chunk of XML which may be a serialized C2KLocalObject, or in the case of Outcomes is merely a fragment of XML. * * @param path - All Entity data is arranged in a tree structure which uniquely identifies that object within the Entity it is contained, according to the following scheme: *