Class HudsonPrivateSecurityRealm.Details.DescriptorImpl

All Implemented Interfaces:
Saveable, Loadable, OnMaster
Enclosing class:

@Extension @Symbol("password") public static final class HudsonPrivateSecurityRealm.Details.DescriptorImpl extends UserPropertyDescriptor
  • Constructor Details

    • DescriptorImpl

      public DescriptorImpl()
  • Method Details

    • getDisplayName

      @NonNull public String getDisplayName()
      Description copied from class: Descriptor
      Human readable name of this kind of configurable object. Should be overridden for most descriptors, if the display name is visible somehow. As a fallback it uses Class.getSimpleName() on Descriptor.clazz, so for example MyThing from some.pkg.MyThing.DescriptorImpl. Historically some implementations returned null as a way of hiding the descriptor from the UI, but this is generally managed by an explicit method such as isEnabled or isApplicable.
      getDisplayName in class Descriptor<UserProperty>
    • newInstance

      public HudsonPrivateSecurityRealm.Details newInstance(org.kohsuke.stapler.StaplerRequest req, net.sf.json.JSONObject formData) throws Descriptor.FormException
      Description copied from class: Descriptor
      Creates a configured instance from the submitted form.

      Hudson only invokes this method when the user wants an instance of T. So there's no need to check that in the implementation.

      The default implementation of this method uses Descriptor.bindJSON(org.kohsuke.stapler.StaplerRequest, java.lang.Class<T>, net.sf.json.JSONObject) which performs the databinding on the constructor of Descriptor.clazz.

      For some types of Describable, such as ListViewColumn, this method can be invoked with null request object for historical reason. Such design is considered broken, but due to the compatibility reasons we cannot fix it. Because of this, the default implementation gracefully handles null request, but the contract of the method still is "request is always non-null." Extension points that need to define the "default instance" semantics should define a descriptor subtype and add the no-arg newInstance method.

      newInstance in class Descriptor<UserProperty>
      req - Always non-null (see note above.) This object includes represents the entire submission.
      formData - The JSON object that captures the configuration data for this Descriptor. See the developer documentation. Always non-null.
      Descriptor.FormException - Signals a problem in the submitted form.
    • isEnabled

      public boolean isEnabled()
      Description copied from class: UserPropertyDescriptor
      Whether or not the described property is enabled in the current context. Defaults to true. Over-ride in sub-classes as required.

      Returning false from this method essentially has the same effect of making Hudson behaves as if this UserPropertyDescriptor is not a part of UserProperty.all().

      This mechanism is useful if the availability of the property is contingent of some other settings.

      isEnabled in class UserPropertyDescriptor
    • newInstance

      public UserProperty newInstance(User user)
      Description copied from class: UserPropertyDescriptor
      Creates a default instance of UserProperty to be associated with User object that wasn't created from a persisted XML data.

      See User class javadoc for more details about the life cycle of User and when this method is invoked.

      Specified by:
      newInstance in class UserPropertyDescriptor
      null if the implementation choose not to add any property object for such user.
    • getUserPropertyCategory

      @NonNull public UserPropertyCategory getUserPropertyCategory()
      Description copied from class: UserPropertyDescriptor
      Define the category for this user property descriptor.
      getUserPropertyCategory in class UserPropertyDescriptor
      never null, always the same value for a given instance of Descriptor.