Package com.clover.sdk.v3.payments
Class VasConfig
- java.lang.Object
-
- com.clover.sdk.GenericParcelable
-
- com.clover.sdk.v3.payments.VasConfig
-
- All Implemented Interfaces:
Parcelable
,JSONifiable
,Validator
public class VasConfig extends GenericParcelable implements Validator, JSONifiable
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
VasConfig.Constraints
-
Nested classes/interfaces inherited from interface com.clover.sdk.JSONifiable
JSONifiable.Creator<T>
-
Nested classes/interfaces inherited from interface android.os.Parcelable
Parcelable.ClassLoaderCreator<T extends Object>, Parcelable.Creator<T extends Object>
-
-
Field Summary
Fields Modifier and Type Field Description static Parcelable.Creator<VasConfig>
CREATOR
static JSONifiable.Creator<VasConfig>
JSON_CREATOR
-
Fields inherited from interface android.os.Parcelable
CONTENTS_FILE_DESCRIPTOR, PARCELABLE_WRITE_RETURN_VALUE
-
-
Constructor Summary
Constructors Modifier Constructor Description VasConfig()
Constructs a new empty instance.protected
VasConfig(boolean noInit)
Constructs a new empty instance.VasConfig(VasConfig src)
Constructs a new instance that is a deep copy of the source instance.VasConfig(String json)
Constructs a new instance from the given JSON String.VasConfig(JSONObject jsonObject)
Construct a new instance backed by the given JSONObject, the parameter is not copied so changes to it will be reflected in this instance and vice-versa.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
clearVasProviders()
Clears the 'vasProviders' field, the 'has' method for this field will now return falseboolean
containsChanges()
Returns true if this instance has any changes.VasConfig
copyChanges()
Create a copy of this instance that contains only fields that were set after the constructor was called.protected GenericClient
getGenericClient()
JSONObject
getJSONObject()
Returns the internal JSONObject backing this instance, the return value is not a copy so changes to it will be reflected in this instance and vice-versa.List<VasServiceProvider>
getVasProviders()
List of vas service providers who are interested in receiving vas databoolean
hasVasProviders()
Checks whether the 'vasProviders' field has been set, however the value could be nullboolean
isNotEmptyVasProviders()
Checks whether the 'vasProviders' field is set and is not null and is not emptyboolean
isNotNullVasProviders()
Checks whether the 'vasProviders' field is set and is not nullvoid
mergeChanges(VasConfig src)
Copy all the changed fields from the given source to this instance.void
resetChangeLog()
Reset the log of changes made to this instance, calling copyChanges() after this would return an empty instance.VasConfig
setVasProviders(List<VasServiceProvider> vasProviders)
Sets the field 'vasProviders'.void
validate()
-
Methods inherited from class com.clover.sdk.GenericParcelable
describeContents, getBundle, toString, writeToParcel
-
-
-
-
Field Detail
-
CREATOR
public static final Parcelable.Creator<VasConfig> CREATOR
-
JSON_CREATOR
public static final JSONifiable.Creator<VasConfig> JSON_CREATOR
-
-
Constructor Detail
-
VasConfig
public VasConfig()
Constructs a new empty instance.
-
VasConfig
protected VasConfig(boolean noInit)
Constructs a new empty instance.
-
VasConfig
public VasConfig(String json) throws IllegalArgumentException
Constructs a new instance from the given JSON String.- Throws:
IllegalArgumentException
-
VasConfig
public VasConfig(JSONObject jsonObject)
Construct a new instance backed by the given JSONObject, the parameter is not copied so changes to it will be reflected in this instance and vice-versa.
-
VasConfig
public VasConfig(VasConfig src)
Constructs a new instance that is a deep copy of the source instance. It does not copy the bundle or changelog.
-
-
Method Detail
-
getVasProviders
public List<VasServiceProvider> getVasProviders()
List of vas service providers who are interested in receiving vas data
-
getGenericClient
protected GenericClient getGenericClient()
- Specified by:
getGenericClient
in classGenericParcelable
-
getJSONObject
public JSONObject getJSONObject()
Returns the internal JSONObject backing this instance, the return value is not a copy so changes to it will be reflected in this instance and vice-versa.- Specified by:
getJSONObject
in interfaceJSONifiable
-
isNotNullVasProviders
public boolean isNotNullVasProviders()
Checks whether the 'vasProviders' field is set and is not null
-
isNotEmptyVasProviders
public boolean isNotEmptyVasProviders()
Checks whether the 'vasProviders' field is set and is not null and is not empty
-
hasVasProviders
public boolean hasVasProviders()
Checks whether the 'vasProviders' field has been set, however the value could be null
-
setVasProviders
public VasConfig setVasProviders(List<VasServiceProvider> vasProviders)
Sets the field 'vasProviders'. Nulls in the given List are skipped. List parameter is copied, so it will not reflect any changes, but objects inside it will.
-
clearVasProviders
public void clearVasProviders()
Clears the 'vasProviders' field, the 'has' method for this field will now return false
-
containsChanges
public boolean containsChanges()
Returns true if this instance has any changes.
-
resetChangeLog
public void resetChangeLog()
Reset the log of changes made to this instance, calling copyChanges() after this would return an empty instance.
-
copyChanges
public VasConfig copyChanges()
Create a copy of this instance that contains only fields that were set after the constructor was called.
-
mergeChanges
public void mergeChanges(VasConfig src)
Copy all the changed fields from the given source to this instance.
-
-