crystal-wallet-android/app/src/main/java/cy/agorise/crystalwallet/dao/converters/Converters.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);
}
}