Class SharedDashPref
- All Implemented Interfaces:
Model
,java.io.Serializable
public class SharedDashPref
extends com.onenetwork.platform.common.Model
implements java.io.Serializable
Java class for SharedDashPref complex type.
The following schema fragment specifies the expected content contained within this class.
<complexType name="SharedDashPref"> <complexContent> <extension base="{http://www.onenetwork.com/Platform}Model"> <sequence> <element name="ActionExecTime" type="{http://www.onenetwork.com/Platform}DateTime" minOccurs="0"/> <element name="ActionName" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> <element name="InputRefId" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> <element name="Error" type="{http://www.onenetwork.com/Platform}Error" minOccurs="0"/> <element name="CreationUser" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> <element name="CreationDate" type="{http://www.onenetwork.com/Platform}DateTime" minOccurs="0"/> <element name="LastModifiedUser" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> <element name="LastModifiedDate" type="{http://www.onenetwork.com/Platform}DateTime" minOccurs="0"/> <element name="LevelModifiedDate" type="{http://www.onenetwork.com/Platform}DateTime" minOccurs="0"/> <element name="ValueChainId" type="{http://www.w3.org/2001/XMLSchema}long"/> <element name="DashboardId" type="{http://www.w3.org/2001/XMLSchema}string"/> <element name="DashboardOwningUserName" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> <element name="DashboardOwningUserEnterpriseName" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> <element name="DashboardOwningEnterpriseName" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> <element name="UserName" type="{http://www.w3.org/2001/XMLSchema}string"/> <element name="UserEnterpriseName" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> <element name="Udfs" type="{http://www.onenetwork.com/Platform}NameValuePairList" minOccurs="0"/> <element ref="{http://www.onenetwork.com/Platform}MDFs" maxOccurs="unbounded" minOccurs="0"/> <element name="Attribute" type="{http://www.onenetwork.com/Platform}AttributeValue" maxOccurs="unbounded" minOccurs="0"/> </sequence> </extension> </complexContent> </complexType>
- See Also:
- Serialized Form
-
Field Summary
Fields Modifier and Type Field Description protected java.util.Calendar
actionExecTime
protected java.lang.String
actionName
protected java.util.List<AttributeValue>
attributes
protected java.util.Calendar
creationDate
protected java.lang.String
creationUser
protected java.lang.String
dashboardId
protected java.lang.String
dashboardOwningEnterpriseName
protected java.lang.String
dashboardOwningUserEnterpriseName
protected java.lang.String
dashboardOwningUserName
protected StatusMessage
error
protected java.lang.String
inputRefId
protected java.util.Calendar
lastModifiedDate
protected java.lang.String
lastModifiedUser
protected java.util.Calendar
levelModifiedDate
protected java.util.List<javax.xml.bind.JAXBElement<? extends com.onenetwork.platform.common.MDFs>>
mdFsList
static com.onenetwork.platform.data.model.impl.ModelLevelType
MODEL_LEVEL_TYPE
Constant reference to the ModelLevelType for this JAXB.static com.onenetwork.platform.data.model.impl.ModelType
MODEL_TYPE
Constant reference to the ModelType for this JAXB.static java.lang.String
STANDARD_MODEL_NAME
Constant reference to the standard model name for this JAXB.protected java.lang.Long
sysDashboardId
protected java.lang.Long
sysUserId
protected com.onenetwork.platform.common.NameValuePairList
udfs
protected java.lang.String
userEnterpriseName
protected java.lang.String
userName
protected long
valueChainId
-
Constructor Summary
Constructors Constructor Description SharedDashPref()
-
Method Summary
Modifier and Type Method Description boolean
equals(java.lang.Object obj)
A Model object is considered "equal" to another Model object if it is a Model of the same type and its Natural Key fields are identical.java.util.Calendar
getActionExecTime()
Gets the value of the actionExecTime property.java.lang.String
getActionName()
Gets the value of the actionName property.java.util.List<AttributeValue>
getAttributes()
Gets the value of the attributes property.java.util.Calendar
getCreationDate()
Gets the value of the creationDate property.java.lang.String
getCreationUser()
Gets the value of the creationUser property.java.lang.String
getDashboardId()
Gets the value of the dashboardId property.java.lang.String
getDashboardOwningEnterpriseName()
Gets the value of the dashboardOwningEnterpriseName property.java.lang.String
getDashboardOwningUserEnterpriseName()
Gets the value of the dashboardOwningUserEnterpriseName property.java.lang.String
getDashboardOwningUserName()
Gets the value of the dashboardOwningUserName property.StatusMessage
getError()
Gets the value of the error property.java.lang.String
getInputRefId()
Gets the value of the inputRefId property.java.util.Calendar
getLastModifiedDate()
Gets the value of the lastModifiedDate property.java.lang.String
getLastModifiedUser()
Gets the value of the lastModifiedUser property.java.util.Calendar
getLevelModifiedDate()
Gets the value of the levelModifiedDate property.java.util.List<javax.xml.bind.JAXBElement<? extends com.onenetwork.platform.common.MDFs>>
getMDFsList()
Gets the value of the mdFsList property.com.onenetwork.platform.data.model.impl.ModelLevelType
getModelLevelType()
methods to get ModelLevelType for this JAXB.com.onenetwork.platform.data.model.impl.ModelType
getModelType()
methods to get ModelType for this JAXB.java.lang.String
getStandardModelName()
method to get standard model name for this JAXB.java.lang.Long
getSysDashboardId()
Returns the surrogate id value for SysDashboardId.java.lang.Long
getSysUserId()
Returns the surrogate id value for SysUserId.com.onenetwork.platform.common.NameValuePairList
getUdfs()
Gets the value of the udfs property.java.lang.String
getUserEnterpriseName()
Gets the value of the userEnterpriseName property.java.lang.String
getUserName()
Gets the value of the userName property.long
getValueChainId()
Gets the value of the valueChainId property.int
hashCode()
protected java.lang.String
internalToString()
boolean
isSetActionExecTime()
boolean
isSetActionName()
boolean
isSetAttributes()
boolean
isSetCreationDate()
boolean
isSetCreationUser()
boolean
isSetDashboardId()
boolean
isSetDashboardOwningEnterpriseName()
boolean
isSetDashboardOwningUserEnterpriseName()
boolean
isSetDashboardOwningUserName()
boolean
isSetError()
boolean
isSetInputRefId()
boolean
isSetLastModifiedDate()
boolean
isSetLastModifiedUser()
boolean
isSetLevelModifiedDate()
boolean
isSetMDFsList()
boolean
isSetUdfs()
boolean
isSetUserEnterpriseName()
boolean
isSetUserName()
boolean
isSetValueChainId()
void
setActionExecTime(java.util.Calendar value)
Sets the value of the actionExecTime property.void
setActionName(java.lang.String value)
Sets the value of the actionName property.void
setCreationDate(java.util.Calendar value)
Sets the value of the creationDate property.void
setCreationUser(java.lang.String value)
Sets the value of the creationUser property.void
setDashboardId(java.lang.String value)
Sets the value of DashboardId, and also nullifies the following surrogate ids: SysDashboardId.void
setDashboardOwningEnterpriseName(java.lang.String value)
Sets the value of DashboardOwningEnterpriseName, and also nullifies the following surrogate ids: SysDashboardId.void
setDashboardOwningUserEnterpriseName(java.lang.String value)
Sets the value of DashboardOwningUserEnterpriseName, and also nullifies the following surrogate ids: SysDashboardId.void
setDashboardOwningUserName(java.lang.String value)
Sets the value of DashboardOwningUserName, and also nullifies the following surrogate ids: SysDashboardId.void
setError(StatusMessage value)
Sets the value of the error property.void
setInputRefId(java.lang.String value)
Sets the value of the inputRefId property.void
setLastModifiedDate(java.util.Calendar value)
Sets the value of the lastModifiedDate property.void
setLastModifiedUser(java.lang.String value)
Sets the value of the lastModifiedUser property.void
setLevelModifiedDate(java.util.Calendar value)
Sets the value of the levelModifiedDate property.void
setSysDashboardId(java.lang.Long value, boolean nullifyNaturalKeys)
Sets the surrogate id value for SysDashboardId.void
setSysUserId(java.lang.Long value, boolean nullifyNaturalKeys)
Sets the surrogate id value for SysUserId.void
setUdfs(com.onenetwork.platform.common.NameValuePairList value)
Sets the value of the udfs property.void
setUserEnterpriseName(java.lang.String value)
Sets the value of UserEnterpriseName, and also nullifies the following surrogate ids: SysUserId.void
setUserName(java.lang.String value)
Sets the value of UserName, and also nullifies the following surrogate ids: SysUserId.void
setValueChainId(long value)
Sets the value of the valueChainId property.java.lang.String
toStrContrib()
Not intended for use by Clientsvoid
unsetAttributes()
void
unsetMDFsList()
Methods inherited from class com.onenetwork.platform.common.Model
addWarning, copyTransientFields, diff, enableKeyCoordination, fromJSONObject, getAttribute, getAttributeValue, getMDF, getMDFs, getMDFs, getRider, getRider, getRiders, getSysId, getTransientField, getTransientFields, getUdf, getUdfNames, getUdfs, getWarnings, setAttribute, setError, setMDF, setSysId, setTransientField, setUdf, toJSONObject, toJSONObject, toJSONObjectExternal, toJSONObjectFullySerialized, toString, toXML
-
Field Details
-
actionExecTime
protected java.util.Calendar actionExecTime -
actionName
protected java.lang.String actionName -
inputRefId
protected java.lang.String inputRefId -
error
-
creationUser
protected java.lang.String creationUser -
creationDate
protected java.util.Calendar creationDate -
lastModifiedUser
protected java.lang.String lastModifiedUser -
lastModifiedDate
protected java.util.Calendar lastModifiedDate -
levelModifiedDate
protected java.util.Calendar levelModifiedDate -
valueChainId
protected long valueChainId -
dashboardId
protected java.lang.String dashboardId -
dashboardOwningUserName
protected java.lang.String dashboardOwningUserName -
dashboardOwningUserEnterpriseName
protected java.lang.String dashboardOwningUserEnterpriseName -
dashboardOwningEnterpriseName
protected java.lang.String dashboardOwningEnterpriseName -
userName
protected java.lang.String userName -
userEnterpriseName
protected java.lang.String userEnterpriseName -
udfs
protected com.onenetwork.platform.common.NameValuePairList udfs -
mdFsList
protected java.util.List<javax.xml.bind.JAXBElement<? extends com.onenetwork.platform.common.MDFs>> mdFsList -
attributes
-
MODEL_TYPE
public static final com.onenetwork.platform.data.model.impl.ModelType MODEL_TYPEConstant reference to the ModelType for this JAXB. -
MODEL_LEVEL_TYPE
public static final com.onenetwork.platform.data.model.impl.ModelLevelType MODEL_LEVEL_TYPEConstant reference to the ModelLevelType for this JAXB. -
STANDARD_MODEL_NAME
public static final java.lang.String STANDARD_MODEL_NAMEConstant reference to the standard model name for this JAXB. -
sysDashboardId
protected java.lang.Long sysDashboardId -
sysUserId
protected java.lang.Long sysUserId
-
-
Constructor Details
-
SharedDashPref
public SharedDashPref()
-
-
Method Details
-
getActionExecTime
public java.util.Calendar getActionExecTime()Gets the value of the actionExecTime property.- Returns:
- possible object is
String
-
setActionExecTime
public void setActionExecTime(java.util.Calendar value)Sets the value of the actionExecTime property.- Parameters:
value
- allowed object isString
-
isSetActionExecTime
public boolean isSetActionExecTime() -
getActionName
public java.lang.String getActionName()Gets the value of the actionName property.- Overrides:
getActionName
in classcom.onenetwork.platform.common.Model
- Returns:
- possible object is
String
-
setActionName
public void setActionName(java.lang.String value)Sets the value of the actionName property.- Overrides:
setActionName
in classcom.onenetwork.platform.common.Model
- Parameters:
value
- allowed object isString
-
isSetActionName
public boolean isSetActionName() -
getInputRefId
public java.lang.String getInputRefId()Gets the value of the inputRefId property.- Returns:
- possible object is
String
-
setInputRefId
public void setInputRefId(java.lang.String value)Sets the value of the inputRefId property.- Parameters:
value
- allowed object isString
-
isSetInputRefId
public boolean isSetInputRefId() -
getError
Gets the value of the error property. -
setError
Sets the value of the error property. -
isSetError
public boolean isSetError() -
getCreationUser
public java.lang.String getCreationUser()Gets the value of the creationUser property.- Returns:
- possible object is
String
-
setCreationUser
public void setCreationUser(java.lang.String value)Sets the value of the creationUser property.- Parameters:
value
- allowed object isString
-
isSetCreationUser
public boolean isSetCreationUser() -
getCreationDate
public java.util.Calendar getCreationDate()Gets the value of the creationDate property.- Returns:
- possible object is
String
-
setCreationDate
public void setCreationDate(java.util.Calendar value)Sets the value of the creationDate property.- Parameters:
value
- allowed object isString
-
isSetCreationDate
public boolean isSetCreationDate() -
getLastModifiedUser
public java.lang.String getLastModifiedUser()Gets the value of the lastModifiedUser property.- Specified by:
getLastModifiedUser
in interfaceModel
- Overrides:
getLastModifiedUser
in classcom.onenetwork.platform.common.Model
- Returns:
- possible object is
String
-
setLastModifiedUser
public void setLastModifiedUser(java.lang.String value)Sets the value of the lastModifiedUser property.- Specified by:
setLastModifiedUser
in interfaceModel
- Overrides:
setLastModifiedUser
in classcom.onenetwork.platform.common.Model
- Parameters:
value
- allowed object isString
-
isSetLastModifiedUser
public boolean isSetLastModifiedUser() -
getLastModifiedDate
public java.util.Calendar getLastModifiedDate()Gets the value of the lastModifiedDate property.- Specified by:
getLastModifiedDate
in interfaceModel
- Overrides:
getLastModifiedDate
in classcom.onenetwork.platform.common.Model
- Returns:
- possible object is
String
-
setLastModifiedDate
public void setLastModifiedDate(java.util.Calendar value)Sets the value of the lastModifiedDate property.- Specified by:
setLastModifiedDate
in interfaceModel
- Overrides:
setLastModifiedDate
in classcom.onenetwork.platform.common.Model
- Parameters:
value
- allowed object isString
-
isSetLastModifiedDate
public boolean isSetLastModifiedDate() -
getLevelModifiedDate
public java.util.Calendar getLevelModifiedDate()Gets the value of the levelModifiedDate property.- Returns:
- possible object is
String
-
setLevelModifiedDate
public void setLevelModifiedDate(java.util.Calendar value)Sets the value of the levelModifiedDate property.- Parameters:
value
- allowed object isString
-
isSetLevelModifiedDate
public boolean isSetLevelModifiedDate() -
getValueChainId
public long getValueChainId()Gets the value of the valueChainId property. -
setValueChainId
public void setValueChainId(long value)Sets the value of the valueChainId property. -
isSetValueChainId
public boolean isSetValueChainId() -
getDashboardId
public java.lang.String getDashboardId()Gets the value of the dashboardId property.- Returns:
- possible object is
String
-
isSetDashboardId
public boolean isSetDashboardId() -
getDashboardOwningUserName
public java.lang.String getDashboardOwningUserName()Gets the value of the dashboardOwningUserName property.- Returns:
- possible object is
String
-
isSetDashboardOwningUserName
public boolean isSetDashboardOwningUserName() -
getDashboardOwningUserEnterpriseName
public java.lang.String getDashboardOwningUserEnterpriseName()Gets the value of the dashboardOwningUserEnterpriseName property.- Returns:
- possible object is
String
-
isSetDashboardOwningUserEnterpriseName
public boolean isSetDashboardOwningUserEnterpriseName() -
getDashboardOwningEnterpriseName
public java.lang.String getDashboardOwningEnterpriseName()Gets the value of the dashboardOwningEnterpriseName property.- Returns:
- possible object is
String
-
isSetDashboardOwningEnterpriseName
public boolean isSetDashboardOwningEnterpriseName() -
getUserName
public java.lang.String getUserName()Gets the value of the userName property.- Returns:
- possible object is
String
-
isSetUserName
public boolean isSetUserName() -
getUserEnterpriseName
public java.lang.String getUserEnterpriseName()Gets the value of the userEnterpriseName property.- Returns:
- possible object is
String
-
isSetUserEnterpriseName
public boolean isSetUserEnterpriseName() -
getUdfs
public com.onenetwork.platform.common.NameValuePairList getUdfs()Gets the value of the udfs property.- Overrides:
getUdfs
in classcom.onenetwork.platform.common.Model
- Returns:
- possible object is
NameValuePairList
-
setUdfs
public void setUdfs(com.onenetwork.platform.common.NameValuePairList value)Sets the value of the udfs property.- Overrides:
setUdfs
in classcom.onenetwork.platform.common.Model
- Parameters:
value
- allowed object isNameValuePairList
-
isSetUdfs
public boolean isSetUdfs()- Overrides:
isSetUdfs
in classcom.onenetwork.platform.common.Model
-
getMDFsList
public java.util.List<javax.xml.bind.JAXBElement<? extends com.onenetwork.platform.common.MDFs>> getMDFsList()Gets the value of the mdFsList property.This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the JAXB object. This is why there is not a
set
method for the mdFsList property.For example, to add a new item, do as follows:
getMDFsList().add(newItem);
Objects of the following type(s) are allowed in the list
JAXBElement
<
DummyMDFs
>
JAXBElement
<
MDFs
>
- Overrides:
getMDFsList
in classcom.onenetwork.platform.common.Model
-
isSetMDFsList
public boolean isSetMDFsList() -
unsetMDFsList
public void unsetMDFsList() -
getAttributes
Gets the value of the attributes property.This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the JAXB object. This is why there is not a
set
method for the attributes property.For example, to add a new item, do as follows:
getAttributes().add(newItem);
Objects of the following type(s) are allowed in the list
AttributeValue
- Overrides:
getAttributes
in classcom.onenetwork.platform.common.Model
-
isSetAttributes
public boolean isSetAttributes() -
unsetAttributes
public void unsetAttributes() -
setDashboardId
public void setDashboardId(java.lang.String value)Sets the value of DashboardId, and also nullifies the following surrogate ids: SysDashboardId. This nullification is done to ensure that a client can set either natural keys or sys id as desired. If you as a client wish to populate *both* natural and surrogate ids, you should set the natural keys first, then set the surrogate ids passing 'false' as the second parameter- Parameters:
value
- new value for DashboardId - the following will also be nullified: SysDashboardId
-
setDashboardOwningUserName
public void setDashboardOwningUserName(java.lang.String value)Sets the value of DashboardOwningUserName, and also nullifies the following surrogate ids: SysDashboardId. This nullification is done to ensure that a client can set either natural keys or sys id as desired. If you as a client wish to populate *both* natural and surrogate ids, you should set the natural keys first, then set the surrogate ids passing 'false' as the second parameter- Parameters:
value
- new value for DashboardOwningUserName - the following will also be nullified: SysDashboardId
-
setDashboardOwningUserEnterpriseName
public void setDashboardOwningUserEnterpriseName(java.lang.String value)Sets the value of DashboardOwningUserEnterpriseName, and also nullifies the following surrogate ids: SysDashboardId. This nullification is done to ensure that a client can set either natural keys or sys id as desired. If you as a client wish to populate *both* natural and surrogate ids, you should set the natural keys first, then set the surrogate ids passing 'false' as the second parameter- Parameters:
value
- new value for DashboardOwningUserEnterpriseName - the following will also be nullified: SysDashboardId
-
setDashboardOwningEnterpriseName
public void setDashboardOwningEnterpriseName(java.lang.String value)Sets the value of DashboardOwningEnterpriseName, and also nullifies the following surrogate ids: SysDashboardId. This nullification is done to ensure that a client can set either natural keys or sys id as desired. If you as a client wish to populate *both* natural and surrogate ids, you should set the natural keys first, then set the surrogate ids passing 'false' as the second parameter- Parameters:
value
- new value for DashboardOwningEnterpriseName - the following will also be nullified: SysDashboardId
-
setUserName
public void setUserName(java.lang.String value)Sets the value of UserName, and also nullifies the following surrogate ids: SysUserId. This nullification is done to ensure that a client can set either natural keys or sys id as desired. If you as a client wish to populate *both* natural and surrogate ids, you should set the natural keys first, then set the surrogate ids passing 'false' as the second parameter- Parameters:
value
- new value for UserName - the following will also be nullified: SysUserId
-
setUserEnterpriseName
public void setUserEnterpriseName(java.lang.String value)Sets the value of UserEnterpriseName, and also nullifies the following surrogate ids: SysUserId. This nullification is done to ensure that a client can set either natural keys or sys id as desired. If you as a client wish to populate *both* natural and surrogate ids, you should set the natural keys first, then set the surrogate ids passing 'false' as the second parameter- Parameters:
value
- new value for UserEnterpriseName - the following will also be nullified: SysUserId
-
equals
public boolean equals(java.lang.Object obj)Description copied from interface:Model
A Model object is considered "equal" to another Model object if it is a Model of the same type and its Natural Key fields are identical. -
hashCode
public int hashCode()- Overrides:
hashCode
in classjava.lang.Object
-
internalToString
protected java.lang.String internalToString()- Overrides:
internalToString
in classcom.onenetwork.platform.common.Model
-
toStrContrib
public java.lang.String toStrContrib()Not intended for use by Clients -
getModelType
public com.onenetwork.platform.data.model.impl.ModelType getModelType()methods to get ModelType for this JAXB.- Overrides:
getModelType
in classcom.onenetwork.platform.common.Model
-
getModelLevelType
public com.onenetwork.platform.data.model.impl.ModelLevelType getModelLevelType()methods to get ModelLevelType for this JAXB.- Overrides:
getModelLevelType
in classcom.onenetwork.platform.common.Model
-
getStandardModelName
public java.lang.String getStandardModelName()method to get standard model name for this JAXB.- Overrides:
getStandardModelName
in classcom.onenetwork.platform.common.Model
-
getSysDashboardId
public java.lang.Long getSysDashboardId()Returns the surrogate id value for SysDashboardId. After reading a model, this will always match with the corresponding natural keys, which are: dashboardId, dashboardOwningUserName, dashboardOwningUserEnterpriseName, dashboardOwningEnterpriseName -
setSysDashboardId
public void setSysDashboardId(java.lang.Long value, boolean nullifyNaturalKeys)Sets the surrogate id value for SysDashboardId. As a client, when you want to update the model in the database, you may set values either by natural key or by sys id, or by both. Calling this method with 'true' will nullify the natural keys for this surrogate key: dashboardId, dashboardOwningUserName, dashboardOwningUserEnterpriseName, dashboardOwningEnterpriseName. This ensures the values don't conflict. If you are 'populating' an object and want to set both natural and surrogate keys, you should set the natural keys first, then call this method with 'false' for nullifyNaturalKeys.- Parameters:
value
- new value for SysDashboardIdnullifyNaturalKeys
- true to nullify the related natural keys (dashboardId, dashboardOwningUserName, dashboardOwningUserEnterpriseName, dashboardOwningEnterpriseName), or false to leave as is - please note that you can pass either surrogate id or natural keys to the server write API, or both
-
getSysUserId
public java.lang.Long getSysUserId()Returns the surrogate id value for SysUserId. After reading a model, this will always match with the corresponding natural keys, which are: userName, userEnterpriseName -
setSysUserId
public void setSysUserId(java.lang.Long value, boolean nullifyNaturalKeys)Sets the surrogate id value for SysUserId. As a client, when you want to update the model in the database, you may set values either by natural key or by sys id, or by both. Calling this method with 'true' will nullify the natural keys for this surrogate key: userName, userEnterpriseName. This ensures the values don't conflict. If you are 'populating' an object and want to set both natural and surrogate keys, you should set the natural keys first, then call this method with 'false' for nullifyNaturalKeys.- Parameters:
value
- new value for SysUserIdnullifyNaturalKeys
- true to nullify the related natural keys (userName, userEnterpriseName), or false to leave as is - please note that you can pass either surrogate id or natural keys to the server write API, or both
-