Class View
- All Implemented Interfaces:
ExtensionPoint,Describable<View>,DescriptorByNameOwner,ModelObject,Saveable,SearchableModelObject,SearchItem,AccessControlled,ModelObjectWithChildren,HasWidgets
TopLevelItems
that Jenkins owns.
This is an extension point in Hudson, allowing different kind of rendering to be added as plugins.
Note for implementers
-
Viewsubtypes need thenewViewDetail.jellypage, which is included in the "new view" page. This page should have some description of what the view is about.
- Author:
- Kohsuke Kawaguchi
- See Also:
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from interface hudson.ExtensionPoint
ExtensionPoint.LegacyInstancesAreScopedToHudson -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Permissionstatic final PermissionPermission to create new views.static final Permissionprotected StringMessage displayed in the view page.protected booleanIf true, only show relevant executorsprotected booleanIf true, only show relevant queue itemsstatic final DescriptorList<View> Deprecated.protected StringName of this view.static final AlternativeUiTextProvider.Message<View> "Job" in "New Job".protected ViewGroupContainer of this view.static final PermissionGroupstatic final Permissionstatic final Comparator<View> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionall()Returns all the registeredViewDescriptors.static List<ViewDescriptor> Returns theViewDescriptorinstances that can be instantiated for theViewGroupin the currentStaplerRequest2.abstract booleancontains(TopLevelItem item) Checks if the job is in this collection.static Viewcreate(org.kohsuke.stapler.StaplerRequest2 req, org.kohsuke.stapler.StaplerResponse2 rsp, ViewGroup owner) static Viewcreate(org.kohsuke.stapler.StaplerRequest req, org.kohsuke.stapler.StaplerResponse rsp, ViewGroup owner) Deprecated.static ViewcreateViewFromXML(String name, InputStream xml) Instantiate View subtype from XML stream.doCheckJobName(String value) Makes sure that the given name is good as a job name.doChildrenContextMenu(org.kohsuke.stapler.StaplerRequest2 request, org.kohsuke.stapler.StaplerResponse2 response) Generates the context menu to list up all the children.org.kohsuke.stapler.HttpResponsedoConfigDotXml(org.kohsuke.stapler.StaplerRequest req) Deprecated.org.kohsuke.stapler.HttpResponsedoConfigDotXml(org.kohsuke.stapler.StaplerRequest2 req) Acceptsconfig.xmlsubmission, as well as serve it.final voiddoConfigSubmit(org.kohsuke.stapler.StaplerRequest2 req, org.kohsuke.stapler.StaplerResponse2 rsp) Accepts submission from the configuration page.doCreateItem(org.kohsuke.stapler.StaplerRequest2 req, org.kohsuke.stapler.StaplerResponse2 rsp) Creates a newItemin this collection.doCreateItem(org.kohsuke.stapler.StaplerRequest req, org.kohsuke.stapler.StaplerResponse rsp) Deprecated.voiddoDoDelete(org.kohsuke.stapler.StaplerRequest2 req, org.kohsuke.stapler.StaplerResponse2 rsp) Deletes this view.doItemCategories(org.kohsuke.stapler.StaplerRequest2 req, org.kohsuke.stapler.StaplerResponse2 rsp, String iconStyle) An API REST method to get the allowed {$link TopLevelItem}s and its categories.voiddoRssAll(org.kohsuke.stapler.StaplerRequest2 req, org.kohsuke.stapler.StaplerResponse2 rsp) voiddoRssFailed(org.kohsuke.stapler.StaplerRequest2 req, org.kohsuke.stapler.StaplerResponse2 rsp) voiddoRssLatest(org.kohsuke.stapler.StaplerRequest2 req, org.kohsuke.stapler.StaplerResponse2 rsp) voiddoSubmitDescription(org.kohsuke.stapler.StaplerRequest2 req, org.kohsuke.stapler.StaplerResponse2 rsp) Accepts the new description.voiddoSubmitDescription(org.kohsuke.stapler.StaplerRequest req, org.kohsuke.stapler.StaplerResponse rsp) Deprecated.Gets the absolute URL of this view.getACL()Returns theACLfor this object.Returns the transientActions associated with the top page.Gets all the items recursively contained in this collection in a read-only view.List of allViewPropertys exposed primarily for the remoting API.getApi()Returns all theViewPropertyDescriptors that can be potentially configured on this view.Deprecated.UsegetQueueItems().Iterable<? extends ListViewColumn> If this view uses<t:projectView>for rendering, this method returns columns to be displayed.Message displayed in the top page.Gets the descriptor for this instance.getDynamic(String token) If this view usest:projectViewfor rendering, this method returns the indenter used to indent each row.Gets theTopLevelItemof the given name.static Permissionabstract Collection<TopLevelItem> getItems()Gets all the items in this collection in a read-only view.final TopLevelItemAlias forgetItem(String).getOwner()Gets theViewGroupthat this view belongs to.ItemGroup<? extends TopLevelItem> Deprecated.callViewGroup.getItemGroup()directlyDeprecated.callViewGroup.getPrimaryView()directlyDeprecated.callViewGroup.getViewActions()directlyReturns the page to redirect the user to, after the view is created.Gets the view properties configured for this view.Returns the URL of this item relative to the parentSearchItem.Deprecated.getUrl()Returns the path relative to the context root.Gets the name of all this collection.Same asgetUrl()except this returns a view/{name} path even for the default view.booleanDeprecated.Auto-refresh has been removedbooleanIf true, this is a view that renders the top page of Hudson.booleanBy default, return true to render the "Edit view" link on the page.booleanIf true, only show relevant executorsbooleanIf true, only show relevant queue itemsDefault implementation that returns empty index.protected voidAdd a simple CollectionSearchIndex object to sibvoidonJobRenamed(Item item, String oldName, String newName) Deprecated.Does not work properly with moved jobs.static voidvoidRenames this view.voidsave()Persists the state of this object into XML.voidsetDescription(String description) voidsetFilterExecutors(boolean filterExecutors) voidsetFilterQueue(boolean filterQueue) protected voidsubmit(org.kohsuke.stapler.StaplerRequest req) Deprecated.protected voidsubmit(org.kohsuke.stapler.StaplerRequest2 req) Handles the configuration submission.toString()voidupdateByXml(Source source) Updates the View with the new XML definition.voidDeprecated.This method does nothing and should not be usedvoidwriteXml(OutputStream out) Methods inherited from class hudson.model.AbstractModelObject
getSearch, getSearchIndex, getSearchName, requirePOST, sendError, sendError, sendError, sendError, sendError, sendError, sendError, sendErrorMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface hudson.security.AccessControlled
checkAnyPermission, checkPermission, hasAnyPermission, hasPermission, hasPermission, hasPermission2Methods inherited from interface hudson.model.DescriptorByNameOwner
getDescriptorByNameMethods inherited from interface jenkins.widgets.HasWidgets
getWidget, getWidgetsMethods inherited from interface jenkins.model.ModelObjectWithChildren
doChildrenContextMenu
-
Field Details
-
owner
Container of this view. Set right after the construction and never change thereafter. -
name
Name of this view. -
description
Message displayed in the view page. -
filterExecutors
protected boolean filterExecutorsIf true, only show relevant executors -
filterQueue
protected boolean filterQueueIf true, only show relevant queue items -
LIST
A list of available view types. -
SORTER
-
PERMISSIONS
-
CREATE
Permission to create new views. -
DELETE
-
CONFIGURE
-
READ
-
NEW_PRONOUN
"Job" in "New Job". When a view is used in a context that restricts the child type, It might be useful to override this.
-
-
Constructor Details
-
View
-
View
-
-
Method Details
-
getItems
Gets all the items in this collection in a read-only view. -
getAllItems
Gets all the items recursively contained in this collection in a read-only view.The default implementation recursively adds the items of all contained Views in case this view implements
ViewGroup, which should be enough for most cases.- Since:
- 1.520
-
getItem
Gets theTopLevelItemof the given name. -
getJob
Alias forgetItem(String). This is the one used in the URL binding. -
contains
Checks if the job is in this collection. -
getViewName
Gets the name of all this collection.- See Also:
-
rename
Renames this view.- Throws:
FailureDescriptor.FormException
-
getOwner
Gets theViewGroupthat this view belongs to. -
getOwnerItemGroup
Deprecated.callViewGroup.getItemGroup()directly -
getOwnerPrimaryView
Deprecated.callViewGroup.getPrimaryView()directly -
getOwnerViewActions
Deprecated.callViewGroup.getViewActions()directly -
getDescription
Message displayed in the top page. Can be null. Includes HTML. -
setDescription
-
getProperties
Gets the view properties configured for this view.- Since:
- 1.406
-
getApplicablePropertyDescriptors
Returns all theViewPropertyDescriptors that can be potentially configured on this view. Returns bothViewPropertyDescriptors visible and invisible for user, seegetVisiblePropertyDescriptors()to filter invisible one. -
getVisiblePropertyDescriptors
- Returns:
- all the
ViewPropertyDescriptors that can be potentially configured on this View and are visible for the user. UseDescriptorVisibilityFilterto make a View property invisible for users. - Since:
- 2.214
-
save
Description copied from interface:SaveablePersists the state of this object into XML.For making a bulk change efficiently, see
BulkChange.To support listeners monitoring changes to this object, call
SaveableListener.fireOnChange(hudson.model.Saveable, hudson.XmlFile)- Specified by:
savein interfaceSaveable- Throws:
IOException- if the persistence failed.
-
getAllProperties
List of allViewPropertys exposed primarily for the remoting API.- Since:
- 1.406
-
getDescriptor
Description copied from interface:DescribableGets the descriptor for this instance.Descriptoris a singleton for every concreteDescribableimplementation, so ifa.getClass() == b.getClass()then by defaulta.getDescriptor() == b.getDescriptor()as well. (In rare cases a single implementation class may be used for instances with distinct descriptors.)By default looks for a nested class (conventionally named
DescriptorImpl) implementingDescriptorand marked withExtension.- Specified by:
getDescriptorin interfaceDescribable<View>
-
getDisplayName
- Specified by:
getDisplayNamein interfaceModelObject
-
getNewPronoun
-
isEditable
public boolean isEditable()By default, return true to render the "Edit view" link on the page. This method is really just for the default "All" view to hide the edit link so that the default Hudson top page remains the same as before 1.316.- Since:
- 1.316
-
isAutomaticRefreshEnabled
Deprecated.Auto-refresh has been removedUsed to enable or disable automatic refreshes of the view.- Since:
- 1.557
-
isFilterExecutors
public boolean isFilterExecutors()If true, only show relevant executors -
setFilterExecutors
@DataBoundSetter public void setFilterExecutors(boolean filterExecutors) - Since:
- 2.426
-
isFilterQueue
public boolean isFilterQueue()If true, only show relevant queue items -
setFilterQueue
@DataBoundSetter public void setFilterQueue(boolean filterQueue) - Since:
- 2.426
-
getColumns
If this view uses<t:projectView>for rendering, this method returns columns to be displayed. -
getIndenter
If this view usest:projectViewfor rendering, this method returns the indenter used to indent each row. -
isDefault
public boolean isDefault()If true, this is a view that renders the top page of Hudson. -
getComputers
-
getQueueItems
-
getApproximateQueueItemsQuickly
Deprecated.UsegetQueueItems(). As of 1.607 the approximation is no longer needed.- Returns:
- The items in the queue.
-
getUrl
Returns the path relative to the context root. Doesn't start with '/' but ends with '/' (except returns empty string when this is the default view). -
getViewUrl
Same asgetUrl()except this returns a view/{name} path even for the default view. -
toString
-
getSearchUrl
Description copied from interface:SearchItemReturns the URL of this item relative to the parentSearchItem.- Specified by:
getSearchUrlin interfaceSearchItem- Returns:
- URL like "foo" or "foo/bar". The path can end with '/'. The path that starts with '/' will be interpreted as the absolute path (within the context path of Jenkins.)
-
getSearchIcon
- Specified by:
getSearchIconin interfaceSearchItem
-
getSearchGroup
- Specified by:
getSearchGroupin interfaceSearchItem
-
getActions
Returns the transientActions associated with the top page. -
updateTransientActions
@Restricted(org.kohsuke.accmod.restrictions.DoNotUse.class) @Deprecated public void updateTransientActions()Deprecated.This method does nothing and should not be usedNo-op. Included to maintain backwards compatibility. -
getDynamic
-
getAbsoluteUrl
Gets the absolute URL of this view. -
getApi
-
getPostConstructLandingPage
Returns the page to redirect the user to, after the view is created. The returned string is appended to "/view/foobar/", so for example to direct the user to the top page of the view, return "", etc. -
getACL
Returns theACLfor this object.- Specified by:
getACLin interfaceAccessControlled- Returns:
- never null.
-
onJobRenamed
Deprecated.Does not work properly with moved jobs. UseItemListener.onLocationChanged(hudson.model.Item, java.lang.String, java.lang.String)instead. -
makeSearchIndex
Add a simple CollectionSearchIndex object to sib- Parameters:
sib- the SearchIndexBuilder- Since:
- 2.200
-
makeSearchIndex
Description copied from class:AbstractModelObjectDefault implementation that returns empty index.- Overrides:
makeSearchIndexin classAbstractModelObject
-
doSubmitDescription
public void doSubmitDescription(org.kohsuke.stapler.StaplerRequest2 req, org.kohsuke.stapler.StaplerResponse2 rsp) throws IOException, jakarta.servlet.ServletException Accepts the new description.- Throws:
IOExceptionjakarta.servlet.ServletException
-
doSubmitDescription
@Deprecated @StaplerNotDispatchable public void doSubmitDescription(org.kohsuke.stapler.StaplerRequest req, org.kohsuke.stapler.StaplerResponse rsp) throws IOException, javax.servlet.ServletException Deprecated.- Throws:
IOExceptionjavax.servlet.ServletException
-
doConfigSubmit
@POST public final void doConfigSubmit(org.kohsuke.stapler.StaplerRequest2 req, org.kohsuke.stapler.StaplerResponse2 rsp) throws IOException, jakarta.servlet.ServletException, Descriptor.FormException Accepts submission from the configuration page. Subtypes should override thesubmit(StaplerRequest2)method.- Throws:
IOExceptionjakarta.servlet.ServletExceptionDescriptor.FormException
-
submit
protected void submit(org.kohsuke.stapler.StaplerRequest2 req) throws IOException, jakarta.servlet.ServletException, Descriptor.FormException Handles the configuration submission. Load view-specific properties here.- Throws:
IOExceptionjakarta.servlet.ServletExceptionDescriptor.FormException
-
submit
@Deprecated protected void submit(org.kohsuke.stapler.StaplerRequest req) throws IOException, javax.servlet.ServletException, Descriptor.FormException Deprecated.- Throws:
IOExceptionjavax.servlet.ServletExceptionDescriptor.FormException
-
doDoDelete
public void doDoDelete(org.kohsuke.stapler.StaplerRequest2 req, org.kohsuke.stapler.StaplerResponse2 rsp) throws IOException, jakarta.servlet.ServletException Deletes this view.- Throws:
IOExceptionjakarta.servlet.ServletException
-
doCreateItem
public Item doCreateItem(org.kohsuke.stapler.StaplerRequest2 req, org.kohsuke.stapler.StaplerResponse2 rsp) throws IOException, jakarta.servlet.ServletException Creates a newItemin this collection.This method should call
ModifiableItemGroup.doCreateItem(StaplerRequest2, StaplerResponse2)and then add the newly created item to this view.- Returns:
- null if fails.
- Throws:
IOExceptionjakarta.servlet.ServletException- Since:
- 2.475
-
doCreateItem
@Deprecated @StaplerNotDispatchable public Item doCreateItem(org.kohsuke.stapler.StaplerRequest req, org.kohsuke.stapler.StaplerResponse rsp) throws IOException, javax.servlet.ServletException Deprecated.- Throws:
IOExceptionjavax.servlet.ServletException
-
doCheckJobName
@Restricted(org.kohsuke.accmod.restrictions.DoNotUse.class) public FormValidation doCheckJobName(@QueryParameter String value) Makes sure that the given name is good as a job name. For use fromnewJob. -
doItemCategories
@Restricted(org.kohsuke.accmod.restrictions.DoNotUse.class) public Categories doItemCategories(org.kohsuke.stapler.StaplerRequest2 req, org.kohsuke.stapler.StaplerResponse2 rsp, @QueryParameter String iconStyle) throws IOException, jakarta.servlet.ServletException An API REST method to get the allowed {$link TopLevelItem}s and its categories.- Returns:
- A
Categoriesentity that is shown as JSON file. - Throws:
IOExceptionjakarta.servlet.ServletException
-
doRssAll
public void doRssAll(org.kohsuke.stapler.StaplerRequest2 req, org.kohsuke.stapler.StaplerResponse2 rsp) throws IOException, jakarta.servlet.ServletException - Throws:
IOExceptionjakarta.servlet.ServletException
-
doRssFailed
public void doRssFailed(org.kohsuke.stapler.StaplerRequest2 req, org.kohsuke.stapler.StaplerResponse2 rsp) throws IOException, jakarta.servlet.ServletException - Throws:
IOExceptionjakarta.servlet.ServletException
-
getBuilds
-
getTimeline
@Deprecated @Restricted(org.kohsuke.accmod.restrictions.DoNotUse.class) public BuildTimelineWidget getTimeline()Deprecated. -
doRssLatest
public void doRssLatest(org.kohsuke.stapler.StaplerRequest2 req, org.kohsuke.stapler.StaplerResponse2 rsp) throws IOException, jakarta.servlet.ServletException - Throws:
IOExceptionjakarta.servlet.ServletException
-
doConfigDotXml
@WebMethod(name="config.xml") public org.kohsuke.stapler.HttpResponse doConfigDotXml(org.kohsuke.stapler.StaplerRequest2 req) throws IOException Acceptsconfig.xmlsubmission, as well as serve it.- Throws:
IOException- Since:
- 2.475
-
doConfigDotXml
@Deprecated @StaplerNotDispatchable public org.kohsuke.stapler.HttpResponse doConfigDotXml(org.kohsuke.stapler.StaplerRequest req) throws IOException Deprecated.- Throws:
IOException
-
writeXml
- Throws:
IOException- Since:
- 1.538
-
updateByXml
Updates the View with the new XML definition.- Parameters:
source- source of the Item's new definition. The source should be either aStreamSourceorSAXSource, other sources may not be handled.- Throws:
IOException
-
doChildrenContextMenu
public ModelObjectWithContextMenu.ContextMenu doChildrenContextMenu(org.kohsuke.stapler.StaplerRequest2 request, org.kohsuke.stapler.StaplerResponse2 response) throws Exception Description copied from interface:ModelObjectWithChildrenGenerates the context menu to list up all the children.- Specified by:
doChildrenContextMenuin interfaceModelObjectWithChildren- Throws:
Exception
-
all
Returns all the registeredViewDescriptors. -
allInstantiable
Returns theViewDescriptorinstances that can be instantiated for theViewGroupin the currentStaplerRequest2.NOTE: Historically this method is only ever called from a
StaplerRequest2- Returns:
- the list of instantiable
ViewDescriptorinstances for the currentStaplerRequest2
-
registerPermissions
@Initializer(before=SYSTEM_CONFIG_LOADED) @Restricted(org.kohsuke.accmod.restrictions.DoNotUse.class) public static void registerPermissions() -
getItemCreatePermission
-
create
public static View create(org.kohsuke.stapler.StaplerRequest2 req, org.kohsuke.stapler.StaplerResponse2 rsp, ViewGroup owner) throws Descriptor.FormException, IOException, jakarta.servlet.ServletException - Throws:
Descriptor.FormExceptionIOExceptionjakarta.servlet.ServletException- Since:
- 2.475
-
create
@Deprecated public static View create(org.kohsuke.stapler.StaplerRequest req, org.kohsuke.stapler.StaplerResponse rsp, ViewGroup owner) throws Descriptor.FormException, IOException, javax.servlet.ServletException Deprecated.- Throws:
Descriptor.FormExceptionIOExceptionjavax.servlet.ServletException
-
createViewFromXML
Instantiate View subtype from XML stream.- Parameters:
name- Alternative name to use ornullto keep the one in xml.- Throws:
IOException
-
all()for read access, and useExtensionfor registration.