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
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classMyViewsProperty.DescriptorImplstatic classMyViewsProperty.GlobalAction-
Nested classes/interfaces inherited from interface hudson.ExtensionPoint
ExtensionPoint.LegacyInstancesAreScopedToHudson
-
-
Field Summary
Fields Modifier and Type Field Description static booleanSKIP_PERMISSION_CHECKEscape hatch for StaplerProxy-based access control-
Fields inherited from class hudson.model.UserProperty
user
-
-
Constructor Summary
Constructors Constructor Description MyViewsProperty(String primaryViewName)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddView(View view)booleancanDelete(View view)Determine whether a view may be deleted.voiddeleteView(View view)Deletes a view in this group.voiddoCreateView(org.kohsuke.stapler.StaplerRequest req, org.kohsuke.stapler.StaplerResponse rsp)org.kohsuke.stapler.HttpResponsedoIndex()FormValidationdoViewExistsCheck(String value, boolean exists)Checks if a private view with the given name exists.ACLgetACL()Obtains the ACL associated with this object.StringgetDisplayName()Gets the string to be displayed.StringgetIconFileName()Gets the name of the icon.MyViewsTabBargetMyViewsTabBar()ViewgetPrimaryView()If the view group renders one view in its own URL (like Jenkins top page does), then that view is called the primary view.StringgetPrimaryViewName()ObjectgetStaplerFallback()ObjectgetTarget()StringgetUrl()Returns the path of this group, relative to the context root, like "foo/bar/zot/".StringgetUrlName()Gets the URL path name.UsergetUser()ViewgetView(String name)Gets a view of the given name.List<Action>getViewActions()Returns actions that should be displayed in views.Collection<View>getViews()Gets all the views in this group.ViewsTabBargetViewsTabBar()Gets the TabBar for the views.voidonViewRenamed(View view, String oldName, String newName)Viewcalls this method when it's renamed.ObjectreadResolve()UserPropertyreconfigure(org.kohsuke.stapler.StaplerRequest req, net.sf.json.JSONObject form)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.voidsave()Persists the state of this object into XML.voidsetPrimaryViewName(String primaryViewName)Sets the primary view.-
Methods inherited from class hudson.model.UserProperty
all, getDescriptor, setUser
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface hudson.security.AccessControlled
checkAnyPermission, checkPermission, hasAnyPermission, hasPermission, hasPermission, hasPermission2
-
Methods inherited from interface hudson.model.ViewGroup
getAllViews, getItemGroup
-
-
-
-
Constructor Detail
-
MyViewsProperty
@DataBoundConstructor public MyViewsProperty(@CheckForNull String primaryViewName)
-
-
Method Detail
-
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.nullto make the primary view undefined.
-
getUser
public User getUser()
-
getUrl
public String getUrl()
Description copied from interface:ViewGroupReturns the path of this group, relative to the context root, like "foo/bar/zot/". Note no leading slash but trailing slash.
-
save
public void save() throws IOExceptionDescription 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.
-
getViews
public Collection<View> getViews()
Description copied from interface:ViewGroupGets all the views in this group.
-
getView
public View getView(String name)
Description copied from interface:ViewGroupGets a view of the given name. This also creates the URL binding for views (in the form of ".../view/FOOBAR/...")
-
canDelete
public boolean canDelete(View view)
Description copied from interface:ViewGroupDetermine whether a view may be deleted.
-
deleteView
public void deleteView(View view) throws IOException
Description copied from interface:ViewGroupDeletes a view in this group.- Specified by:
deleteViewin interfaceViewGroup- Throws:
IOException
-
onViewRenamed
public void onViewRenamed(View view, String oldName, String newName)
Description copied from interface:ViewGroupViewcalls this method when it's renamed. This method is intended to work as a notification to theViewGroup(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:
onViewRenamedin interfaceViewGroup
-
addView
public void addView(View view) throws IOException
Description copied from interface:ModifiableViewGroup- Specified by:
addViewin interfaceModifiableViewGroup- Throws:
IOException
-
getPrimaryView
public View getPrimaryView()
Description copied from interface:ViewGroupIf 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:
getPrimaryViewin interfaceViewGroup- Returns:
- by default, null
-
doIndex
public org.kohsuke.stapler.HttpResponse doIndex()
-
doCreateView
@POST public void doCreateView(org.kohsuke.stapler.StaplerRequest req, org.kohsuke.stapler.StaplerResponse rsp) throws IOException, javax.servlet.ServletException, ParseException, Descriptor.FormException- Throws:
IOExceptionjavax.servlet.ServletExceptionParseExceptionDescriptor.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:AccessControlledObtains the ACL associated with this object.- Specified by:
getACLin interfaceAccessControlled- Returns:
- never null.
-
getDisplayName
public String getDisplayName()
Description copied from interface:ActionGets the string to be displayed. The convention is to capitalize the first letter of each word, such as "Test Result".- Specified by:
getDisplayNamein interfaceAction- Specified by:
getDisplayNamein interfaceModelObject- Returns:
- Can be null in case the action is hidden.
-
getIconFileName
public String getIconFileName()
Description copied from interface:ActionGets the name of the icon.- Specified by:
getIconFileNamein interfaceAction- 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.jellyand 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:
- Jenkins Symbols,
Functions.isAnonymous(),Functions.getIconFilePath(Action)
-
getUrlName
public String getUrlName()
Description copied from interface:ActionGets 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:
getUrlNamein interfaceAction- 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:
Functions.getActionUrl(String, Action)
-
getTarget
public Object getTarget()
- Specified by:
getTargetin interfaceorg.kohsuke.stapler.StaplerProxy
-
reconfigure
public UserProperty reconfigure(org.kohsuke.stapler.StaplerRequest req, net.sf.json.JSONObject form) throws Descriptor.FormException
Description copied from interface:ReconfigurableDescribableWhen 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:
reconfigurein interfaceReconfigurableDescribable<UserProperty>- Overrides:
reconfigurein classUserProperty- 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:ViewGroupGets 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:
getViewsTabBarin interfaceViewGroup
-
getViewActions
public List<Action> getViewActions()
Description copied from interface:ViewGroupReturns 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:
getViewActionsin interfaceViewGroup- Returns:
- may be empty but never null;
Jenkins.getActions()by default - See Also:
Actionable.getActions()
-
getStaplerFallback
public Object getStaplerFallback()
- Specified by:
getStaplerFallbackin interfaceorg.kohsuke.stapler.StaplerFallback
-
getMyViewsTabBar
public MyViewsTabBar getMyViewsTabBar()
-
-