OSID Logo
OSID Specifications
room construction package
Version 3.0.0
Release Candidate Preview
Interfaceosid.room.construction.ProjectLookupSession
Implementsosid.OsidSession
Description

This session provides methods for retrieving Project objects. The Project represents a construction of a building.

This session defines views that offer differing behaviors when retrieving multiple objects.

  • comparative view: elements may be silently omitted or re-ordered
  • plenary view: provides a complete set or is an error condition
  • isolated campus view: All room methods in this session operate, retrieve and pertain to projects defined explicitly in the current campus. Using an isolated view is useful for managing projects with the ProjectAdminSession.
  • federated campus view: All project lookup methods in this session operate, retrieve and pertain to all projects defined in this campus and any other campuses implicitly available in this campus through campus inheritence.
  • effective project view: All project lookup methods return effective projects.
  • any effective project view: projects of any effective date are returned.
MethodgetCampusId
Description

Gets the Campus Id associated with this session.

Returnosid.id.Idthe Campus Id associated with this session
CompliancemandatoryThis method must be implemented.
MethodgetCampus
Description

Gets the Campus associated with this session.

Returnosid.room.Campusthe campus
ErrorsOPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodcanLookupProjects
Description

Tests if this user can perform Project lookups. A return of true does not guarantee successful authorization. A return of false indicates that it is known all methods in this session will result in a PERMISSION_DENIED. This is intended as a hint to an application that may not offer lookup operations to unauthorized users.

Returnboolean false if lookup methods are not authorized, true otherwise
CompliancemandatoryThis method must be implemented.
MethoduseComparativeProjectView
Description

The returns from the lookup methods may omit or translate elements based on this session, such as authorization, and not result in an error. This view is used when greater interoperability is desired at the expense of precision.

CompliancemandatoryThis method is must be implemented.
MethodusePlenaryProjectView
Description

A complete view of the Project returns is desired. Methods will return what is requested or result in an error. This view is used when greater precision is desired at the expense of interoperability.

CompliancemandatoryThis method is must be implemented.
MethoduseFederatedCampusView
Description

Federates the view for methods in this session. A federated view will include projects in campuses which are children of this campus in the campus hierarchy.

CompliancemandatoryThis method is must be implemented.
MethoduseIsolatedCampusView
Description

Isolates the view for methods in this session. An isolated view restricts retrievals to this campus only.

CompliancemandatoryThis method is must be implemented.
MethoduseEffectiveProjectView
Description

Only projects whose effective dates are current are returned by methods in this session

CompliancemandatoryThis method is must be implemented.
MethoduseAnyEffectiveProjectView
Description

Projects of any effective dates are returned by all methods in this session.

CompliancemandatoryThis method is must be implemented.
MethodgetProject
Description

Gets the Project specified by its Id.

In plenary mode, the exact Id is found or a NOT_FOUND results. Otherwise, the returned Project may have a different Id than requested, such as the case where a duplicate Id was assigned to a Project and retained for compatibility.

In effective mode, projects are returned that are currently effective. In any effective mode, effective projects and those currently expired are returned.

Parametersosid.id.IdprojectId Id of the Project
Returnosid.room.construction.Projectthe project
ErrorsNOT_FOUND projectId not found
NULL_ARGUMENT projectId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method is must be implemented.
MethodgetProjectsByIds
Description

Gets a ProjectList corresponding to the given IdList.

In plenary mode, the returned list contains all of the projects specified in the Id list, in the order of the list, including duplicates, or an error results if an Id in the supplied list is not found or inaccessible. Otherwise, inaccessible Projects may be omitted from the list and may present the elements in any order including returning a unique set.

In effective mode, projects are returned that are currently effective. In any effective mode, effective projects and those currently expired are returned.

Parametersosid.id.IdListprojectIdsthe list of Ids to retrieve
Returnosid.room.construction.ProjectListthe returned Project list
ErrorsNOT_FOUNDan Id was not found
NULL_ARGUMENT projectIds is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetProjectsByGenusType
Description

Gets a ProjectList corresponding to the given project genus Type which does not include projects of genus types derived from the specified Type.

In plenary mode, the returned list contains all known projects or an error results. Otherwise, the returned list may contain only those projects that are accessible through this session.

In effective mode, projects are returned that are currently effective. In any effective mode, effective projects and those currently expired are returned.

Parametersosid.type.TypeprojectGenusTypea project genus type
Returnosid.room.construction.ProjectListthe returned Project list
ErrorsNULL_ARGUMENT projectGenusType is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetProjectsByParentGenusType
Description

Gets a ProjectList corresponding to the given project genus Type and include any additional projects with genus types derived from the specified Type.

In plenary mode, the returned list contains all known projects or an error results. Otherwise, the returned list may contain only those projects that are accessible through this session.

In effective mode, projects are returned that are currently effective. In any effective mode, effective projects and those currently expired are returned.

