Package org.instancio.settings
Class Settings
java.lang.Object
org.instancio.settings.Settings
This class provides an API for updating settings programmatically.
An instance of this class can be created using one of the following static methods:
create()
- returns a new instance of blank settingsdefaults()
- returns a new instance containing default settings
Out of the box, Instancio uses default settings as returned by defaults()
.
Defaults can be overridden either globally using a configuration file, or per-object
using the API, for example:
// Create a blank instance of settings and set the overrides
Settings settings = Settings.create()
.set(Keys.COLLECTION_MIN_SIZE, 50)
.set(Keys.COLLECTION_MAX_SIZE, 100);
// Pass the overrides when creating an object
Person person = Instancio.of(Person.class)
.withSettings(settings)
.create();
For information on how to override settings globally using a configuration file, please refer to the user guide.
- Since:
- 1.0.1
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionstatic Settings
create()
Create a new instance of empty settings.static Settings
defaults()
Create default settings.static Settings
Create settings from the given map.static Settings
Create settings from the given settings.<T> T
get
(SettingKey key) Get setting value for given key.Returns a read-only view of the subtype map.lock()
Locks these settings for further modifications, making this instance immutable.Map 'from' supertype to 'to' subtype.Creates a new instance of settings by merging given settings with these settings.set
(SettingKey key, Object value) Set the setting with the given key to the specified value.toString()
-
Method Details
-
create
Create a new instance of empty settings.- Returns:
- empty settings
-
defaults
Create default settings.- Returns:
- settings containing defaults
-
from
Create settings from the given map.- Parameters:
map
- to create settings from- Returns:
- settings
-
from
Create settings from the given settings.- Parameters:
other
- settings to create settings from- Returns:
- a new instance of settings
-
merge
Creates a new instance of settings by merging given settings with these settings.- Parameters:
other
- settings to merge- Returns:
- new instance of merged settings
-
get
Get setting value for given key.- Type Parameters:
T
- setting value type- Parameters:
key
- setting key- Returns:
- value for given key, or
null
if none.
-
set
Set the setting with the given key to the specified value.Note: when updating range settings (such as
Keys.COLLECTION_MIN_SIZE
andKeys.COLLECTION_MAX_SIZE
), range bounds are auto-adjusted byConstants.RANGE_ADJUSTMENT_PERCENTAGE
if the new minimum is higher than the current maximum, and vice versa.- Parameters:
key
- to setvalue
- to set- Returns:
- updated settings
-
mapType
Map 'from' supertype to 'to' subtype.- Parameters:
from
- supertype classto
- subtype class- Returns:
- updated settings
-
getSubtypeMap
Returns a read-only view of the subtype map.- Returns:
- subtype map
-
lock
Locks these settings for further modifications, making this instance immutable.- Returns:
- read-only settings
-
toString
-