Interface OsidObjectForm

All Superinterfaces:
Extensible, Identifiable, OsidBrowsableForm, OsidExtensibleForm, OsidForm, OsidIdentifiableForm, Suppliable
All Known Subinterfaces:
AcademyBatchForm, AcademyForm, AccountBatchForm, AccountForm, ActionBatchForm, ActionEnablerForm, ActionForm, ActionGroupBatchForm, ActionGroupForm, ActivityBatchForm, ActivityBatchForm, ActivityBatchForm, ActivityForm, ActivityForm, ActivityForm, ActivityRegistrationBatchForm, ActivityRegistrationForm, ActivityUnitBatchForm, ActivityUnitForm, AddressBatchForm, AddressBookBatchForm, AddressBookForm, AddressForm, AgencyBatchForm, AgencyForm, AgendaForm, AgentBatchForm, AgentForm, AnswerBatchForm, AnswerForm, AntimatroidForm, AppointmentBatchForm, AppointmentForm, AssessmentBatchForm, AssessmentEntryBatchForm, AssessmentEntryForm, AssessmentForm, AssessmentOfferedBatchForm, AssessmentOfferedForm, AssessmentPartForm, AssessmentRequirementForm, AssessmentTakenBatchForm, AssessmentTakenForm, AssetBatchForm, AssetContentBatchForm, AssetContentForm, AssetForm, AuctionBatchForm, AuctionConstrainerEnablerForm, AuctionConstrainerForm, AuctionForm, AuctionHouseBatchForm, AuctionHouseForm, AuctionProcessorEnablerForm, AuctionProcessorForm, AuditBatchForm, AuditConstrainerEnablerForm, AuditConstrainerForm, AuditEnablerForm, AuditForm, AuditProcessorEnablerForm, AuditProcessorForm, AuthorizationBatchForm, AuthorizationEnablerForm, AuthorizationForm, AvailabilityBatchForm, AvailabilityEnablerForm, AvailabilityForm, AwardBatchForm, AwardEntryBatchForm, AwardEntryForm, AwardForm, AwardRequirementForm, BallotBatchForm, BallotConstrainerEnablerForm, BallotConstrainerEnablerFormRecord, BallotConstrainerForm, BallotConstrainerFormRecord, BallotForm, BankBatchForm, BankForm, BidBatchForm, BidEnablerForm, BidForm, BillingBatchForm, BillingForm, BinBatchForm, BinForm, BlockBatchForm, BlockForm, BlogBatchForm, BlogForm, BookBatchForm, BookForm, BranchBatchForm, BranchForm, BrokerBatchForm, BrokerConstrainerEnablerForm, BrokerConstrainerForm, BrokerEnablerForm, BrokerForm, BrokerProcessorEnablerForm, BrokerProcessorForm, BudgetBatchForm, BudgetEntryBatchForm, BudgetEntryForm, BudgetForm, BuildingBatchForm, BuildingForm, BusinessBatchForm, BusinessBatchForm, BusinessForm, BusinessForm, CalendarBatchForm, CalendarForm, CampusBatchForm, CampusForm, CandidateBatchForm, CandidateForm, CanonicalUnitBatchForm, CanonicalUnitEnablerForm, CanonicalUnitForm, CanonicalUnitProcessorEnablerForm, CanonicalUnitProcessorForm, CatalogEnablerForm, CatalogForm, CatalogueBatchForm, CatalogueForm, CategoryBatchForm, CategoryForm, ChainForm, CheckForm, ChecklistBatchForm, ChecklistForm, CommentBatchForm, CommentForm, CommissionBatchForm, CommissionEnablerForm, CommissionForm, CommitmentBatchForm, CommitmentEnablerForm, CommitmentForm, CompetencyBatchForm, CompetencyForm, CompositionBatchForm, CompositionEnablerForm, CompositionForm, ConferralBatchForm, ConferralForm, ConfigurationBatchForm, ConfigurationForm, ContactBatchForm, ContactEnablerForm, ContactForm, ControllerBatchForm, ControllerForm, ConvocationBatchForm, ConvocationForm, CookbookBatchForm, CookbookForm, CourseBatchForm, CourseCatalogBatchForm, CourseCatalogForm, CourseEntryBatchForm, CourseEntryForm, CourseForm, CourseOfferingBatchForm, CourseOfferingForm, CourseRegistrationBatchForm, CourseRegistrationForm, CourseRequirementForm, CredentialBatchForm, CredentialEntryBatchForm, CredentialEntryForm, CredentialForm, CredentialRequirementForm, CreditBatchForm, CreditForm, CustomerBatchForm, CustomerForm, CyclicEventBatchForm, CyclicEventForm, CyclicTimePeriodBatchForm, CyclicTimePeriodForm, DeedBatchForm, DeedForm, DemographicEnablerForm, DemographicForm, DepotBatchForm, DepotForm, DeviceBatchForm, DeviceEnablerForm, DeviceForm, DictionaryBatchForm, DictionaryForm, DirectionBatchForm, DirectionForm, DirectoryEntryForm, DirectoryForm, DispatchBatchForm, DispatchConstrainerEnablerForm, DispatchConstrainerForm, DispatchEnablerForm, DispatchForm, DispatchProcessorEnablerForm, DispatchProcessorForm, DistributorBatchForm, DistributorForm, DocetBatchForm, DocetForm, EdgeBatchForm, EdgeEnablerForm, EdgeForm, EffortBatchForm, EffortForm, EngineForm, EngineForm, EnrollmentBatchForm, EnrollmentForm, EntryBatchForm, EntryBatchForm, EntryBatchForm, EntryBatchForm, EntryForm, EntryForm, EntryForm, EntryForm, EventBatchForm, EventForm, FamilyBatchForm, FamilyForm, FileForm, FiscalPeriodBatchForm, FiscalPeriodForm, FloorBatchForm, FloorForm, ForumBatchForm, ForumForm, FoundryBatchForm, FoundryForm, FrontOfficeBatchForm, FrontOfficeForm, FunctionBatchForm, FunctionForm, GradeBatchForm, GradebookBatchForm, GradebookColumnBatchForm, GradebookColumnCalculationForm, GradebookColumnForm, GradebookForm, GradeEntryBatchForm, GradeEntryForm, GradeForm, GradeSystemBatchForm, GradeSystemForm, GradeSystemTransformForm, GraphBatchForm, GraphForm, HierarchyForm, HoldBatchForm, HoldEnablerForm, HoldForm, IdiomBatchForm, IdiomForm, IngredientBatchForm, IngredientForm, InputBatchForm, InputEnablerForm, InputForm, InquestBatchForm, InquestForm, InquiryBatchForm, InquiryEnablerForm, InquiryForm, InstallationContentForm, InstructionForm, IntersectionBatchForm, IntersectionForm, InventoryBatchForm, InventoryForm, IssueBatchForm, IssueBatchForm, IssueConstrainerEnablerForm, IssueConstrainerForm, IssueEnablerForm, IssueForm, IssueForm, IssueProcessorEnablerForm, IssueProcessorForm, ItemBatchForm, ItemBatchForm, ItemBatchForm, ItemBatchForm, ItemForm, ItemForm, ItemForm, ItemForm, JobBatchForm, JobConstrainerEnablerForm, JobConstrainerForm, JobForm, JobProcessorEnablerForm, JobProcessorForm, JournalBatchForm, JournalEntryBatchForm, JournalEntryForm, JournalForm, KeyBatchForm, KeyForm, LearningObjectiveRequirementForm, LeaseBatchForm, LeaseForm, LessonForm, LocationBatchForm, LocationForm, LogBatchForm, LogEntryBatchForm, LogEntryForm, LogEntryForm, LogForm, MailboxBatchForm, MailboxForm, MapBatchForm, MapForm, MessageBatchForm, MessageForm, MeterBatchForm, MeterForm, ModelBatchForm, ModelForm, ModuleBatchForm, ModuleForm, NodeBatchForm, NodeForm, ObjectiveBankBatchForm, ObjectiveBankForm, ObjectiveBatchForm, ObjectiveForm, ObstacleBatchForm, ObstacleEnablerForm, ObstacleForm, OfferingBatchForm, OfferingConstrainerEnablerForm, OfferingForm, OfficeBatchForm, OfficeForm, OffsetEventBatchForm, OffsetEventEnablerForm, OffsetEventForm, OntologyBatchForm, OntologyForm, OrderBatchForm, OrderForm, OrganizationBatchForm, OrganizationForm, OsidCatalogForm, OsidCompendiumForm, OsidConstrainerForm, OsidEffectuatorForm, OsidEnablerForm, OsidGovernatorForm, OsidOperatorForm, OsidProcessorForm, OsidRelationshipForm, OsidRequestForm, OsidRuleApplicatorForm, OsidRuleForm, OublietteBatchForm, OublietteForm, PackageBatchForm, PackageForm, ParameterBatchForm, ParameterBatchForm, ParameterForm, ParameterForm, ParameterProcessorEnablerForm, ParameterProcessorForm, ParticipantBatchForm, ParticipantForm, PathBatchForm, PathForm, PathForm, PayerBatchForm, PayerForm, PaymentBatchForm, PaymentForm, PeriodBatchForm, PeriodForm, PersonBatchForm, PersonForm, PlanForm, PollsBatchForm, PollsForm, PoolBatchForm, PoolConstrainerEnablerForm, PoolConstrainerForm, PoolEnablerForm, PoolForm, PoolProcessorEnablerForm, PoolProcessorForm, PositionBatchForm, PositionForm, PostBatchForm, PostBatchForm, PostEntryBatchForm, PostEntryForm, PostForm, PostForm, PressBatchForm, PressForm, PriceBatchForm, PriceEnablerForm, PriceForm, PriceScheduleBatchForm, PriceScheduleForm, ProcedureBatchForm, ProcedureForm, ProcessBatchForm, ProcessConstrainerEnablerForm, ProcessConstrainerForm, ProcessEnablerForm, ProcessForm, ProcessForm, ProcessProcessorEnablerForm, ProcessProcessorForm, ProductBatchForm, ProductForm, ProficiencyBatchForm, ProficiencyForm, ProfileBatchForm, ProfileEntryBatchForm, ProfileEntryEnablerForm, ProfileEntryForm, ProfileForm, ProfileItemBatchForm, ProfileItemForm, ProgramBatchForm, ProgramEntryBatchForm, ProgramEntryForm, ProgramForm, ProgramOfferingBatchForm, ProgramOfferingForm, ProgramRequirementForm, ProjectBatchForm, ProjectForm, ProvisionableBatchForm, ProvisionableEnablerForm, ProvisionableForm, ProvisionBatchForm, ProvisionEnablerForm, ProvisionForm, ProvisionReturnForm, PublisherBatchForm, PublisherForm, QualifierBatchForm, QualifierForm, QuestionBatchForm, QuestionForm, QueueBatchForm, QueueBatchForm, QueueConstrainerEnablerForm, QueueConstrainerEnablerForm, QueueConstrainerForm, QueueConstrainerForm, QueueEnablerForm, QueueEnablerForm, QueueForm, QueueForm, QueueProcessorEnablerForm, QueueProcessorEnablerForm, QueueProcessorForm, QueueProcessorForm, RaceBatchForm, RaceConstrainerEnablerForm, RaceConstrainerEnablerFormRecord, RaceConstrainerForm, RaceConstrainerFormRecord, RaceForm, RaceProcessorEnablerForm, RaceProcessorEnablerFormRecord, RaceProcessorForm, RaceProcessorFormRecord, RealmBatchForm, RealmForm, ReceiptBatchForm, ReceiptForm, RecipeBatchForm, RecipeForm, RecurringEventBatchForm, RecurringEventEnablerForm, RecurringEventForm, RegistrationBatchForm, RegistrationForm, RegistrationRequestForm, RegistrationRequestItemForm, RegistrationTargetBatchForm, RegistrationTargetForm, RelationshipBatchForm, RelationshipEnablerForm, RelationshipForm, RelevancyBatchForm, RelevancyForm, RenovationBatchForm, RenovationForm, ReplyBatchForm, ReplyForm, RepositoryBatchForm, RepositoryForm, RequestBatchForm, RequestForm, RequestTransactionBatchForm, RequestTransactionForm, RequisiteForm, ResourceBatchForm, ResourceForm, ResourceRelationshipBatchForm, ResourceRelationshipForm, ResponseBatchForm, ResponseForm, ResponseForm, ResultBatchForm, ResultForm, RoomBatchForm, RoomForm, RouteForm, RouteSegmentForm, SceneBatchForm, SceneForm, ScheduleBatchForm, ScheduleForm, ScheduleSlotBatchForm, ScheduleSlotForm, SequenceRuleEnablerForm, SequenceRuleForm, SettingBatchForm, SettingForm, ShipmentBatchForm, ShipmentForm, SignalBatchForm, SignalEnablerForm, SignalForm, SpeedZoneBatchForm, SpeedZoneEnablerForm, SpeedZoneForm, StateForm, StepBatchForm, StepConstrainerEnablerForm, StepConstrainerForm, StepEnablerForm, StepForm, StepProcessorEnablerForm, StepProcessorForm, StockBatchForm, StockForm, StoreBatchForm, StoreForm, SubjectBatchForm, SubjectForm, SubscriptionBatchForm, SubscriptionEnablerForm, SubscriptionForm, SupersedingEventEnablerForm, SupersedingEventForm, SyllabusBatchForm, SyllabusForm, SystemBatchForm, SystemForm, TermBatchForm, TermForm, TextBatchForm, TextForm, TimePeriodBatchForm, TimePeriodForm, TodoBatchForm, TodoForm, TodoProducerForm, TriggerBatchForm, TriggerEnablerForm, TriggerForm, UtilityBatchForm, UtilityForm, ValueBatchForm, ValueEnablerForm, ValueForm, VaultBatchForm, VaultForm, VoteBatchForm, VoteEnablerForm, VoteForm, VoterAllocationForm, WarehouseForm, WorkBatchForm, WorkBatchForm, WorkflowEventForm, WorkForm, WorkForm