Parametersosid.type.TypeprojectGenusTypea project genus type
Returnosid.room.construction.ProjectListthe returned Project list
ErrorsNULL_ARGUMENT projectGenusType is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetProjectsByRecordType
Description

Gets a ProjectList containing the given project record Type.

In plenary mode, the returned list contains all known projects or an error results. Otherwise, the returned list may contain only those projects that are accessible through this session.

In effective mode, projects are returned that are currently effective. In any effective mode, effective projects and those currently expired are returned.

Parametersosid.type.TypeprojectRecordTypea project record type
Returnosid.room.construction.ProjectListthe returned Project list
ErrorsNULL_ARGUMENT projectRecordType is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetProjectsOnDate
Description

Gets a list of all projects effective during the entire given date range inclusive but not confined to the date range.

In plenary mode, the returned list contains all known projects or an error results. Otherwise, the returned list may contain only those projects that are accessible through this session.

In effective mode, projects are returned that are currently effective. In any effective mode, effective projects and those currently expired are returned.

Parametersosid.calendaring.DateTimefromstart of date range
osid.calendaring.DateTimetoend of date range
Returnosid.room.construction.ProjectListthe returned Project list
ErrorsINVALID_ARGUMENT from is greater than to
NULL_ARGUMENT from or to is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetProjectsByGenusTypeOnDate
Description

Gets a list of all projects with a genus type and effective during the entire given date range inclusive but not confined to the date range.

In plenary mode, the returned list contains all known projects or an error results. Otherwise, the returned list may contain only those projects that are accessible through this session.

In effective mode, projects are returned that are currently effective. In any effective mode, effective projects and those currently expired are returned.

Parametersosid.type.TypeprojectGenusTypea project genus type
osid.calendaring.DateTimefromstart of date range
osid.calendaring.DateTimetoend of date range
Returnosid.room.construction.ProjectListthe returned Project list
ErrorsINVALID_ARGUMENT from is greater than to
NULL_ARGUMENT projectGenusType, from or to is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetProjectsForBuilding
Description

Gets a ProjectList containing the given building .

In plenary mode, the returned list contains all known projects or an error results. Otherwise, the returned list may contain only those projects that are accessible through this session.

In effective mode, projects are returned that are currently effective. In any effective mode, effective projects and those currently expired are returned.

Parametersosid.id.IdbuildingIda building Id
Returnosid.room.construction.ProjectListthe returned Project list
ErrorsNULL_ARGUMENT buildingId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetProjectsByGenusTypeForBuilding
Description

Gets a ProjectList containing the given building and genus type .

In plenary mode, the returned list contains all known projects or an error results. Otherwise, the returned list may contain only those projects that are accessible through this session.

In effective mode, projects are returned that are currently effective. In any effective mode, effective projects and those currently expired are returned.

Parametersosid.id.IdbuildingIda building Id
osid.type.TypeprojectGenusTypea project genus type
Returnosid.room.construction.ProjectListthe returned Project list
ErrorsNULL_ARGUMENT buildingId or projectGenusType is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetProjectsForBuildingOnDate
Description

Gets a list of all projects for a building effective during the entire given date range inclusive but not confined to the date range.

In plenary mode, the returned list contains all known projects or an error results. Otherwise, the returned list may contain only those projects that are accessible through this session.

In effective mode, projects are returned that are currently effective. In any effective mode, effective projects and those currently expired are returned.

Parametersosid.id.IdbuildingIda building Id
osid.calendaring.DateTimefromstart of date range
osid.calendaring.DateTimetoend of date range
Returnosid.room.construction.ProjectListthe returned Project list
ErrorsINVALID_ARGUMENT from is greater than to
NULL_ARGUMENT buildingId, from or to is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetProjectsByGenusTypeForBuildingOnDate
Description

Gets a list of all projects for a building with a genus type and effective during the entire given date range inclusive but not confined to the date range.

In plenary mode, the returned list contains all known projects or an error results. Otherwise, the returned list may contain only those projects that are accessible through this session.

In effective mode, projects are returned that are currently effective. In any effective mode, effective projects and those currently expired are returned.

Parametersosid.id.IdbuildingIda building Id
osid.type.TypeprojectGenusTypea project genus type
osid.calendaring.DateTimefromstart of date range
osid.calendaring.DateTimetoend of date range
Returnosid.room.construction.ProjectListthe returned Project list
ErrorsINVALID_ARGUMENT from is greater than to
NULL_ARGUMENT buildingId, projectGenusType, from or to is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetProjects
Description

Gets all Projects.

In plenary mode, the returned list contains all known projects or an error results. Otherwise, the returned list may contain only those projects that are accessible through this session.

In effective mode, projects are returned that are currently effective. In any effective mode, effective projects and those currently expired are returned.

Returnosid.room.construction.ProjectLista list of Projects
ErrorsOPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.