# Class PreferencesObject

java.lang.Object
com.codename1.properties.PreferencesObject

public final class PreferencesObject extends Object
Binds an object to the `com.codename1.io.Preferences` API for automatic persistent storage. You can use this API like the builder pattern by using the create method and chaining it with setters until bind is invoked.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `PreferencesObject`
  `bind()`
  Binds the object so it's seamlessly stored in preferences
  `static PreferencesObject`
  `create(PropertyBusinessObject bo)`
  Creates a binding object, this method doesn't do anything until bind is invoked
  `PreferencesObject`
  `setName(PropertyBase pb, String name)`
  Sets the name of the specific field not including the prefix, by default the property name is used
  `PreferencesObject`
  `setPrefix(String prefix)`
  Sets the prefix for the binding, by default the object name with a "." is the common prefix

  ### Methods inherited from class Object

  `clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Method Details

  - ### create

    public static PreferencesObject create(PropertyBusinessObject bo)

    Creates a binding object, this method doesn't do anything until bind is invoked

    ###### Parameters

    - `bo`: the business object this binding relates to

    ###### Returns

    the object controlling the binding

  - ### bind

    public PreferencesObject bind()

    Binds the object so it's seamlessly stored in preferences

    ###### Returns

    this to enable builder pattern binding

  - ### setPrefix

    public PreferencesObject setPrefix(String prefix)

    Sets the prefix for the binding, by default the object name with a "." is the common prefix

    ###### Parameters

    - `prefix`: a string that will prefix the name

    ###### Returns

    this to enable builder pattern binding

  - ### setName

    public PreferencesObject setName(PropertyBase pb, String name)

    Sets the name of the specific field not including the prefix, by default the property name is used

    ###### Parameters

    - `pb`: the property

    - `name`: the name for the property

    ###### Returns

    this to enable builder pattern binding