1919
2020/**
2121 * @author Ub - H. MARTEAU
22- * @version 2 .0
22+ * @version 3 .0
2323 */
2424public class AddressCommand extends QueryBuilderAddress {
2525
26- public AddressCommand (String chainName ) {
27- setCHAIN ( chainName );
26+ public AddressCommand (String ip , String port , String login , String password ) {
27+ initialize ( ip , port , login , password );
2828 }
2929
3030 /**
@@ -55,8 +55,10 @@ public AddressCommand(String chainName) {
5555 public final Address addMultiSigAddress (int numberOfSigRequired , String [] publicKeys ) throws MultichainException {
5656 Address address = new Address ();
5757
58- String stringAddress = executeAddMultiSigAddress (numberOfSigRequired , publicKeys );
59- address = validateAddress (stringAddress );
58+ Object objectAddress = executeAddMultiSigAddress (numberOfSigRequired , publicKeys );
59+ if (verifyInstance (objectAddress , String .class )) {
60+ address = validateAddress ((String ) objectAddress );
61+ }
6062
6163 return address ;
6264 }
@@ -90,8 +92,10 @@ public final Address addMultiSigAddress(int numberOfSigRequired, String[] public
9092 public Address createMultiSig (int numberOfSigRequired , String [] publicKeys ) throws MultichainException {
9193 Address address = new Address ();
9294
93- String stringAddress = executeCreateMultiSig (numberOfSigRequired , publicKeys );
94- address = validateAddress (stringAddress );
95+ Object objectAddress = executeCreateMultiSig (numberOfSigRequired , publicKeys );
96+ if (verifyInstance (objectAddress , String .class )) {
97+ address = validateAddress ((String ) objectAddress );
98+ }
9599
96100 return address ;
97101 }
@@ -115,11 +119,15 @@ public Address createMultiSig(int numberOfSigRequired, String[] publicKeys) thro
115119 * @return Addresses of the Wallet
116120 * @throws MultichainException
117121 */
122+ @ SuppressWarnings ("unchecked" )
118123 public final List <String > getAddressesStringList () throws MultichainException {
119124 List <String > addresses = new ArrayList <String >();
120125
121- String stringAddresses = executeGetAddresses (false );
122- addresses = AddressFormatter .formatAddressesStringList (stringAddresses );
126+ Object objectAddresses = executeGetAddresses (false );
127+ if (verifyInstance (objectAddresses , ArrayList .class )
128+ && verifyInstanceofList ((ArrayList <Object >) objectAddresses , String .class )) {
129+ addresses = (ArrayList <String >) objectAddresses ;
130+ }
123131
124132 return addresses ;
125133 }
@@ -161,11 +169,15 @@ public final List<String> getAddresses() throws MultichainException {
161169 * @return Addresses of the Wallet
162170 * @throws MultichainException
163171 */
172+ @ SuppressWarnings ("unchecked" )
164173 public final List <Address > getAddressesList () throws MultichainException {
165174 List <Address > addresses = new ArrayList <Address >();
166175
167- String stringAddresses = executeGetAddresses (true );
168- addresses = AddressFormatter .formatAddressesList (stringAddresses );
176+ Object objectAddresses = executeGetAddresses (true );
177+ if (verifyInstance (objectAddresses , ArrayList .class )
178+ && verifyInstanceofList ((ArrayList <Object >) objectAddresses , Address .class )) {
179+ addresses = AddressFormatter .formatAddressesList ((ArrayList <Object >) objectAddresses );
180+ }
169181
170182 return addresses ;
171183 }
@@ -190,11 +202,15 @@ public final List<Address> getAddressesList() throws MultichainException {
190202 *
191203 * @return Balances
192204 */
205+ @ SuppressWarnings ("unchecked" )
193206 public List <MultiBalance > getMultiBalances (String [] addresses ) throws MultichainException {
194207 List <MultiBalance > listMultiBalance = new ArrayList <MultiBalance >();
195208
196- String stringMultiBalance = executeGetMultiBalances (addresses );
197- listMultiBalance = BalanceFormatter .formatMultiBalances (stringMultiBalance );
209+ Object objectMultiBalance = executeGetMultiBalances (addresses );
210+ if (verifyInstance (objectMultiBalance , ArrayList .class )
211+ && verifyInstanceofList ((ArrayList <Object >) objectMultiBalance , MultiBalance .class )) {
212+ listMultiBalance = BalanceFormatter .formatMultiBalances ((ArrayList <Object >) objectMultiBalance );
213+ }
198214
199215 return listMultiBalance ;
200216 }
@@ -238,11 +254,15 @@ public List<MultiBalance> getMultiBalances() throws MultichainException {
238254 * @return Balance of the address
239255 * @throws MultichainException
240256 */
257+ @ SuppressWarnings ("unchecked" )
241258 public List <BalanceAsset > getAddressBalances (String address ) throws MultichainException {
242259 List <BalanceAsset > balance = new ArrayList <BalanceAsset >();
243260
244- String stringBalances = executeGetAddressBalances (address );
245- balance = BalanceFormatter .formatBalanceAssets (stringBalances );
261+ Object objectBalances = executeGetAddressBalances (address );
262+ if (verifyInstance (objectBalances , ArrayList .class )
263+ && verifyInstanceofList ((ArrayList <Object >) objectBalances , BalanceAsset .class )) {
264+ balance = BalanceFormatter .formatBalanceAssets ((ArrayList <Object >) objectBalances );
265+ }
246266
247267 return balance ;
248268 }
@@ -267,8 +287,14 @@ public List<BalanceAsset> getAddressBalances(String address) throws MultichainEx
267287 * @throws MultichainException
268288 */
269289 public final String getNewAddress () throws MultichainException {
270- String stringAddress = executeGetNewAddress ();
271- return formatString (stringAddress );
290+ String stringAddress = "" ;
291+
292+ Object objectAddress = executeGetNewAddress ();
293+ if (verifyInstance (objectAddress , String .class )) {
294+ stringAddress = (String ) objectAddress ;
295+ }
296+
297+ return stringAddress ;
272298 }
273299
274300 /**
@@ -293,8 +319,10 @@ public final String getNewAddress() throws MultichainException {
293319 public final Address getNewAddressFilled () throws MultichainException {
294320 Address address = new Address ();
295321
296- String stringAddress = executeGetNewAddress ();
297- address = validateAddress (stringAddress );
322+ Object objectAddress = executeGetNewAddress ();
323+ if (verifyInstance (objectAddress , Address .class )) {
324+ address = (Address ) objectAddress ;
325+ }
298326
299327 return address ;
300328 }
@@ -356,8 +384,8 @@ public void importAddress(String address, String label, boolean rescan) throws M
356384 public final Address validateAddress (String stringAddress ) throws MultichainException {
357385 Address address = new Address ();
358386
359- String stringAddressInfo = executeValidateAddress (stringAddress );
360- address = AddressFormatter .formatAddress (stringAddressInfo );
387+ Object objectAddressInfo = executeValidateAddress (stringAddress );
388+ address = AddressFormatter .formatAddress (objectAddressInfo );
361389
362390 return address ;
363391 }
0 commit comments