133 lines
3.0 KiB
Java
133 lines
3.0 KiB
Java
package cy.agorise.crystalwallet.dao.converters;
|
|
|
|
import androidx.room.TypeConverter;
|
|
|
|
import java.util.Date;
|
|
|
|
import cy.agorise.crystalwallet.enums.CryptoCoin;
|
|
import cy.agorise.crystalwallet.enums.CryptoNet;
|
|
import cy.agorise.crystalwallet.enums.SeedType;
|
|
import cy.agorise.crystalwallet.models.BitsharesAsset;
|
|
import cy.agorise.crystalwallet.models.CryptoNetAccount;
|
|
|
|
/**
|
|
* Created by Henry Varona on 13/9/2017.
|
|
*/
|
|
|
|
public class Converters {
|
|
@TypeConverter
|
|
public Date fromTimestamp(Long value) {
|
|
return value == null ? null : new Date(value);
|
|
}
|
|
|
|
@TypeConverter
|
|
public Long dateToTimestamp(Date date) {
|
|
if (date == null) {
|
|
return null;
|
|
} else {
|
|
return date.getTime();
|
|
}
|
|
}
|
|
|
|
@TypeConverter
|
|
public long cryptoNetAccountToId(CryptoNetAccount account) {
|
|
if (account == null) {
|
|
return -1;
|
|
} else {
|
|
return account.getId();
|
|
}
|
|
}
|
|
|
|
@TypeConverter
|
|
public CryptoNetAccount fromCryptoNetAccountId(long value) {
|
|
if (value == -1){
|
|
return null;
|
|
} else {
|
|
CryptoNetAccount account = new CryptoNetAccount();
|
|
account.setId(value);
|
|
return account;
|
|
}
|
|
}
|
|
|
|
@TypeConverter
|
|
public String cryptoCoinToName(CryptoCoin coin) {
|
|
if (coin == null) {
|
|
return "";
|
|
} else {
|
|
return coin.name();
|
|
}
|
|
}
|
|
|
|
@TypeConverter
|
|
public CryptoCoin nameToCryptoCoin(String value) {
|
|
if (value.equals("")){
|
|
return null;
|
|
} else {
|
|
return CryptoCoin.valueOf(value);
|
|
}
|
|
}
|
|
|
|
@TypeConverter
|
|
public String cryptoNetToName(CryptoNet net){
|
|
if (net == null) {
|
|
return "";
|
|
} else {
|
|
return net.name();
|
|
}
|
|
}
|
|
|
|
@TypeConverter
|
|
public CryptoNet nameToCryptoNet(String value) {
|
|
if (value.equals("")){
|
|
return null;
|
|
} else {
|
|
return CryptoNet.valueOf(value);
|
|
}
|
|
}
|
|
|
|
@TypeConverter
|
|
public String seedTypeToName(SeedType value) {
|
|
if (value == null) {
|
|
return "";
|
|
} else {
|
|
return value.name();
|
|
}
|
|
}
|
|
|
|
@TypeConverter
|
|
public SeedType nameToSeedType(String value) {
|
|
if (value.equals("")){
|
|
return null;
|
|
} else {
|
|
return SeedType.valueOf(value);
|
|
}
|
|
}
|
|
|
|
@TypeConverter
|
|
public int cryptoNetToAccountNumber(CryptoNet value) {
|
|
if (value == null) {
|
|
return -1;
|
|
} else {
|
|
return value.getBip44Index();
|
|
}
|
|
}
|
|
|
|
@TypeConverter
|
|
public CryptoNet accountNumberToCryptoNet(int value) {
|
|
return CryptoNet.fromBip44Index(value);
|
|
}
|
|
|
|
@TypeConverter
|
|
public String assetTypeToName(BitsharesAsset.Type type){
|
|
if(type == null){
|
|
return "";
|
|
}
|
|
return type.name();
|
|
}
|
|
|
|
@TypeConverter
|
|
public BitsharesAsset.Type nameToAssetType(String value){
|
|
return BitsharesAsset.Type.valueOf(value);
|
|
}
|
|
}
|