Package com.orchestranetworks.schema.dynamic

# Interface BeanDefinition

public interface BeanDefinition
This interface is used to define the schema associated with a non-persistent bean object (as opposed to a record or a dataset).

The root element for the schema of a dynamic bean is defined internally by EBX®. Therefore, all paths used by means of this class are relative to this root element and must be prefixed by './'.

Since:
  5.8.0
See Also:
  - `UserServiceObjectContextBuilder.createBeanDefinition()`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final SchemaTypeName`
  `OSD_FILE_UPLOAD`
  Special type used to create a file upload element.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `BeanElement`
  `createComplexElement(Path aPath)`
  Creates a complex type element (a group).
  `BeanElement`
  `createComplexElement(Path aPath, Class<?> aClassToInstantiate)`
  Creates a complex type element (a group), mapped to a JavaBean.
  `BeanElement`
  `createElement(Path aPath, SchemaTypeName aTypeName)`
  Creates a simple type element (a field).

- ## Field Details

  - ### OSD_FILE_UPLOAD

    static final SchemaTypeName OSD_FILE_UPLOAD
    Special type used to create a file upload element.
    See Also:
      - `UploadedFile`

- ## Method Details

  - ### createComplexElement

    BeanElement createComplexElement(Path aPath)
    Creates a complex type element (a group).
    Parameters:
      `aPath` - the path of the element relative to the root one.
    Returns:
      the element.

  - ### createComplexElement

    BeanElement createComplexElement(Path aPath, Class<?> aClassToInstantiate)
    Creates a complex type element (a group), mapped to a JavaBean.
    Parameters:
      `aPath` - the path of the element relative to the root one.
      `aClassToInstantiate` - the class of the JavaBean to instantiate and map to the element.
    Returns:
      the element.

  - ### createElement

    BeanElement createElement(Path aPath, SchemaTypeName aTypeName)
    Creates a simple type element (a field).

    The element type can be any type supported by EBX® except `osd:resource`, `osd:UDA` and `osd:UDACatalog`.

    Parameters:
      `aPath` - the path of the element relative to the root one.
      `aTypeName` - the type of the element.
    Returns:
      the element.