| Interface | osid.OsidObjectForm |
| Implements | osid.OsidIdentifiableForm |
osid.OsidExtensibleForm |
osid.OsidBrowsableForm |
| Implemented By | osid.course.CourseForm |
osid.course.ActivityUnitForm |
osid.course.TermForm |
osid.assessment.authoring.AssessmentPartForm |
osid.ordering.OrderForm |
osid.ordering.ProductForm |
osid.ordering.PriceScheduleForm |
osid.topology.NodeForm |
osid.inventory.shipment.ShipmentForm |
osid.inventory.shipment.EntryForm |
osid.authentication.keys.KeyForm |
osid.financials.AccountForm |
osid.financials.ActivityForm |
osid.financials.FiscalPeriodForm |
osid.workflow.event.WorkflowEventForm |
osid.authentication.AgentForm |
osid.contact.AddressForm |
osid.provisioning.ProvisionReturnForm |
osid.hold.BlockForm |
osid.filing.DirectoryEntryForm |
osid.forum.PostForm |
osid.forum.ReplyForm |
osid.authorization.QualifierForm |
osid.grading.calculation.GradebookColumnCalculationForm |
osid.OsidRelationshipForm |
osid.OsidCatalogForm |
osid.OsidRequestForm |
osid.OsidRuleForm |
osid.OsidGovernatorForm |
osid.OsidCompendiumForm |
osid.lexicon.TextForm |
osid.lexicon.IdiomForm |
osid.lexicon.ParameterForm |
osid.inventory.ItemForm |
osid.inventory.StockForm |
osid.inventory.ModelForm |
osid.inventory.InventoryForm |
osid.calendaring.cycle.CyclicEventForm |
osid.calendaring.cycle.CyclicTimePeriodForm |
osid.learning.ObjectiveForm |
osid.learning.ActivityForm |
osid.installation.InstallationPackageForm |
osid.installation.InstallationContentForm |
osid.messaging.MessageForm |
osid.messaging.ReceiptForm |
osid.room.construction.RenovationForm |
osid.room.construction.ProjectForm |
osid.recognition.AwardForm |
osid.grading.GradeForm |
osid.grading.GradeSystemForm |
osid.grading.GradebookColumnForm |
osid.resourcing.WorkForm |
osid.resourcing.CompetencyForm |
osid.repository.AssetForm |
osid.repository.AssetContentForm |
osid.repository.CompositionForm |
osid.profile.ProfileEntryForm |
osid.profile.ProfileItemForm |
osid.recipe.RecipeForm |
osid.recipe.DirectionForm |
osid.recipe.IngredientForm |
osid.recipe.ProcedureForm |
osid.course.registration.RegistrationTargetForm |
osid.tracking.LogEntryForm |
osid.mapping.route.RouteSegmentForm |
osid.journaling.JournalEntryForm |
osid.journaling.BranchForm |
osid.offering.CanonicalUnitForm |
osid.offering.ResultForm |
osid.mapping.LocationForm |
osid.assessment.QuestionForm |
osid.assessment.AnswerForm |
osid.assessment.ItemForm |
osid.assessment.AssessmentForm |
osid.assessment.AssessmentOfferedForm |
osid.assessment.AssessmentTakenForm |
osid.blogging.EntryForm |
osid.voting.VoterAllocationForm |
osid.calendaring.EventForm |
osid.calendaring.ScheduleForm |
osid.calendaring.ScheduleSlotForm |
osid.calendaring.TimePeriodForm |
osid.metering.MeterForm |
osid.dictionary.EntryForm |
osid.configuration.ValueForm |
osid.resource.ResourceForm |
osid.logging.LogEntryForm |
osid.personnel.PersonForm |
osid.personnel.OrganizationForm |
osid.personnel.PositionForm |
osid.course.program.ProgramForm |
osid.course.program.CredentialForm |
osid.process.StateForm |
osid.checklist.TodoForm |
osid.sequencing.ChainForm |
osid.billing.CustomerForm |
osid.billing.ItemForm |
osid.billing.CategoryForm |
osid.billing.PeriodForm |
osid.workflow.WorkForm |
osid.billing.payment.PayerForm |
osid.billing.payment.PaymentForm |
osid.communication.ResponseForm |
osid.room.RoomForm |
osid.room.FloorForm |
osid.room.BuildingForm |
osid.mapping.path.PathForm |
osid.mapping.path.IntersectionForm |
osid.mapping.path.ObstacleForm |
osid.course.syllabus.SyllabusForm |
osid.course.syllabus.ModuleForm |
osid.financials.posting.PostForm |
osid.financials.posting.PostEntryForm |
osid.course.registration.request.RegistrationRequestItemForm |
osid.ontology.SubjectForm |
osid.control.DeviceForm |
osid.control.ControllerForm |
osid.control.SettingForm |
osid.control.SceneForm |
osid.control.ActionGroupForm |
| Description |
The OsidObjectForm is used to create and
update OsidObjects. The form is not an
OsidObject but merely a container for data to be
sent to an update or create method of a session. A provider
may or may not combine the OsidObject and
OsidObjectForm interfaces into a single object.
Generally, a set method parallels each get method of an
OsidObject. Additionally, Metadata
may be examined for each data element to assist in
understanding particular rules concerning acceptable data.
The form may provide some feedback as to the validity of
certain data updates before the update transaction is issued
to the correspodning session but a successful modification of
the form is not a guarantee of success for the update
transaction. A consumer may elect to perform all updates
within a single update transaction or break up a large update
intio smaller units. The tradeoff is the granularity of error
feedback vs. the performance gain of a single transaction.
As with all aspects of the OSIDs, nulls cannot be used.
Methods to clear values are also defined in the form.
A new OsidForm should be acquired for each
transaction upon an OsidObject. Forms should not
be reused from one object to another even if the supplied data
is the same as the forms may encapsulate data specific to the
object requested. Example of changing a display name and a
color defined in a color interface extension:
ObjectForm form = session.getObjectFormForUpdate(objectId);
form.setDisplayName("new name");
ColorForm recordForm = form.getFormRecord(colorRecordType);
recordForm.setColor("green");
session.updateObject(objectId, form);
|