47 lines
1.3 KiB
Java
47 lines
1.3 KiB
Java
package cy.agorise.graphenej.operations;
|
|
|
|
import cy.agorise.graphenej.AssetAmount;
|
|
import cy.agorise.graphenej.UserAccount;
|
|
import cy.agorise.graphenej.errors.MalformedOperationException;
|
|
|
|
/**
|
|
* Created by henry on 19/5/2018.
|
|
*/
|
|
|
|
public class AccountUpgradeOperationBuilder extends BaseOperationBuilder {
|
|
|
|
private UserAccount accountToUpgrade;
|
|
private AssetAmount fee;
|
|
private boolean isUpgrade = true;
|
|
|
|
public AccountUpgradeOperationBuilder setAccountToUpgrade(UserAccount accountToUpgrade) {
|
|
this.accountToUpgrade = accountToUpgrade;
|
|
return this;
|
|
}
|
|
|
|
public AccountUpgradeOperationBuilder setFee(AssetAmount fee) {
|
|
this.fee = fee;
|
|
return this;
|
|
}
|
|
|
|
public AccountUpgradeOperationBuilder setIsUpgrade(Boolean isUpgrade) {
|
|
this.isUpgrade = isUpgrade;
|
|
return this;
|
|
}
|
|
|
|
@Override
|
|
public AccountUpgradeOperation build(){
|
|
AccountUpgradeOperation accountUpgrade;
|
|
if(accountToUpgrade == null ){
|
|
throw new MalformedOperationException("Missing account to upgrade information");
|
|
}
|
|
|
|
if(fee != null){
|
|
accountUpgrade = new AccountUpgradeOperation(accountToUpgrade, isUpgrade, fee);
|
|
}else{
|
|
accountUpgrade = new AccountUpgradeOperation(accountToUpgrade, isUpgrade);
|
|
}
|
|
return accountUpgrade;
|
|
}
|
|
}
|