DesignMode (Java SE 26 & JDK 26)
Description: declaration: module: java.desktop, package: java.beans, interface: DesignMode
Keywords: java.beans.DesignMode interface

# Interface DesignMode

All Known Subinterfaces:
  `BeanContext, BeanContextServices`

All Known Implementing Classes:
  `BeanContextServicesSupport, BeanContextSupport`

public interface DesignMode

This interface is intended to be implemented by, or delegated from, instances of java.beans.beancontext.BeanContext, in order to propagate to its nested hierarchy of java.beans.beancontext.BeanContextChild instances, the current "designTime" property.

The JavaBeans specification defines the notion of design time as is a mode in which JavaBeans instances should function during their composition and customization in a interactive design, composition or construction tool, as opposed to runtime when the JavaBean is part of an application, or other live Java executable abstraction.

Since:
  1.2
See Also:
  - `BeanContext`
  - `BeanContextChild`
  - `BeanContextMembershipListener`
  - `PropertyChangeEvent`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `PROPERTYNAME`
  The standard value of the propertyName as fired from a BeanContext or other source of PropertyChangeEvents.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `isDesignTime()`
  A value of true denotes that JavaBeans should behave in design time mode, a value of false denotes runtime behavior.
  `void`
  `setDesignTime(boolean designTime)`
  Sets the "value" of the "designTime" property.

- ## Field Details

  - ### PROPERTYNAME

    static final String PROPERTYNAME
    The standard value of the propertyName as fired from a BeanContext or other source of PropertyChangeEvents.
    See Also:
      - Constant Field Values

- ## Method Details

  - ### setDesignTime

    void setDesignTime(boolean designTime)
    Sets the "value" of the "designTime" property.

    If the implementing object is an instance of java.beans.beancontext.BeanContext, or a subinterface thereof, then that BeanContext should fire a PropertyChangeEvent, to its registered BeanContextMembershipListeners, with parameters:

    - `propertyName` - `java.beans.DesignMode.PROPERTYNAME`
    - `oldValue` - previous value of "designTime"
    - `newValue` - current value of "designTime"
    Note it is illegal for a BeanContextChild to invoke this method associated with a BeanContext that it is nested within.
    Parameters:
      `designTime` - the current "value" of the "designTime" property
    See Also:
      - `BeanContext`
      - `BeanContextMembershipListener`
      - `PropertyChangeEvent`

  - ### isDesignTime

    boolean isDesignTime()
    A value of true denotes that JavaBeans should behave in design time mode, a value of false denotes runtime behavior.
    Returns:
      the current "value" of the "designTime" property.