Interface OsidForm

All Superinterfaces:
Identifiable, 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, AllocationForm, 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, IdBatchForm, IdForm, 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, OsidAggregateableForm, OsidBrowsableForm, OsidCapsuleForm, OsidCatalogForm, OsidCompendiumForm, OsidConstrainerForm, OsidContainableForm, OsidEffectuatorForm, OsidEnablerForm, OsidExtensibleForm, OsidFederateableForm, OsidGovernatorForm, OsidIdentifiableForm, OsidObjectForm, OsidOperableForm, OsidOperatorForm, OsidProcessorForm, OsidRelationshipForm, OsidRequestForm, OsidRuleApplicatorForm, OsidRuleForm, OsidSourceableForm, OsidSubjugateableForm, OsidTemporalForm, 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, RuleForm, 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, TypeForm, UtilityBatchForm, UtilityForm, ValueBatchForm, ValueEnablerForm, ValueForm, VaultBatchForm, VaultForm, VoteBatchForm, VoteEnablerForm, VoteForm, VoterAllocationForm, WarehouseForm, WorkBatchForm, WorkBatchForm, WorkflowEventForm, WorkForm, WorkForm

public interface OsidForm extends Identifiable, Suppliable

The OsidForm is the vehicle used to create and update objects. The form is a container for data to be sent to an update or create method of a session. Applications should persist their own data until a form is successfully submitted in an update or create transaction.

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.

OsidForms are Identifiable . The Id of the OsidForm is used to uniquely identify the update or create transaction and not that of the object being updated. Currently, it is not necessary to have these Ids persisted.

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

    • isForUpdate

      boolean isForUpdate()
      Tests if this form is for an update operation.
      Returns:
      true if this form is for an update operation, false if for a create operation
      Compliance:
      mandatory - This method must be implemented.
    • getDefaultLocale

      Locale getDefaultLocale()
      Gets a default locale for the form.
      Returns:
      the default locale
      Compliance:
      mandatory - This method must be implemented.
    • getLocales

      LocaleList getLocales()
      Gets the locales available for this form.
      Returns:
      list of available locales
      Compliance:
      mandatory - This method must be implemented.
    • setLocale

      void setLocale(Type languageType, Type scriptType)
      Specifies a language and script type for the form.
      Parameters:
      languageType - the language type
      scriptType - the script type
      Throws:
      NullArgumentException - languageType or scriptType is null
      Compliance:
      mandatory - This method must be implemented.
    • getJournalCommentMetadata

      Metadata getJournalCommentMetadata()
      Gets the metadata for the comment corresponding to this form submission. The comment is used for describing the nature of the change to the corresponding object for the purposes of logging and auditing.
      Returns:
      metadata for the comment
      Compliance:
      mandatory - This method must be implemented.
    • setJournalComment

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

      boolean isValid() throws OperationFailedException
      Tests if this form is in a valid state for submission. A form is valid if all required data has been supplied compliant with any constraints.
      Returns:
      false if there is a known error in this form, true otherwise
      Throws:
      OperationFailedException - attempt to perform validation failed
      Compliance:
      mandatory - This method must be implemented.
    • getValidationMessages

      DisplayText[] getValidationMessages()
      Gets text messages corresponding to additional instructions to pass form validation.
      Returns:
      a list of messages
      Compliance:
      mandatory - This method must be implemented.
    • getInvalidMetadata

      Metadata[] getInvalidMetadata()
      Gets a list of metadata for the elements in this form which are not valid.
      Returns:
      invalid metadata
      Compliance:
      mandatory - This method must be implemented.