/************************************************************** * * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. * *************************************************************/ #ifndef __com_sun_star_xforms_XModel_idl__ #define __com_sun_star_xforms_XModel_idl__ #ifndef __com_sun_star_uno_XInterface_idl__ #include #endif #ifndef __com_sun_star_beans_XPropertySet_idl__ #include #endif #ifndef __com_sun_star_container_XIndexAccess_idl__ #include #endif #ifndef __com_sun_star_xforms_XDataTypeRepository_idl__ #include #endif #ifndef __com_sun_star_xml_dom_XDocument_idl__ #include #endif #ifndef __com_sun_star_util_VetoException_idl__ #include #endif #ifndef __com_sun_star_lang_WrappedTargetException_idl__ #include #endif #ifndef __com_sun_star_task_XInteractionHandler_idl__ #include #endif //============================================================================= module com { module sun { module star { module xforms { interface XSubmission; //============================================================================= /** represent an XForms model */ interface XModel { /** get the XForms model ID */ string getID(); /** set the XForms model ID */ void setID( [in] string id ); /** initialize the model */ void initialize(); /** rebuild the model */ void rebuild(); /** re-evaluate all calculate attributes */ void recalculate(); /** re-evaluate all validity attributes */ void revalidate(); /** refresh the model */ void refresh(); /** submit form through given submission id

This is a convenience method. Calling it is equivalent to calling getSubmission( id ).submit().

@param id the ID of the submission to execute @throws com::sun::star::util::VetoException when the current model state does not allow a submission. Usually, this indicates that consistency criteria for the model data is not fulfilled. @throws com::sun::star::lang::WrappedTargetException when another error occured during the submission. The WrappedTargetException::TargetException describes this error then. */ void submit( [in] string id ) raises ( com::sun::star::util::VetoException, com::sun::star::lang::WrappedTargetException ); /** submit form through given submission id

This is a convenience method. Calling it is equivalent to calling getSubmission( id, handler ).submit().

@param id the ID of the submission to execute @param aHandler This handler allows additional user interaction, which may be necessary before the submission can be performed. @throws com::sun::star::util::VetoException when the current model state does not allow a submission. Usually, this indicates that consistency criteria for the model data is not fulfilled. @throws com::sun::star::lang::WrappedTargetException when another error occured during the submission. The WrappedTargetException::TargetException describes this error then. */ void submitWithInteraction( [in] string id, [in] com::sun::star::task::XInteractionHandler aHandler ) raises ( com::sun::star::util::VetoException, com::sun::star::lang::WrappedTargetException ); /** provides management access to the XSD data types associated with the model */ XDataTypeRepository getDataTypeRepository( ); // // instances // /** gets container containing all instances;

The elements of the set are arrays of PropertyValues, containing the ID, the URL, and the instance itself.

*/ com::sun::star::container::XSet getInstances(); /** retrieves the instance with the given id */ com::sun::star::xml::dom::XDocument getInstanceDocument( [in] string id ); /** get the default instance for this model */ com::sun::star::xml::dom::XDocument getDefaultInstance(); // // bindings // /** create a binding element for this model

The returned binding still needs to be inserted into the bindings container.

@see getBindings */ com::sun::star::beans::XPropertySet createBinding(); /** clone an arbitrary binding element for this model; still needs

The returned binding still needs to be inserted into the bindings container.

@see getBindings */ com::sun::star::beans::XPropertySet cloneBinding( [in] com::sun::star::beans::XPropertySet binding ); /** get a binding with a certain ID

This is a convenience method: the same result can also be obtained through getBindings

*/ com::sun::star::beans::XPropertySet getBinding( [in] string id ); /** get a container containing all bindings; also supports XNameAccess */ com::sun::star::container::XSet getBindings(); // // submissions // /** create a submission element for this model

The returned submission element still needs to be inserted into the submission container.

@see getSubmissions */ XSubmission createSubmission(); /** clone an arbitrary submission element for this model

The returned submission element still needs to be inserted into the submission container.

@see getSubmissions */ XSubmission cloneSubmission( [in] com::sun::star::beans::XPropertySet submission ); /** get a submission with a certain ID.

This is a convenience method: the same result can also be obtained through getSubmissions.

*/ XSubmission getSubmission( [in] string id ); /** get container containing all submissions; also supports XNameAccess */ com::sun::star::container::XSet getSubmissions(); }; //============================================================================= }; }; }; }; /*============================================================================= =============================================================================*/ #endif