Package hudson.model

Class MyViewsProperty

java.lang.Object
hudson.model.UserProperty
hudson.model.MyViewsProperty
All Implemented Interfaces:
ExtensionPoint, Action, Describable<UserProperty>, ModelObject, ModifiableViewGroup, ReconfigurableDescribable<UserProperty>, Saveable, ViewGroup, AccessControlled, org.kohsuke.stapler.StaplerFallback, org.kohsuke.stapler.StaplerProxy

public class MyViewsProperty extends UserProperty implements ModifiableViewGroup, Action, org.kohsuke.stapler.StaplerFallback, org.kohsuke.stapler.StaplerProxy
A UserProperty that remembers user-private views.
Author:
Tom Huybrechts
  • Field Details

    • SKIP_PERMISSION_CHECK

      @Restricted(org.kohsuke.accmod.restrictions.NoExternalUse.class) public static boolean SKIP_PERMISSION_CHECK
      Escape hatch for StaplerProxy-based access control
  • Constructor Details

    • MyViewsProperty

      @DataBoundConstructor public MyViewsProperty(@CheckForNull String primaryViewName)
  • Method Details

    • readResolve

      @Restricted(org.kohsuke.accmod.restrictions.NoExternalUse.class) public Object readResolve()
    • getPrimaryViewName

      @CheckForNull public String getPrimaryViewName()
    • setPrimaryViewName

      public void setPrimaryViewName(@CheckForNull String primaryViewName)
      Sets the primary view.
      Parameters:
      primaryViewName - Name of the primary view to be set. null to make the primary view undefined.
    • getUser

      public User getUser()
    • getUrl

      public String getUrl()
      Description copied from interface: ViewGroup
      Returns the path of this group, relative to the context root, like "foo/bar/zot/". Note no leading slash but trailing slash.
      Specified by:
      getUrl in interface ViewGroup
    • save

      public void save() throws IOException
      Description copied from interface: Saveable
      Persists 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:
      save in interface Saveable
      Throws:
      IOException - if the persistence failed.
    • getViews

      public Collection<View> getViews()
      Description copied from interface: ViewGroup
      Gets all the views in this group.
      Specified by:
      getViews in interface ViewGroup
      Returns:
      can be empty but never null.
    • getView

      public View getView(String name)
      Description copied from interface: ViewGroup
      Gets a view of the given name. This also creates the URL binding for views (in the form of ".../view/FOOBAR/...")
      Specified by:
      getView in interface ViewGroup
    • canDelete

      public boolean canDelete(View view)
      Description copied from interface: ViewGroup
      Determine whether a view may be deleted.
      Specified by:
      canDelete in interface ViewGroup
    • deleteView

      public void deleteView(View view) throws IOException
      Description copied from interface: ViewGroup
      Deletes a view in this group.
      Specified by:
      deleteView in interface ViewGroup
      Throws:
      IOException
    • onViewRenamed

      public void onViewRenamed(View view, String oldName, String newName)
      Description copied from interface: ViewGroup
      View calls this method when it's renamed. This method is intended to work as a notification to the ViewGroup (so that it can adjust its internal data structure, for example.)

      It is the caller's responsibility to ensure that the new name is a legal view name.

      Specified by:
      onViewRenamed in interface ViewGroup
    • addView

      public void addView(View view) throws IOException
      Description copied from interface: ModifiableViewGroup
      Add new View to this ViewGroup.
      Specified by:
      addView in interface ModifiableViewGroup
      Throws:
      IOException
    • getPrimaryView

      public View getPrimaryView()
      Description copied from interface: ViewGroup
      If the view group renders one view in its own URL (like Jenkins top page does), then that view is called the primary view. In this case, the hyperlink to the primary view points to the view group itself.

      If the view group doesn't do such rendering, this method can always return null.

      Specified by:
      getPrimaryView in interface ViewGroup
      Returns:
      by default, null
    • doIndex

      public org.kohsuke.stapler.HttpResponse doIndex()
    • doCreateView

      @POST public void doCreateView(org.kohsuke.stapler.StaplerRequest2 req, org.kohsuke.stapler.StaplerResponse2 rsp) throws IOException, jakarta.servlet.ServletException, ParseException, Descriptor.FormException
      Throws:
      IOException
      jakarta.servlet.ServletException
      ParseException
      Descriptor.FormException
    • doViewExistsCheck

      public FormValidation doViewExistsCheck(@QueryParameter String value, @QueryParameter boolean exists)
      Checks if a private view with the given name exists. An error is returned if exists==true but the view does not exist. An error is also returned if exists==false but the view does exist.
    • getACL

      public ACL getACL()
      Description copied from interface: AccessControlled
      Obtains the ACL associated with this object.
      Specified by:
      getACL in interface AccessControlled
      Returns:
      never null.
    • getDisplayName

      public String getDisplayName()
      Description copied from interface: Action
      Gets the string to be displayed. The convention is to capitalize the first letter of each word, such as "Test Result".
      Specified by:
      getDisplayName in interface Action
      Specified by:
      getDisplayName in interface ModelObject
      Returns:
      Can be null in case the action is hidden.
    • getIconFileName

      public String getIconFileName()
      Description copied from interface: Action
      Gets the name of the icon.
      Specified by:
      getIconFileName in interface Action
      Returns:
      If the icon name is prefixed with "symbol-", a Jenkins Symbol will be used.

      If just a file name (like "abc.gif") is returned, it will be interpreted as a file name inside /images/24x24. This is useful for using one of the stock images.

      If an absolute file name that starts from '/' is returned (like "/plugin/foo/abc.gif"), then it will be interpreted as a path from the context root of Jenkins. This is useful to pick up image files from a plugin.

      Finally, return null to hide it from the task list. This is normally not very useful, but this can be used for actions that only contribute floatBox.jelly and no task list item. The other case where this is useful is to avoid showing links that require a privilege when the user is anonymous.

      See Also:
    • getUrlName

      public String getUrlName()
      Description copied from interface: Action
      Gets the URL path name.

      For example, if this method returns "xyz", and if the parent object (that this action is associated with) is bound to /foo/bar/zot, then this action object will be exposed to /foo/bar/zot/xyz.

      This method should return a string that's unique among other Actions.

      The returned string can be an absolute URL, like "http://www.sun.com/", which is useful for directly connecting to external systems.

      If the returned string starts with '/', like '/foo', then it's assumed to be relative to the context path of the Jenkins webapp.

      Specified by:
      getUrlName in interface Action
      Returns:
      null if this action object doesn't need to be bound to web (when you do that, be sure to also return null from Action.getIconFileName().
      See Also:
    • getTarget

      public Object getTarget()
      Specified by:
      getTarget in interface org.kohsuke.stapler.StaplerProxy
    • reconfigure

      public UserProperty reconfigure(org.kohsuke.stapler.StaplerRequest2 req, net.sf.json.JSONObject form) throws Descriptor.FormException
      Description copied from interface: ReconfigurableDescribable
      When a parent/owner object of a Describable gets a config form submission and instances are recreated, this method is invoked on the existing instance (meaning the 'this' reference points to the existing instance) to create a new instance to be added to the parent/owner object.

      The default implementation of this should be the following:

       return form==null ? null : getDescriptor().newInstance(req, form);
       
      Specified by:
      reconfigure in interface ReconfigurableDescribable<UserProperty>
      Overrides:
      reconfigure in class UserProperty
      Parameters:
      req - The current HTTP request being processed.
      form - JSON fragment that corresponds to this describable object. If the newly submitted form doesn't include a fragment for this describable (meaning the user has de-selected your descriptor), then this argument is null.
      Returns:
      The new instance. To not to create an instance of a describable, return null.
      Throws:
      Descriptor.FormException
    • getViewsTabBar

      public ViewsTabBar getViewsTabBar()
      Description copied from interface: ViewGroup
      Gets the TabBar for the views. TabBar for views can be provided by extension. Only one TabBar can be active at a given time (Selectable by user in the global Configuration page). Default TabBar is provided by Hudson Platform.
      Specified by:
      getViewsTabBar in interface ViewGroup
    • getViewActions

      public List<Action> getViewActions()
      Description copied from interface: ViewGroup
      Returns actions that should be displayed in views.

      In this interface, the return value is used read-only. This doesn't prevent subtypes from returning modifiable actions, however.

      Specified by:
      getViewActions in interface ViewGroup
      Returns:
      may be empty but never null; Jenkins.getActions() by default
      See Also:
    • getStaplerFallback

      public Object getStaplerFallback()
      Specified by:
      getStaplerFallback in interface org.kohsuke.stapler.StaplerFallback
    • getMyViewsTabBar

      public MyViewsTabBar getMyViewsTabBar()