OSID Logo
OSID Specifications
osid package
Version 3.1.0
Interfaceosid.OsidObjectForm
Implementsosid.OsidIdentifiableForm
osid.OsidExtensibleForm
osid.OsidBrowsableForm
Implemented Byosid.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);
                
MethodgetDisplayNameMetadata
Description

Gets the metadata for a display name.

Returnosid.Metadata metadata for the display name
Compliancemandatory This method must be implemented.
MethodsetDisplayName
Description

Sets a display name. A display name is required and if not set, will be set by the provider.

ParametersstringdisplayName the new display name
ErrorsINVALID_ARGUMENT displayName is invalid
NO_ACCESS Metadata.isReadonly() is true
NULL_ARGUMENT displayName is null
Compliancemandatory This method must be implemented.
MethodclearDisplayName
Description

Clears the display name.

ErrorsNO_ACCESS Metadata.isRequired() or Metadata.isReadOnly() is true
Compliancemandatory This method must be implemented.
MethodgetDescriptionMetadata
Description

Gets the metadata for a description.

Returnosid.Metadata metadata for the description
Compliancemandatory This method must be implemented.
MethodsetDescription
Description

Sets a description.

Parametersstringdescription the new description
ErrorsINVALID_ARGUMENT description is invalid
NO_ACCESS Metadata.isReadonly() is true
NULL_ARGUMENT description is null
Compliancemandatory This method must be implemented.
MethodclearDescription
Description

Clears the description.

ErrorsNO_ACCESS Metadata.isRequired() or Metadata.isReadOnly() is true
Compliancemandatory This method must be implemented.
MethodgetGenusTypeMetadata
Description

Gets the metadata for a genus type.

Returnosid.Metadata metadata for the genus
Compliancemandatory This method must be implemented.
MethodsetGenusType
Description

Sets a genus. A genus cannot be cleared because all objects have at minimum a root genus.

Parametersosid.type.TypegenusType the new genus
ErrorsINVALID_ARGUMENT genusType is invalid
NO_ACCESS Metadata.isReadonly() is true
NULL_ARGUMENT genusType is null
Compliancemandatory This method must be implemented.
MethodclearGenusType
Description

Clears the genus type.

ErrorsNO_ACCESS Metadata.isRequired() or Metadata.isReadOnly() is true
Compliancemandatory This method must be implemented.