public interface OsidObjectForm extends OsidIdentifiableForm, OsidExtensibleForm, OsidBrowsableForm

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);            
  
  • Method Details

    • getDisplayNameMetadata

      Metadata getDisplayNameMetadata()
      Gets the metadata for a display name.
      Returns:
      metadata for the display name
      Compliance:
      mandatory - This method must be implemented.
    • setDisplayName

      void setDisplayName(String displayName)
      Sets a display name. A display name is required and if not set, will be set by the provider.
      Parameters:
      displayName - the new display name
      Throws:
      InvalidArgumentException - displayName is invalid
      NoAccessException - Metadata.isReadonly() is true
      NullArgumentException - displayName is null
      Compliance:
      mandatory - This method must be implemented.
    • clearDisplayName

      void clearDisplayName()
      Clears the display name.
      Throws:
      NoAccessException - Metadata.isRequired() or Metadata.isReadOnly() is true
      Compliance:
      mandatory - This method must be implemented.
    • getDescriptionMetadata

      Metadata getDescriptionMetadata()
      Gets the metadata for a description.
      Returns:
      metadata for the description
      Compliance:
      mandatory - This method must be implemented.
    • setDescription

      void setDescription(String description)
      Sets a description.
      Parameters:
      description - the new description
      Throws:
      InvalidArgumentException - description is invalid
      NoAccessException - Metadata.isReadonly() is true
      NullArgumentException - description is null
      Compliance:
      mandatory - This method must be implemented.
    • clearDescription

      void clearDescription()
      Clears the description.
      Throws:
      NoAccessException - Metadata.isRequired() or Metadata.isReadOnly() is true
      Compliance:
      mandatory - This method must be implemented.
    • getGenusTypeMetadata

      Metadata getGenusTypeMetadata()
      Gets the metadata for a genus type.
      Returns:
      metadata for the genus
      Compliance:
      mandatory - This method must be implemented.
    • setGenusType

      void setGenusType(Type genusType)
      Sets a genus. A genus cannot be cleared because all objects have at minimum a root genus.
      Parameters:
      genusType - the new genus
      Throws:
      InvalidArgumentException - genusType is invalid
      NoAccessException - Metadata.isReadonly() is true
      NullArgumentException - genusType is null
      Compliance:
      mandatory - This method must be implemented.
    • clearGenusType

      void clearGenusType()
      Clears the genus type.
      Throws:
      NoAccessException - Metadata.isRequired() or Metadata.isReadOnly() is true
      Compliance:
      mandatory - This method must be implemented.