OSID Logo
OSID Specifications
osid package
Version 3.1.0
Interfaceosid.OsidExtensibleForm
Implementsosid.OsidForm
osid.Extensible
Implemented Byosid.OsidObjectForm
osid.filing.allocation.AllocationForm
Description

The OsidExtensibleForm is used to create and update extensible objects. The form is a container for data to be sent to an update or create method of a session.

The same OsidForm is typically used for both create and update operations. For create operations, an OsidForm is requested for a list of OsidRecord Types. The request is successful if an OsidObject can be created for that combination of the given OsidRecord Types although they may not all be required. getRequiredRecordTypes() shows a list of OsidRecord Types that are required for a successful create operation (typically because there is a required field). This method is for informational purposes and may be the list of OsidRecord Types supplied to the acquisition of the OsidForm, a subset of those types, or a variant because of Type equivalency.

getRecordTypes() lists the OsidRecord Types available in this OsidForm but implementsRecordType() should be used to test for interoperability. This extra ineroperability test should not be needed as it already occurred in the acquisition of the OsidForm. The types returned from getRecordTypes() may be a superset of getRequiredRecordTypes() and may be a superset of the OsidRecord Types supplied to the acquisition of the OsidForm.

Following a create operation, the OsidRecord Types are assumed to be fixed. Update operations can examine getRecordTypes() to see which OsidRecords exist for that OsidObject. getRequiredRecordTypes() will typically be empty unless there is some field in an OsidRecord required for the update operation to succeed.

MethodgetRequiredRecordTypes
Description

Gets the minimum required record types for successful submission of this OsidForm. The required records may change as a result of other data in this form and should be checked before submission. This list of types may be a subset the available OsidRecords.

Returnosid.type.TypeList a list of required form record types
Compliancemandatory This method must be implemented.