eu.bittrade.libs.steemj.fc.TimePointSec - java examples

Here are the examples of the java api eu.bittrade.libs.steemj.fc.TimePointSec taken from open source projects. By voting up you can indicate which examples are most useful and appropriate.

58 Examples 7

19 View Complete Implementation : GetDiscussionsByAuthorBeforeDateArgs.java
Copyright GNU General Public License v3.0
Author : marvin-we
/**
 * @param beforeDate
 *            the beforeDate to set
 */
public void setBeforeDate(TimePointSec beforeDate) {
    this.beforeDate = SteemJUtils.setIfNotNull(beforeDate, "The beforeDate needs to be provided.");
}

19 View Complete Implementation : BlockHeader.java
Copyright GNU General Public License v3.0
Author : marvin-we
/**
 * @param timestamp
 *            the timestamp to set
 */
public void setTimestamp(TimePointSec timestamp) {
    this.timestamp = timestamp;
}

19 View Complete Implementation : AccountVote.java
Copyright GNU General Public License v3.0
Author : marvin-we
/**
 * This clreplaced represents the Steem "account_vote" object.
 *
 * @author <a href="http://steemit.com/@dez1337">dez1337</a>
 */
public clreplaced AccountVote {

    private String authorperm;

    // Original type is uint64_t.
    private ULong weight;

    // Original type is int64_t.
    private long rshares;

    // Original type is int16_t.
    private short percent;

    private TimePointSec time;

    /**
     * This object is only used to wrap the JSON response in a POJO, so
     * therefore this clreplaced should not be instantiated.
     */
    private AccountVote() {
    }

    /**
     * @return the authorperm
     */
    public String getAuthorperm() {
        return authorperm;
    }

    /**
     * @return the weight
     */
    public ULong getWeight() {
        return weight;
    }

    /**
     * @return the rshares
     */
    public long getRshares() {
        return rshares;
    }

    /**
     * @return the percent
     */
    public short getPercent() {
        return percent;
    }

    /**
     * @return the time
     */
    public TimePointSec getTime() {
        return time;
    }

    @Override
    public String toString() {
        return ToStringBuilder.reflectionToString(this);
    }
}

19 View Complete Implementation : VestingDelegationExpiration.java
Copyright GNU General Public License v3.0
Author : marvin-we
/**
 * @param expiration
 *            the expiration to set
 */
public void setExpiration(TimePointSec expiration) {
    this.expiration = expiration;
}

19 View Complete Implementation : EscrowTransferOperation.java
Copyright GNU General Public License v3.0
Author : marvin-we
/**
 * Define until when the escrow operation needs to be approved.
 *
 * @param ratificationDeadlineDate
 *            The ratification deadline. to set.
 * @throws InvalidParameterException
 *             If the <code>ratificationDeadlineDate</code> is null or if
 *             the <code>ratificationDeadlineDate</code> is <b>not</b>
 *             before the {@link #getEscrowExpirationDate()}.
 */
public void setRatificationDeadlineDate(TimePointSec ratificationDeadlineDate) {
    this.ratificationDeadlineDate = SteemJUtils.setIfNotNull(ratificationDeadlineDate, "The ratification deadline date can't be null.");
}

19 View Complete Implementation : GetMarketHistoryArgs.java
Copyright GNU General Public License v3.0
Author : marvin-we
/**
 * @param start
 *            the start to set
 */
public void setStart(TimePointSec start) {
    this.start = start;
}

19 View Complete Implementation : EnableContentEditingOperation.java
Copyright GNU General Public License v3.0
Author : marvin-we
/**
 * Set the point in time when posts are locked again.
 *
 * @param relockTime
 *            The point in time when posts are locked again.
 * @throws InvalidParameterException
 *             If the <code>relockTime</code> is <code>null</code>.
 */
public void setRelockTime(TimePointSec relockTime) {
    this.relockTime = SteemJUtils.setIfNotNull(relockTime, "The relock time cannot be null");
}

19 View Complete Implementation : GetMarketHistoryArgs.java
Copyright GNU General Public License v3.0
Author : marvin-we
/**
 * @param end
 *            the end to set
 */
public void setEnd(TimePointSec end) {
    this.end = end;
}

19 View Complete Implementation : EscrowTransferOperation.java
Copyright GNU General Public License v3.0
Author : marvin-we
/**
 * Define when this escrow operation expires.
 *
 * @param escrowExpirationDate
 *            The escrow expiration date to set.
 * @throws InvalidParameterException
 *             If the <code>escrowExpirationDate</code> is null or if the
 *             {@link #getRatificationDeadlineDate()} is <b>not</b> before
 *             the <code>escrowExpirationDate</code>.
 */
public void setEscrowExpirationDate(TimePointSec escrowExpirationDate) {
    this.escrowExpirationDate = SteemJUtils.setIfNotNull(escrowExpirationDate, "The escrow expiration date can't be null.");
}

19 View Complete Implementation : HardforkVersionVote.java
Copyright GNU General Public License v3.0
Author : marvin-we
/**
 * @param hfTime
 *            the hfTime to set
 */
public void setHfTime(TimePointSec hfTime) {
    this.hfTime = hfTime;
}

19 View Complete Implementation : Transaction.java
Copyright GNU General Public License v3.0
Author : marvin-we
/**
 * Define how long this transaction is valid. If not processed in the given
 * time, the transaction will not be accepted.
 *
 * @param expirationDate
 *            The expiration date to set.
 */
public void setExpirationDate(TimePointSec expirationDate) {
    this.expirationDate = expirationDate;
}

19 View Complete Implementation : LimitOrderCreate2Operation.java
Copyright GNU General Public License v3.0
Author : marvin-we
/**
 * Set the expiration date for this order.
 *
 * @param expirationDate
 *            The expiration date to set.
 */
public void setExpirationDate(TimePointSec expirationDate) {
    if (expirationDate == null) {
        this.expirationDate = new TimePointSec(Long.MAX_VALUE);
    } else {
        this.expirationDate = expirationDate;
    }
}

19 View Complete Implementation : Order.java
Copyright GNU General Public License v3.0
Author : marvin-we
/**
 * @param created
 *            the created to set
 */
public void setCreated(TimePointSec created) {
    this.created = created;
}

19 View Complete Implementation : VestingDelegation.java
Copyright GNU General Public License v3.0
Author : marvin-we
/**
 * @param minDelegationTime
 *            the minDelegationTime to set
 */
public void setMinDelegationTime(TimePointSec minDelegationTime) {
    this.minDelegationTime = minDelegationTime;
}

18 View Complete Implementation : Order.java
Copyright GNU General Public License v3.0
Author : marvin-we
/**
 * This clreplaced represents a Steem "order" object.
 *
 * @author <a href="http://steemit.com/@dez1337">dez1337</a>
 */
public clreplaced Order {

    private TimePointSec created;

    @JsonProperty("order_price")
    private Price orderPrice;

    @JsonProperty("real_price")
    private double realPrice;

    // Original type is share_type while a share_type is a int64_t so we use
    // long here.
    private long steem;

    // Original type is share_type while a share_type is a int64_t so we use
    // long here.
    private long sbd;

    /**
     * This object is only used to wrap the JSON response in a POJO, so
     * therefore this clreplaced should not be instantiated.
     */
    private Order() {
    }

    /**
     * @return the created
     */
    public TimePointSec getCreated() {
        return created;
    }

    /**
     * @return the orderPrice
     */
    public Price getOrderPrice() {
        return orderPrice;
    }

    /**
     * Get the SBD per Steem.
     *
     * @return the realPrice
     */
    public double getRealPrice() {
        return realPrice;
    }

    /**
     * @return the steem
     */
    public long getSteem() {
        return steem;
    }

    /**
     * @return the sbd
     */
    public long getSbd() {
        return sbd;
    }

    @Override
    public String toString() {
        return ToStringBuilder.reflectionToString(this);
    }
}

18 View Complete Implementation : VoteState.java
Copyright GNU General Public License v3.0
Author : marvin-we
/**
 * This clreplaced represents the Steem data type "vote_state".
 *
 * @author <a href="http://Steemit.com/@dez1337">dez1337</a>
 */
public clreplaced VoteState {

    private AccountName voter;

    // Original type is uint64_t.
    private ULong weight;

    // Original type is int64_t.
    private long rshares;

    // Original type is int16_t.
    private short percent;

    // Original type is share_type while a share_type is a int64_t so we use
    // long here.
    private long reputation;

    private TimePointSec time;

    /**
     * This object is only used to wrap the JSON response in a POJO, so
     * therefore this clreplaced should not be instantiated.
     */
    private VoteState() {
    }

    /**
     * @return the voter
     */
    public AccountName getVoter() {
        return voter;
    }

    /**
     * @return the weight
     */
    public ULong getWeight() {
        return weight;
    }

    /**
     * @return the rshares
     */
    public long getRshares() {
        return rshares;
    }

    /**
     * @return the percent
     */
    public short getPercent() {
        return percent;
    }

    /**
     * @return the reputation
     */
    public long getReputation() {
        return reputation;
    }

    /**
     * @return the time
     */
    public TimePointSec getTime() {
        return time;
    }

    @Override
    public String toString() {
        return ToStringBuilder.reflectionToString(this);
    }
}

18 View Complete Implementation : EnableContentEditingOperation.java
Copyright GNU General Public License v3.0
Author : marvin-we
/**
 * This clreplaced represents the Steem "enable_content_editing_operation" object.
 *
 * @author <a href="http://steemit.com/@dez1337">dez1337</a>
 */
public clreplaced EnableContentEditingOperation extends CustomJsonOperationPayload {

    @JsonProperty("account")
    private AccountName account;

    @JsonProperty("relock_time")
    private TimePointSec relockTime;

    /**
     * Use this operation to enable the editing of posts who are already
     * disabled.
     *
     * The {@link CustomJsonOperation} that will carry this operation needs to
     * be signed with the active key of the <code>account</code> to prevent
     * stolen posting keys from being used to deface old content.
     *
     * @param account
     *            The account to enable the editing for.
     * @param relockTime
     *            The time when editing is locked again.
     */
    @JsonCreator
    public EnableContentEditingOperation(@JsonProperty("account") AccountName account, @JsonProperty("relock_time") TimePointSec relockTime) {
        this.setAccount(account);
        this.setRelockTime(relockTime);
    }

    /**
     * Get the account whose posts are editable again.
     *
     * @return The account whose posts are editable again.
     */
    public AccountName getAccount() {
        return account;
    }

    /**
     * Set the <code>account</code> whose posts should be editable again.
     *
     * @param account
     *            The account whose posts should be editable again.
     * @throws InvalidParameterException
     *             If the <code>account</code> is <code>null</code>.
     */
    public void setAccount(AccountName account) {
        this.account = SteemJUtils.setIfNotNull(account, "The account cannot be null");
    }

    /**
     * Get the point in time when posts are locked again.
     *
     * @return The point in time when posts are locked again.
     */
    public TimePointSec getRelockTime() {
        return relockTime;
    }

    /**
     * Set the point in time when posts are locked again.
     *
     * @param relockTime
     *            The point in time when posts are locked again.
     * @throws InvalidParameterException
     *             If the <code>relockTime</code> is <code>null</code>.
     */
    public void setRelockTime(TimePointSec relockTime) {
        this.relockTime = SteemJUtils.setIfNotNull(relockTime, "The relock time cannot be null");
    }

    @Override
    public String toString() {
        return ToStringBuilder.reflectionToString(this);
    }

    @Override
    public void validate(List<ValidationType> validationsToSkip) {
    // No additional validation required.
    }
}

18 View Complete Implementation : ScheduledHardfork.java
Copyright GNU General Public License v3.0
Author : marvin-we
/**
 * This object represents the Steem "scheduled_hardfork" object.
 *
 * @author <a href="http://steemit.com/@dez1337">dez1337</a>
 */
public clreplaced ScheduledHardfork {

    @JsonProperty("hf_version")
    private HardforkVersion hardforkVersion;

    @JsonProperty("live_time")
    private TimePointSec liveTime;

    /**
     * This object is only used to wrap the JSON response in a POJO, so
     * therefore this clreplaced should not be instantiated.
     */
    private ScheduledHardfork() {
    }

    /**
     * @return The next expected Hardfork Version.
     */
    public HardforkVersion getHardforkVersion() {
        return hardforkVersion;
    }

    /**
     * @return The time when the next Hardfork is planned.
     */
    public TimePointSec getLiveTime() {
        return liveTime;
    }

    @Override
    public String toString() {
        return ToStringBuilder.reflectionToString(this);
    }
}

17 View Complete Implementation : DeclineVotingRightsRequestObject.java
Copyright GNU General Public License v3.0
Author : marvin-we
/**
 * This clreplaced represents a Steem "decline_voting_rights_request_object" object.
 *
 * @author <a href="http://Steemit.com/@dez1337">dez1337</a>
 */
public clreplaced DeclineVotingRightsRequestObject {

    // Original type is "id_type".
    @JsonProperty("id")
    private long id;

    @JsonProperty("account")
    private AccountName account;

    @JsonProperty("effective_date")
    private TimePointSec effectiveDate;

    /**
     * This object is only used to wrap the JSON response in a POJO, so
     * therefore this clreplaced should not be instantiated.
     */
    private DeclineVotingRightsRequestObject() {
    }

    /**
     * @return the id
     */
    public long getId() {
        return id;
    }

    /**
     * @return the account
     */
    public AccountName getAccount() {
        return account;
    }

    /**
     * @return the effectiveDate
     */
    public TimePointSec getEffectiveDate() {
        return effectiveDate;
    }

    @Override
    public String toString() {
        return ToStringBuilder.reflectionToString(this);
    }
}

17 View Complete Implementation : GetMarketHistoryArgs.java
Copyright GNU General Public License v3.0
Author : marvin-we
/**
 * This clreplaced implements the Steem "get_market_history_args" object.
 *
 * @author <a href="http://steemit.com/@dez1337">dez1337</a>
 */
public clreplaced GetMarketHistoryArgs {

    @JsonProperty("bucket_seconds")
    private UInteger bucketSeconds;

    @JsonProperty("start")
    private TimePointSec start;

    @JsonProperty("end")
    private TimePointSec end;

    /**
     * Create a new {@link GetAccountBandwidthArgs} instance to be preplaceded to the
     * {@link WitnessApi#getAccountBandwidth(CommunicationHandler, GetAccountBandwidthArgs)}
     * method.
     *
     * @param bucketSeconds
     * @param start
     * @param end
     */
    @JsonCreator()
    public GetMarketHistoryArgs(@JsonProperty("bucket_seconds") UInteger bucketSeconds, @JsonProperty("start") TimePointSec start, @JsonProperty("end") TimePointSec end) {
        this.setBucketSeconds(bucketSeconds);
        this.setStart(start);
        this.setEnd(end);
    }

    /**
     * @return the bucketSeconds
     */
    public UInteger getBucketSeconds() {
        return bucketSeconds;
    }

    /**
     * @param bucketSeconds
     *            the bucketSeconds to set
     */
    public void setBucketSeconds(UInteger bucketSeconds) {
        this.bucketSeconds = bucketSeconds;
    }

    /**
     * @return the start
     */
    public TimePointSec getStart() {
        return start;
    }

    /**
     * @param start
     *            the start to set
     */
    public void setStart(TimePointSec start) {
        this.start = start;
    }

    /**
     * @return the end
     */
    public TimePointSec getEnd() {
        return end;
    }

    /**
     * @param end
     *            the end to set
     */
    public void setEnd(TimePointSec end) {
        this.end = end;
    }

    @Override
    public String toString() {
        return ToStringBuilder.reflectionToString(this);
    }
}

17 View Complete Implementation : GetTradeHistoryArgs.java
Copyright GNU General Public License v3.0
Author : marvin-we
/**
 * This clreplaced implements the Steem "get_trade_history_args" object.
 *
 * @author <a href="http://steemit.com/@dez1337">dez1337</a>
 */
public clreplaced GetTradeHistoryArgs {

    @JsonProperty("start")
    private TimePointSec start;

    @JsonProperty("end")
    private TimePointSec end;

    @JsonProperty("limit")
    private UInteger limit;

    /**
     * Create a new {@link GetAccountBandwidthArgs} instance to be preplaceded to the
     * {@link WitnessApi#getAccountBandwidth(CommunicationHandler, GetAccountBandwidthArgs)}
     * method.
     *
     * @param start
     * @param end
     * @param limit
     */
    @JsonCreator()
    public GetTradeHistoryArgs(@JsonProperty("start") TimePointSec start, @JsonProperty("end") TimePointSec end, @Nullable @JsonProperty("limit") UInteger limit) {
        this.setEnd(end);
        this.setStart(start);
        this.setLimit(limit);
    }

    /**
     * @return the start
     */
    public TimePointSec getStart() {
        return start;
    }

    /**
     * @param start
     *            the start to set
     */
    public void setStart(TimePointSec start) {
        this.start = start;
    }

    /**
     * @return the end
     */
    public TimePointSec getEnd() {
        return end;
    }

    /**
     * @param end
     *            the end to set
     */
    public void setEnd(TimePointSec end) {
        this.end = end;
    }

    /**
     * @return the limit
     */
    public UInteger getLimit() {
        return limit;
    }

    /**
     * @param limit
     *            the limit to set
     */
    public void setLimit(@Nullable UInteger limit) {
        this.limit = SteemJUtils.setIfNotNull(limit, UInteger.valueOf(500));
    }

    @Override
    public String toString() {
        return ToStringBuilder.reflectionToString(this);
    }
}

17 View Complete Implementation : MarketTrade.java
Copyright GNU General Public License v3.0
Author : marvin-we
/**
 * This clreplaced represents a Steem "market_trade" object of the
 * "market_history_plugin".
 *
 * @author <a href="http://steemit.com/@dez1337">dez1337</a>
 */
public clreplaced MarketTrade {

    @JsonProperty("date")
    private TimePointSec date;

    @JsonProperty("current_pays")
    private Legacyreplacedet currentPays;

    @JsonProperty("open_pays")
    private Legacyreplacedet openPays;

    /**
     * This object is only used to wrap the JSON response in a POJO, so
     * therefore this clreplaced should not be instantiated.
     */
    protected MarketTrade() {
    }

    /**
     * @return the date
     */
    public TimePointSec getDate() {
        return date;
    }

    /**
     * @return the currentPays
     */
    public Legacyreplacedet getCurrentPays() {
        return currentPays;
    }

    /**
     * @return the openPays
     */
    public Legacyreplacedet getOpenPays() {
        return openPays;
    }

    @Override
    public String toString() {
        return ToStringBuilder.reflectionToString(this);
    }
}

16 View Complete Implementation : HardforkVersionVote.java
Copyright GNU General Public License v3.0
Author : marvin-we
/**
 * This clreplaced is the java implementation of the Steem "hardfork_version_vote"
 * object.
 *
 * @author <a href="http://steemit.com/@dez1337">dez1337</a>
 */
@JsonDeserialize
@JsonSerialize
public clreplaced HardforkVersionVote extends BlockHeaderExtensions {

    @JsonProperty("hf_version")
    protected HardforkVersion hfVersion;

    @JsonProperty("hf_time")
    protected TimePointSec hfTime;

    /**
     * Create a new hardfork version vote object.
     *
     * @param hfVersion
     *            The hardfork version to set.
     * @param hfTime
     *            The hardfork time to set.
     */
    @JsonCreator
    public HardforkVersionVote(@JsonProperty("hf_version") HardforkVersion hfVersion, @JsonProperty("hf_time") TimePointSec hfTime) {
        this.setHfTime(hfTime);
        this.setHfVersion(hfVersion);
    }

    /**
     * @return the hfVersion
     */
    public HardforkVersion getHfVersion() {
        return hfVersion;
    }

    /**
     * @param hfVersion
     *            the hfVersion to set
     */
    public void setHfVersion(HardforkVersion hfVersion) {
        this.hfVersion = hfVersion;
    }

    /**
     * @return the hfTime
     */
    public TimePointSec getHfTime() {
        return hfTime;
    }

    /**
     * @param hfTime
     *            the hfTime to set
     */
    public void setHfTime(TimePointSec hfTime) {
        this.hfTime = hfTime;
    }

    @Override
    public String toString() {
        return ToStringBuilder.reflectionToString(this);
    }

    @Override
    public byte[] toByteArray() throws SteemInvalidTransactionException {
        try (ByteArrayOutputStream serializedHardforkVersionVoteExtension = new ByteArrayOutputStream()) {
            serializedHardforkVersionVoteExtension.write(this.getHfVersion().toByteArray());
            serializedHardforkVersionVoteExtension.write(this.getHfTime().toByteArray());
            return serializedHardforkVersionVoteExtension.toByteArray();
        } catch (IOException e) {
            throw new SteemInvalidTransactionException("A problem occured while transforming the operation into a byte array.", e);
        }
    }
}

16 View Complete Implementation : OrderHistoryItem.java
Copyright GNU General Public License v3.0
Author : marvin-we
/**
 * This clreplaced represents a Steem "order_history_item" object.
 *
 * @author <a href="http://steemit.com/@dez1337">dez1337</a>
 */
public clreplaced OrderHistoryItem {

    @JsonProperty("time")
    private TimePointSec time;

    @JsonProperty("type")
    private OrderType type;

    @JsonProperty("sbd_quanreplacedy")
    private Legacyreplacedet sbdQuanreplacedy;

    @JsonProperty("steem_quanreplacedy")
    private Legacyreplacedet steemQuanreplacedy;

    @JsonProperty("real_price")
    private double realPrice;

    /**
     * This object is only used to wrap the JSON response in a POJO, so
     * therefore this clreplaced should not be instantiated.
     */
    protected OrderHistoryItem() {
    }

    /**
     * @return the time
     */
    public TimePointSec getTime() {
        return time;
    }

    /**
     * @return the type
     */
    public OrderType getType() {
        return type;
    }

    /**
     * @return the sbdQuanreplacedy
     */
    public Legacyreplacedet getSbdQuanreplacedy() {
        return sbdQuanreplacedy;
    }

    /**
     * @return the steemQuanreplacedy
     */
    public Legacyreplacedet getSteemQuanreplacedy() {
        return steemQuanreplacedy;
    }

    /**
     * @return the realPrice
     */
    public double getRealPrice() {
        return realPrice;
    }

    @Override
    public String toString() {
        return ToStringBuilder.reflectionToString(this);
    }
}

16 View Complete Implementation : Order.java
Copyright GNU General Public License v3.0
Author : marvin-we
/**
 * This clreplaced represents a Steem "order" object of the "market_history_plugin".
 *
 * @author <a href="http://steemit.com/@dez1337">dez1337</a>
 */
public clreplaced Order {

    @JsonProperty("order_price")
    private Price orderPrice;

    @JsonProperty("real_price")
    private double realPrice;

    // Original type is "share_type" which is a "safe<int64_t>".
    @JsonProperty("steem")
    private long steem;

    // Original type is "share_type" which is a "safe<int64_t>".
    @JsonProperty("sbd")
    private long sbd;

    @JsonProperty("created")
    private TimePointSec created;

    /**
     * This object is only used to wrap the JSON response in a POJO, so
     * therefore this clreplaced should not be instantiated.
     */
    private Order() {
    }

    /**
     * @return the orderPrice
     */
    public Price getOrderPrice() {
        return orderPrice;
    }

    /**
     * @param orderPrice
     *            the orderPrice to set
     */
    public void setOrderPrice(Price orderPrice) {
        this.orderPrice = orderPrice;
    }

    /**
     * @return the realPrice
     */
    public double getRealPrice() {
        return realPrice;
    }

    /**
     * @param realPrice
     *            the realPrice to set
     */
    public void setRealPrice(double realPrice) {
        this.realPrice = realPrice;
    }

    /**
     * @return the steem
     */
    public long getSteem() {
        return steem;
    }

    /**
     * @param steem
     *            the steem to set
     */
    public void setSteem(long steem) {
        this.steem = steem;
    }

    /**
     * @return the sbd
     */
    public long getSbd() {
        return sbd;
    }

    /**
     * @param sbd
     *            the sbd to set
     */
    public void setSbd(long sbd) {
        this.sbd = sbd;
    }

    /**
     * @return the created
     */
    public TimePointSec getCreated() {
        return created;
    }

    /**
     * @param created
     *            the created to set
     */
    public void setCreated(TimePointSec created) {
        this.created = created;
    }

    @Override
    public String toString() {
        return ToStringBuilder.reflectionToString(this);
    }
}

16 View Complete Implementation : BlockHeader.java
Copyright GNU General Public License v3.0
Author : marvin-we
/**
 * @author <a href="http://steemit.com/@dez1337">dez1337</a>
 */
public clreplaced BlockHeader implements ByteTransformable {

    protected BlockId previous;

    protected TimePointSec timestamp;

    protected AccountName witness;

    @JsonProperty("transaction_merkle_root")
    protected Checksum transactionMerkleRoot;

    // Original type is "block_header_extensions_type" which is an array of
    // "block_header_extensions".
    protected List<BlockHeaderExtensions> extensions;

    /**
     * @return The block id of the previous block.
     */
    public BlockId getPrevious() {
        return previous;
    }

    /**
     * @param previous
     *            The block id of the previous block to set.
     */
    public void setPrevious(BlockId previous) {
        this.previous = previous;
    }

    /**
     * @return the witness
     */
    public AccountName getWitness() {
        return witness;
    }

    /**
     * @param witness
     *            the witness to set
     */
    public void setWitness(AccountName witness) {
        this.witness = witness;
    }

    /**
     * @return the transactionMerkleRoot
     */
    public Checksum getTransactionMerkleRoot() {
        return transactionMerkleRoot;
    }

    /**
     * @param transactionMerkleRoot
     *            the transactionMerkleRoot to set
     */
    public void setTransactionMerkleRoot(Checksum transactionMerkleRoot) {
        this.transactionMerkleRoot = transactionMerkleRoot;
    }

    /**
     * Get the list of configured extensions.
     *
     * @return All extensions.
     */
    public List<BlockHeaderExtensions> getExtensions() {
        if (extensions == null) {
            extensions = new ArrayList<>();
        }
        return extensions;
    }

    /**
     * Extensions are currently not supported and will be ignored.
     *
     * @param extensions
     *            Define a list of extensions.
     */
    public void setExtensions(List<BlockHeaderExtensions> extensions) {
        this.extensions = extensions;
    }

    /**
     * @return the timestamp
     */
    public TimePointSec getTimestamp() {
        return timestamp;
    }

    /**
     * @param timestamp
     *            the timestamp to set
     */
    public void setTimestamp(TimePointSec timestamp) {
        this.timestamp = timestamp;
    }

    @Override
    public String toString() {
        return ToStringBuilder.reflectionToString(this);
    }

    @Override
    public byte[] toByteArray() throws SteemInvalidTransactionException {
        // TODO Auto-generated method stub
        // serializedRecoverAccountOperation
        // .write(SteemJUtils.transformIntToVarIntByteArray(this.getExtensions().size()));
        return null;
    }
}

16 View Complete Implementation : EscrowTransferOperationIT.java
Copyright GNU General Public License v3.0
Author : marvin-we
/**
 * <b>Attention:</b> This test clreplaced requires a valid active key of the used
 * "from" account. If no active key is provided or the active key is not
 * valid an Exception will be thrown. The private key is preplaceded as a -D
 * parameter during test execution.
 *
 * @throws Exception
 *             If something went wrong.
 */
@BeforeClreplaced()
public static void prepareTestClreplaced() throws Exception {
    setupIntegrationTestEnvironmentForTransactionVerificationTests(HTTP_MODE_IDENTIFIER, STEEMNET_ENDPOINT_IDENTIFIER);
    AccountName agent = new AccountName("steemj");
    AccountName from = new AccountName("dez1337");
    AccountName to = new AccountName("dez1337");
    TimePointSec escrowExpirationDate = new TimePointSec(1506967066);
    long escrowId = 34;
    TimePointSec ratificationDeadlineDate = new TimePointSec(1506966866);
    String jsonMeta = "";
    Legacyreplacedet sbdAmount = new Legacyreplacedet(1L, LegacyreplacedetSymbolType.SBD);
    Legacyreplacedet steemAmount = new Legacyreplacedet(10L, LegacyreplacedetSymbolType.STEEM);
    Legacyreplacedet fee = new Legacyreplacedet(1L, LegacyreplacedetSymbolType.STEEM);
    EscrowTransferOperation escrowTransferOperation = new EscrowTransferOperation(from, to, agent, escrowId, sbdAmount, steemAmount, fee, ratificationDeadlineDate, escrowExpirationDate, jsonMeta);
    ArrayList<Operation> operations = new ArrayList<>();
    operations.add(escrowTransferOperation);
    signedTransaction = new SignedTransaction(REF_BLOCK_NUM, REF_BLOCK_PREFIX, new TimePointSec(EXPIRATION_DATE), operations, null);
    signedTransaction.sign();
}

15 View Complete Implementation : CommentFeedEntry.java
Copyright GNU General Public License v3.0
Author : marvin-we
/**
 * This clreplaced represents a Steem "comment_feed_entry" object.
 *
 * @author <a href="http://steemit.com/@dez1337">dez1337</a>
 */
public clreplaced CommentFeedEntry {

    private Comment comment;

    @JsonProperty("reblog_by")
    private List<AccountName> reblogBy;

    @JsonProperty("reblog_on")
    private TimePointSec reblogOn;

    // Original type is uint32_t.
    @JsonProperty("entry_id")
    private int entryId;

    /**
     * This object is only used to wrap the JSON response in a POJO, so
     * therefore this clreplaced should not be instantiated.
     */
    protected CommentFeedEntry() {
    }

    /**
     * Get the whole content of the blog entry.
     *
     * @return The whole content of the blog entry.
     */
    public Comment getComment() {
        return comment;
    }

    /**
     * @return The account names which reblogged this post.
     */
    public List<AccountName> getReblogBy() {
        return reblogBy;
    }

    /**
     * In case this blog entry is not written by the blog owner, but was
     * resteemed by the blog owner, this field contains the date when the blog
     * owner has resteemed this post. If the entry has not been resteemed, the
     * timestamp is set to 0 which results in <code>1970-01-01T00:00:00</code>
     * as the date.
     *
     * @return The date when the blog entry has been restemmed by the blog
     *         owner.
     */
    public TimePointSec getReblogOn() {
        return reblogOn;
    }

    /**
     * Each blog entry has an id. The first posted or resteemed post of a blog
     * owner has the id 0. This id is incremented for each new post or resteem.
     *
     * @return The id of the blog entry.
     */
    public int getEntryId() {
        return entryId;
    }

    @Override
    public String toString() {
        return ToStringBuilder.reflectionToString(this);
    }
}

15 View Complete Implementation : Bucket.java
Copyright GNU General Public License v3.0
Author : marvin-we
/**
 * This clreplaced represents a Steem "bucket_object" object of the
 * "market_history_plugin".
 *
 * @author <a href="http://steemit.com/@dez1337">dez1337</a>
 */
public clreplaced Bucket {

    // Original type is "id_type".
    private long id;

    private TimePointSec open;

    // Original type is "uint32_t" so we use long here.
    private UInteger seconds;

    // Original type is "share_type" which is a "safe<int64_t>".
    @JsonProperty("high_steem")
    private long highSteem;

    // Original type is "share_type" which is a "safe<int64_t>".
    @JsonProperty("high_sbd")
    private long highSbd;

    // Original type is "share_type" which is a "safe<int64_t>".
    @JsonProperty("low_steem")
    private long lowSteem;

    // Original type is "share_type" which is a "safe<int64_t>".
    @JsonProperty("low_sbd")
    private long lowSbd;

    // Original type is "share_type" which is a "safe<int64_t>".
    @JsonProperty("open_steem")
    private long openSteem;

    // Original type is "share_type" which is a "safe<int64_t>".
    @JsonProperty("open_sbd")
    private long openSbd;

    // Original type is "share_type" which is a "safe<int64_t>".
    @JsonProperty("close_steem")
    private long closeSteem;

    // Original type is "share_type" which is a "safe<int64_t>".
    @JsonProperty("close_sbd")
    private long closeSbd;

    // Original type is "share_type" which is a "safe<int64_t>".
    @JsonProperty("steem_volume")
    private long steemVolume;

    // Original type is "share_type" which is a "safe<int64_t>".
    @JsonProperty("sbd_volume")
    private long sbdVolume;

    /**
     * This object is only used to wrap the JSON response in a POJO, so
     * therefore this clreplaced should not be instantiated.
     */
    protected Bucket() {
    }

    /**
     * @return the id
     */
    public long getId() {
        return id;
    }

    /**
     * @return the open
     */
    public TimePointSec getOpen() {
        return open;
    }

    /**
     * @return the seconds
     */
    public UInteger getSeconds() {
        return seconds;
    }

    /**
     * @return the highSteem
     */
    public long getHighSteem() {
        return highSteem;
    }

    /**
     * @return the highSbd
     */
    public long getHighSbd() {
        return highSbd;
    }

    /**
     * @return the lowSteem
     */
    public long getLowSteem() {
        return lowSteem;
    }

    /**
     * @return the lowSbd
     */
    public long getLowSbd() {
        return lowSbd;
    }

    /**
     * @return the openSteem
     */
    public long getOpenSteem() {
        return openSteem;
    }

    /**
     * @return the openSbd
     */
    public long getOpenSbd() {
        return openSbd;
    }

    /**
     * @return the closeSteem
     */
    public long getCloseSteem() {
        return closeSteem;
    }

    /**
     * @return the closeSbd
     */
    public long getCloseSbd() {
        return closeSbd;
    }

    /**
     * @return the steemVolume
     */
    public long getSteemVolume() {
        return steemVolume;
    }

    /**
     * @return the sbdVolume
     */
    public long getSbdVolume() {
        return sbdVolume;
    }

    /**
     * Calculate the highest Price per Steem.
     *
     * @return The highest Price per Steem.
     */
    public double calculateHigh() {
        return this.getHighSbd() / (double) this.getHighSteem();
    }

    /**
     * Calculate the lowest Price per Steem.
     *
     * @return The lowest Price per Steem.
     */
    public double calculateLow() {
        return this.getLowSbd() / (double) this.getLowSteem();
    }

    @Override
    public String toString() {
        return ToStringBuilder.reflectionToString(this);
    }
}

15 View Complete Implementation : LimitOrderCreate2Operation.java
Copyright GNU General Public License v3.0
Author : marvin-we
/**
 * This clreplaced is the java implementation of the <a href=
 * "https://github.com/steemit/steem/blob/master/libraries/protocol/include/steem/protocol/steem_operations.hpp">Steem
 * limit_order_create2_operation</a>.
 *
 * @author <a href="http://steemit.com/@dez1337">dez1337</a>
 */
public clreplaced LimitOrderCreate2Operation extends AbstractLimitOrderOperation {

    @JsonProperty("amount_to_sell")
    private Legacyreplacedet amountToSell;

    @JsonProperty("fill_or_kill")
    private boolean fillOrKill;

    @JsonProperty("exchange_rate")
    private Price exchangeRate;

    @JsonProperty("expiration")
    private TimePointSec expirationDate;

    /**
     * Create a new limit order create operation. This operation is identical to
     * the
     * {@link eu.bittrade.libs.steemj.protocol.operations.LimitOrderCreateOperation
     * limit order create operation} except that it serializes the price rather
     * than calculating it from other fields.
     *
     * @param owner
     *            The owner of the order that should be created (see
     *            {@link #setOwner(AccountName)}).
     * @param orderId
     *            The order id for this order (see
     *            {@link #setOrderId(UInteger)}).
     * @param amountToSell
     *            The amount to sell (see
     *            {@link #setAmountToSell(Legacyreplacedet)}).
     * @param fillOrKill
     *            Define if this order is a "fillOrKill" order (see
     *            {@link #setFillOrKill(boolean)}).
     * @param exchangeRate
     *            The exchange rate to set (see
     *            {@link #setExchangeRate(Price)}).
     * @param expirationDate
     *            The expiration date to set (see
     *            {@link #setExpirationDate(TimePointSec)}).
     * @throws InvalidParameterException
     *             If one of the arguments does not fulfill the requirements.
     */
    @JsonCreator
    public LimitOrderCreate2Operation(@JsonProperty("owner") AccountName owner, @JsonProperty("orderid") UInteger orderId, @JsonProperty("amount_to_sell") Legacyreplacedet amountToSell, @JsonProperty("fill_or_kill") boolean fillOrKill, @JsonProperty("exchange_rate") Price exchangeRate, @JsonProperty("expiration") TimePointSec expirationDate) {
        super(false);
        this.setOwner(owner);
        this.setOrderId(orderId);
        this.setAmountToSell(amountToSell);
        this.setFillOrKill(fillOrKill);
        this.setExchangeRate(exchangeRate);
        this.setExpirationDate(expirationDate);
    }

    /**
     * Like
     * {@link #LimitOrderCreate2Operation(AccountName, UInteger, Legacyreplacedet, boolean, Price, TimePointSec)},
     * but this constructor applies default values for the
     * <code>fillOrKill</code> and the <code>expirationDate</code> parameters.
     * The <code>fillOrKill</code> parameter is set to false and the
     * <code>expirationDate</code> to the latest possible date, so that it will
     * never expire.
     *
     * @param owner
     *            The owner of the order that should be created (see
     *            {@link #setOwner(AccountName)}).
     * @param orderId
     *            The order id for this order (see
     *            {@link #setOrderId(UInteger)}).
     * @param amountToSell
     *            The amount to sell (see
     *            {@link #setAmountToSell(Legacyreplacedet)}).
     * @param exchangeRate
     *            The exchange rate to set (see
     *            {@link #setExchangeRate(Price)}).
     * @throws InvalidParameterException
     *             If one of the arguments does not fulfill the requirements.
     */
    public LimitOrderCreate2Operation(AccountName owner, UInteger orderId, Legacyreplacedet amountToSell, Price exchangeRate) {
        this(owner, orderId, amountToSell, false, exchangeRate, new TimePointSec(Long.MAX_VALUE));
    }

    /**
     * Like
     * {@link #LimitOrderCreate2Operation(AccountName, UInteger, Legacyreplacedet, Price)},
     * but also sets the <code>orderId</code> to its default value (0).
     *
     * @param owner
     *            The owner of the order that should be created (see
     *            {@link #setOwner(AccountName)}).
     * @param amountToSell
     *            The amount to sell (see
     *            {@link #setAmountToSell(Legacyreplacedet)}).
     * @param exchangeRate
     *            The exchange rate to set (see
     *            {@link #setExchangeRate(Price)}).
     * @throws InvalidParameterException
     *             If one of the arguments does not fulfill the requirements.
     */
    public LimitOrderCreate2Operation(AccountName owner, Legacyreplacedet amountToSell, Price exchangeRate) {
        this(owner, UInteger.valueOf(0), amountToSell, false, exchangeRate, new TimePointSec(Long.MAX_VALUE));
    }

    /**
     * Get the account the order should be created for.
     *
     * @return The account to create the order for.
     */
    public AccountName getOwner() {
        return owner;
    }

    /**
     * Set the account to create the order for. <b>Notice:</b> The private
     * active key of this account needs to be stored in the key storage.
     *
     * @param owner
     *            The account to create the order for.
     * @throws InvalidParameterException
     *             If the <code>owner</code> is null.
     */
    public void setOwner(AccountName owner) {
        this.owner = SteemJUtils.setIfNotNull(owner, "The provided owner can't be null.");
    }

    /**
     * Get the id of this order.
     *
     * @return The id of this order.
     */
    public UInteger getOrderId() {
        return orderId;
    }

    /**
     * Set the id of this order. The only limitation for this id is that it has
     * to be free, meaning that there is no other open order with this id.
     *
     * @param orderId
     *            The id of this order.
     * @throws InvalidParameterException
     *             If the <code>orderId</code> is null.
     */
    public void setOrderId(UInteger orderId) {
        this.orderId = SteemJUtils.setIfNotNull(orderId, "The provided order id can't be null.");
    }

    /**
     * Get the amount to sell within this order.
     *
     * @return The amount to sell within this order.
     */
    public Legacyreplacedet getAmountToSell() {
        return amountToSell;
    }

    /**
     * Set the amount to sell within this order.
     *
     * @param amountToSell
     *            The amount to sell within this order.
     * @throws InvalidParameterException
     *             If the <code>amountToSell</code> is null.
     */
    public void setAmountToSell(Legacyreplacedet amountToSell) {
        this.amountToSell = SteemJUtils.setIfNotNull(amountToSell, "The amount to sell can't be null.");
    }

    /**
     * Get the information if this order was a "fill or kill" order. A "fill or
     * kill" is an option that can be added to limit order. If set to
     * <code>true</code>, the order will be automatically removed, if the order
     * can't be fulfilled immediately.
     *
     * @return <code>true</code> if this order was a fill or kill order,
     *         otherwise <code>false</code>.
     */
    public boolean getFillOrKill() {
        return fillOrKill;
    }

    /**
     * Define if this order was a "fill or kill" order. A "fill or kill" is an
     * option that can be added to limit order. If set to <code>true</code>, the
     * order will be automatically removed, if the order can't be fulfilled
     * Immediately.
     *
     * @param fillOrKill
     *            <code>true</code> if this order is a fill or kill order,
     *            otherwise <code>false</code>.
     */
    public void setFillOrKill(boolean fillOrKill) {
        this.fillOrKill = fillOrKill;
    }

    /**
     * Get the exchange rate (price.base / price.quote) used for this order.
     *
     * @return The exchange rate used for this order.
     */
    public Price getExchangeRate() {
        return exchangeRate;
    }

    /**
     * Set the exchange rate (price.base / price.quote) used for this order.
     *
     * @param exchangeRate
     *            The exchange rate used for this order.
     * @throws InvalidParameterException
     *             If the <code>exchangeRate</code> is null.
     */
    public void setExchangeRate(Price exchangeRate) {
        this.exchangeRate = SteemJUtils.setIfNotNull(exchangeRate, "The provided exchange rate can't be null.");
    }

    /**
     * Get the expiration date for this order.
     *
     * @return The expiration date of this order.
     */
    public TimePointSec getExpirationDate() {
        return expirationDate;
    }

    /**
     * Set the expiration date for this order.
     *
     * @param expirationDate
     *            The expiration date to set.
     */
    public void setExpirationDate(TimePointSec expirationDate) {
        if (expirationDate == null) {
            this.expirationDate = new TimePointSec(Long.MAX_VALUE);
        } else {
            this.expirationDate = expirationDate;
        }
    }

    @Override
    public byte[] toByteArray() throws SteemInvalidTransactionException {
        try (ByteArrayOutputStream serializedLimitOrderCreate2Operation = new ByteArrayOutputStream()) {
            serializedLimitOrderCreate2Operation.write(SteemJUtils.transformIntToVarIntByteArray(OperationType.LIMIT_ORDER_CREATE2_OPERATION.getOrderId()));
            serializedLimitOrderCreate2Operation.write(this.getOwner().toByteArray());
            serializedLimitOrderCreate2Operation.write(SteemJUtils.transformIntToByteArray(this.getOrderId().intValue()));
            serializedLimitOrderCreate2Operation.write(this.getAmountToSell().toByteArray());
            serializedLimitOrderCreate2Operation.write(this.getExchangeRate().toByteArray());
            serializedLimitOrderCreate2Operation.write(SteemJUtils.transformBooleanToByteArray(this.getFillOrKill()));
            serializedLimitOrderCreate2Operation.write(this.getExpirationDate().toByteArray());
            return serializedLimitOrderCreate2Operation.toByteArray();
        } catch (IOException e) {
            throw new SteemInvalidTransactionException("A problem occured while transforming the operation into a byte array.", e);
        }
    }

    @Override
    public String toString() {
        return ToStringBuilder.reflectionToString(this);
    }

    @Override
    public void validate(List<ValidationType> validationsToSkip) {
        if (!validationsToSkip.contains(ValidationType.SKIP_VALIDATION) || !validationsToSkip.contains(ValidationType.SKIP_replacedET_VALIDATION)) {
            if (!amountToSell.getSymbol().equals(this.getExchangeRate().getBase().getSymbol())) {
                throw new InvalidParameterException("The sell replacedet must be the base of the price.");
            } else if (exchangeRate.multiply(amountToSell).getAmount() <= 0) {
                throw new InvalidParameterException("The Amount to sell cannot round to 0 when traded.");
            } else if (!((amountToSell.getSymbol().equals(SteemJConfig.getInstance().getTokenSymbol()) && this.getExchangeRate().getQuote().getSymbol().equals(SteemJConfig.getInstance().getDollarSymbol())) || (amountToSell.getSymbol().equals(SteemJConfig.getInstance().getDollarSymbol()) && this.getExchangeRate().getQuote().getSymbol().equals(SteemJConfig.getInstance().getTokenSymbol())))) {
                throw new InvalidParameterException("Limit order must be for the STEEM:SBD market.");
            }
        }
    }
}

15 View Complete Implementation : LimitOrderCreateOperation.java
Copyright GNU General Public License v3.0
Author : marvin-we
/**
 * This clreplaced is the java implementation of the <a href=
 * "https://github.com/steemit/steem/blob/master/libraries/protocol/include/steem/protocol/steem_operations.hpp">Steem
 * limit_order_create_operation</a>.
 *
 * @author <a href="http://steemit.com/@dez1337">dez1337</a>
 */
public clreplaced LimitOrderCreateOperation extends AbstractLimitOrderOperation {

    @JsonProperty("amount_to_sell")
    private Legacyreplacedet amountToSell;

    @JsonProperty("min_to_receive")
    private Legacyreplacedet minToReceive;

    @JsonProperty("fill_or_kill")
    private boolean fillOrKill;

    @JsonProperty("expiration")
    private TimePointSec expirationDate;

    /**
     * Create a new limit order operation.
     *
     * @param owner
     *            The account to create the operation for (see
     *            {@link #setOwner(AccountName)}).
     * @param orderId
     *            The id of this order (see {@link #setOrderId(UInteger)}).
     * @param amountToSell
     *            The amount to sell (see
     *            {@link #setAmountToSell(Legacyreplacedet)}).
     * @param minToReceive
     *            The minimal amount to receive for the offered replacedet (see
     *            {@link #setMinToReceive(Legacyreplacedet)}).
     * @param fillOrKill
     *            Define if this order is a fill or kill order (see
     *            {@link #setFillOrKill(boolean)}).
     * @param expirationDate
     *            Define how long this order is valid (see
     *            {@link #setExpirationDate(TimePointSec)}).
     * @throws InvalidParameterException
     *             If one of the arguments does not fulfill the requirements.
     */
    public LimitOrderCreateOperation(@JsonProperty("owner") AccountName owner, @JsonProperty("orderid") UInteger orderId, @JsonProperty("amount_to_sell") Legacyreplacedet amountToSell, @JsonProperty("min_to_receive") Legacyreplacedet minToReceive, @JsonProperty("fill_or_kill") boolean fillOrKill, @JsonProperty("expiration") TimePointSec expirationDate) {
        super(false);
        this.setOwner(owner);
        this.setOrderId(orderId);
        this.setAmountToSell(amountToSell);
        this.setMinToReceive(minToReceive);
        this.setFillOrKill(fillOrKill);
        this.setExpirationDate(expirationDate);
    }

    /**
     * Like
     * {@link #LimitOrderCreateOperation(AccountName, UInteger, Legacyreplacedet, Legacyreplacedet)},
     * but this constructor applies default values for the
     * <code>fillOrKill</code> and the <code>expirationDate</code> parameters.
     * The <code>fillOrKill</code> parameter is set to false and the
     * <code>expirationDate</code> to the latest possible date, so that it will
     * never expire.
     *
     * @param owner
     *            The account to create the operation for (see
     *            {@link #setOwner(AccountName)}).
     * @param orderId
     *            The id of this order (see {@link #setOrderId(UInteger)}).
     * @param amountToSell
     *            The amount to sell (see
     *            {@link #setAmountToSell(Legacyreplacedet)}).
     * @param minToReceive
     *            The minimal amount to receive for the offered replacedet (see
     *            {@link #setMinToReceive(Legacyreplacedet)}).
     * @throws InvalidParameterException
     *             If one of the arguments does not fulfill the requirements.
     */
    public LimitOrderCreateOperation(AccountName owner, UInteger orderId, Legacyreplacedet amountToSell, Legacyreplacedet minToReceive) {
        this(owner, orderId, amountToSell, minToReceive, false, new TimePointSec(Long.MAX_VALUE));
    }

    /**
     * Like
     * {@link #LimitOrderCreateOperation(AccountName, UInteger, Legacyreplacedet, Legacyreplacedet)},
     * but also sets the <code>orderId</code> to its default value (0).
     *
     * @param owner
     *            The account to create the operation for (see
     *            {@link #setOwner(AccountName)}).
     * @param amountToSell
     *            The amount to sell (see
     *            {@link #setAmountToSell(Legacyreplacedet)}).
     * @param minToReceive
     *            The minimal amount to receive for the offered replacedet (see
     *            {@link #setMinToReceive(Legacyreplacedet)}).
     * @throws InvalidParameterException
     *             If one of the arguments does not fulfill the requirements.
     */
    public LimitOrderCreateOperation(AccountName owner, Legacyreplacedet amountToSell, Legacyreplacedet minToReceive) {
        this(owner, UInteger.valueOf(0), amountToSell, minToReceive, false, new TimePointSec(Long.MAX_VALUE));
    }

    /**
     * Get the account the order should be created for.
     *
     * @return The account to create the order for.
     */
    public AccountName getOwner() {
        return owner;
    }

    /**
     * Set the account to create the order for. <b>Notice:</b> The private
     * active key of this account needs to be stored in the key storage.
     *
     * @param owner
     *            The account to create the order for.
     * @throws InvalidParameterException
     *             If the <code>owner</code> is null.
     */
    public void setOwner(AccountName owner) {
        this.owner = SteemJUtils.setIfNotNull(owner, "The provided owner can't be null.");
    }

    /**
     * Get the id of this order.
     *
     * @return The id of this order.
     */
    public UInteger getOrderId() {
        return orderId;
    }

    /**
     * Set the id of this order. The only limitation for this id is that it has
     * to be free, meaning that there is no other open order with this id.
     *
     * @param orderId
     *            The id of this order.
     * @throws InvalidParameterException
     *             If the <code>orderId</code> is null.
     */
    public void setOrderId(UInteger orderId) {
        this.orderId = SteemJUtils.setIfNotNull(orderId, "The provided order id can't be null.");
    }

    /**
     * Get the amount to sell within this order.
     *
     * @return The amount to sell within this order.
     */
    public Legacyreplacedet getAmountToSell() {
        return amountToSell;
    }

    /**
     * Set the amount to sell within this order.
     *
     * @param amountToSell
     *            The amount to sell within this order.
     * @throws InvalidParameterException
     *             If the <code>amountToSell</code> is null.
     */
    public void setAmountToSell(Legacyreplacedet amountToSell) {
        this.amountToSell = SteemJUtils.setIfNotNull(amountToSell, "The amount to sell owner can't be null.");
    }

    /**
     * Get the amount that the owner has received.
     *
     * @return The amount that the owner has received.
     */
    public Legacyreplacedet getMinToReceive() {
        return minToReceive;
    }

    /**
     * Set the amount that should be received for the replacedet that will be sold.
     *
     * @param minToReceive
     *            The amount that should be received for the replacedet that will be
     *            sold.
     * @throws InvalidParameterException
     *             If the <code>minToReceive</code> is null.
     */
    public void setMinToReceive(Legacyreplacedet minToReceive) {
        this.minToReceive = SteemJUtils.setIfNotNull(minToReceive, "The min to receive owner can't be null.");
    }

    /**
     * Get the information if this order was a "fill or kill" order. A "fill or
     * kill" is an option that can be added to limit order. If set to
     * <code>true</code>, the order will be automatically removed, if the order
     * can't be fulfilled immediately.
     *
     * @return <code>true</code> if this order was a fill or kill order,
     *         otherwise <code>false</code>.
     */
    public boolean getFillOrKill() {
        return fillOrKill;
    }

    /**
     * Define if this order was a "fill or kill" order. A "fill or kill" is an
     * option that can be added to limit order. If set to <code>true</code>, the
     * order will be automatically removed, if the order can't be fulfilled
     * Immediately.
     *
     * @param fillOrKill
     *            <code>true</code> if this order is a fill or kill order,
     *            otherwise <code>false</code>.
     */
    public void setFillOrKill(boolean fillOrKill) {
        this.fillOrKill = fillOrKill;
    }

    /**
     * Get the expiration date for this order.
     *
     * @return The expiration date of this order.
     */
    public TimePointSec getExpirationDate() {
        return expirationDate;
    }

    /**
     * Set the expiration date for this order.
     *
     * @param expirationDate
     *            The expiration date to set.
     */
    public void setExpirationDate(TimePointSec expirationDate) {
        if (expirationDate == null) {
            this.expirationDate = new TimePointSec(Long.MAX_VALUE);
        } else {
            this.expirationDate = expirationDate;
        }
    }

    @Override
    public byte[] toByteArray() throws SteemInvalidTransactionException {
        try (ByteArrayOutputStream serializedLimitOrderCreateOperation = new ByteArrayOutputStream()) {
            serializedLimitOrderCreateOperation.write(SteemJUtils.transformIntToVarIntByteArray(OperationType.LIMIT_ORDER_CREATE_OPERATION.getOrderId()));
            serializedLimitOrderCreateOperation.write(this.getOwner().toByteArray());
            serializedLimitOrderCreateOperation.write(SteemJUtils.transformIntToByteArray(this.getOrderId().intValue()));
            serializedLimitOrderCreateOperation.write(this.getAmountToSell().toByteArray());
            serializedLimitOrderCreateOperation.write(this.getMinToReceive().toByteArray());
            serializedLimitOrderCreateOperation.write(SteemJUtils.transformBooleanToByteArray(this.getFillOrKill()));
            serializedLimitOrderCreateOperation.write(this.getExpirationDate().toByteArray());
            return serializedLimitOrderCreateOperation.toByteArray();
        } catch (IOException e) {
            throw new SteemInvalidTransactionException("A problem occured while transforming the operation into a byte array.", e);
        }
    }

    @Override
    public String toString() {
        return ToStringBuilder.reflectionToString(this);
    }

    @Override
    public void validate(List<ValidationType> validationsToSkip) {
        if (!validationsToSkip.contains(ValidationType.SKIP_VALIDATION) || !validationsToSkip.contains(ValidationType.SKIP_replacedET_VALIDATION) && (!SteemJConfig.getInstance().getTokenSymbol().equals(amountToSell) && SteemJConfig.getInstance().getDollarSymbol().equals(minToReceive)) || (SteemJConfig.getInstance().getDollarSymbol().equals(amountToSell) && SteemJConfig.getInstance().getTokenSymbol().equals(minToReceive))) {
            // TODO: (amount_to_sell / min_to_receive).validate();
            throw new InvalidParameterException("Limit order must be for the STEEM:SBD market.");
        }
    }
}

15 View Complete Implementation : LimitOrderCreate2OperationIT.java
Copyright GNU General Public License v3.0
Author : marvin-we
/**
 * <b>Attention:</b> This test clreplaced requires a valid posting key of the
 * used "voter". If no posting key is provided or the posting key is not
 * valid an Exception will be thrown. The private key is preplaceded as a -D
 * parameter during test execution.
 *
 * @throws Exception
 *             If something went wrong.
 */
@BeforeClreplaced()
public static void prepareTestClreplaced() throws Exception {
    setupIntegrationTestEnvironmentForTransactionVerificationTests(HTTP_MODE_IDENTIFIER, STEEMNET_ENDPOINT_IDENTIFIER);
    Legacyreplacedet base = new Legacyreplacedet(1L, LegacyreplacedetSymbolType.SBD);
    Legacyreplacedet quote = new Legacyreplacedet(10L, LegacyreplacedetSymbolType.STEEM);
    Price exchangeRate = new Price(base, quote);
    Legacyreplacedet amountToSell = new Legacyreplacedet(1L, LegacyreplacedetSymbolType.SBD);
    TimePointSec expirationDate = new TimePointSec(EXPIRATION_DATE);
    boolean fillOrKill = false;
    UInteger orderId = UInteger.valueOf(492991);
    AccountName owner = new AccountName("dez1337");
    LimitOrderCreate2Operation limitOrderCreate2Operation = new LimitOrderCreate2Operation(owner, orderId, amountToSell, fillOrKill, exchangeRate, expirationDate);
    ArrayList<Operation> operations = new ArrayList<>();
    operations.add(limitOrderCreate2Operation);
    signedTransaction = new SignedTransaction(REF_BLOCK_NUM, REF_BLOCK_PREFIX, new TimePointSec(EXPIRATION_DATE), operations, null);
    signedTransaction.sign();
}

15 View Complete Implementation : LimitOrder.java
Copyright GNU General Public License v3.0
Author : marvin-we
/**
 * This clreplaced represents a Graphene Chain "limit_order_object" object.
 *
 * @author <a href="http://steemit.com/@dez1337">dez1337</a>
 */
public clreplaced LimitOrder {

    // Original type is "id_type".
    private long id;

    private TimePointSec created;

    private TimePointSec expiration;

    private AccountName seller;

    // Original type is share_type while a share_type is a int64_t so we use
    // long here.
    @JsonProperty("for_sale")
    private long forSale;

    @JsonProperty("orderid")
    private UInteger orderId;

    @JsonProperty("sell_price")
    private Price sellPrice;

    /**
     * This object is only used to wrap the JSON response in a POJO, so
     * therefore this clreplaced should not be instantiated.
     */
    protected LimitOrder() {
    }

    /**
     * @return the id
     */
    public long getId() {
        return id;
    }

    /**
     * @return the created
     */
    public TimePointSec getCreated() {
        return created;
    }

    /**
     * @return the expiration
     */
    public TimePointSec getExpiration() {
        return expiration;
    }

    /**
     * @return the seller
     */
    public AccountName getSeller() {
        return seller;
    }

    /**
     * @return the forSale
     */
    public long getForSale() {
        return forSale;
    }

    /**
     * @return the orderId
     */
    public UInteger getOrderId() {
        return orderId;
    }

    /**
     * @return the sellPrice
     */
    public Price getSellPrice() {
        return sellPrice;
    }

    @Override
    public String toString() {
        return ToStringBuilder.reflectionToString(this);
    }
}

15 View Complete Implementation : OwnerAuthorityHistory.java
Copyright GNU General Public License v3.0
Author : marvin-we
/**
 * This clreplaced represents a Steem "api_owner_authority_history_object" object.
 *
 * @author <a href="http://steemit.com/@dez1337">dez1337</a>
 */
public clreplaced OwnerAuthorityHistory {

    // Original type is "owner_authority_history_id_type".
    @JsonProperty("")
    private long id;

    @JsonProperty("account")
    private AccountName account;

    @JsonProperty("previous_owner_authority")
    private Authority previousOwnerAuthority;

    @JsonProperty("last_valid_time")
    private TimePointSec lastValidTime;

    /**
     * This object is only used to wrap the JSON response in a POJO, so
     * therefore this clreplaced should not be instantiated.
     */
    private OwnerAuthorityHistory() {
    }

    /**
     * @return the id
     */
    public long getId() {
        return id;
    }

    /**
     * @return the account
     */
    public AccountName getAccount() {
        return account;
    }

    /**
     * @return the previousOwnerAuthority
     */
    public Authority getPreviousOwnerAuthority() {
        return previousOwnerAuthority;
    }

    /**
     * @return the lastValidTime
     */
    public TimePointSec getLastValidTime() {
        return lastValidTime;
    }

    @Override
    public String toString() {
        return ToStringBuilder.reflectionToString(this);
    }
}

15 View Complete Implementation : BlogEntry.java
Copyright GNU General Public License v3.0
Author : marvin-we
/**
 * This clreplaced represents a Steem "blog_entry" object.
 *
 * @author <a href="http://steemit.com/@dez1337">dez1337</a>
 */
public clreplaced BlogEntry {

    private AccountName author;

    private Permlink permlink;

    private AccountName blog;

    @JsonProperty("reblog_on")
    private TimePointSec reblogOn;

    // Original type is uint32_t.
    @JsonProperty("entry_id")
    private int entryId;

    /**
     * This object is only used to wrap the JSON response in a POJO, so
     * therefore this clreplaced should not be instantiated.
     */
    protected BlogEntry() {
    }

    /**
     * @return The author of the post.
     */
    public AccountName getAuthor() {
        return author;
    }

    /**
     * @return The permlink of the post.
     */
    public Permlink getPermlink() {
        return permlink;
    }

    /**
     * Get the account name of the blog owner.
     *
     * @return The account name of the blog owner.
     */
    public AccountName getBlog() {
        return blog;
    }

    /**
     * In case this blog entry is not written by the blog owner, but was
     * resteemed by the blog owner, this field contains the date when the blog
     * owner has resteemed this post. If the entry has not been resteemed, the
     * timestamp is set to 0 which results in <code>1970-01-01T00:00:00</code>
     * as the date.
     *
     * @return The date when the blog entry has been restemmed by the blog
     *         owner.
     */
    public TimePointSec getReblogOn() {
        return reblogOn;
    }

    /**
     * Each blog entry has an id. The first posted or resteemed post of a blog
     * owner has the id 0. This id is incremented for each new post or resteem.
     *
     * @return The id of the blog entry.
     */
    public int getEntryId() {
        return entryId;
    }

    @Override
    public String toString() {
        return ToStringBuilder.reflectionToString(this);
    }
}

15 View Complete Implementation : CommentBlogEntry.java
Copyright GNU General Public License v3.0
Author : marvin-we
/**
 * This clreplaced represents a Steem "comment_blog_entry" object.
 *
 * @author <a href="http://steemit.com/@dez1337">dez1337</a>
 */
public clreplaced CommentBlogEntry {

    private Comment comment;

    private AccountName blog;

    @JsonProperty("reblog_on")
    private TimePointSec reblogOn;

    // Original type is uint32_t.
    @JsonProperty("entry_id")
    private int entryId;

    /**
     * This object is only used to wrap the JSON response in a POJO, so
     * therefore this clreplaced should not be instantiated.
     */
    protected CommentBlogEntry() {
    }

    /**
     * Get the whole content of the blog entry.
     *
     * @return The whole content of the blog entry.
     */
    public Comment getComment() {
        return comment;
    }

    /**
     * Get the account name of the blog owner.
     *
     * @return The account name of the blog owner.
     */
    public AccountName getBlog() {
        return blog;
    }

    /**
     * In case this blog entry is not written by the blog owner, but was
     * resteemed by the blog owner, this field contains the date when the blog
     * owner has resteemed this post. If the entry has not been resteemed, the
     * timestamp is set to 0 which results in <code>1970-01-01T00:00:00</code>
     * as the date.
     *
     * @return The date when the blog entry has been restemmed by the blog
     *         owner.
     */
    public TimePointSec getReblogOn() {
        return reblogOn;
    }

    /**
     * Each blog entry has an id. The first posted or resteemed post of a blog
     * owner has the id 0. This id is incremented for each new post or resteem.
     *
     * @return The id of the blog entry.
     */
    public int getEntryId() {
        return entryId;
    }

    @Override
    public String toString() {
        return ToStringBuilder.reflectionToString(this);
    }
}

14 View Complete Implementation : ChangeRecoveryAccountRequest.java
Copyright GNU General Public License v3.0
Author : marvin-we
/**
 * This clreplaced represents a Steem "change_recovery_account_request_object"
 * object.
 *
 * @author <a href="http://Steemit.com/@dez1337">dez1337</a>
 */
public clreplaced ChangeRecoveryAccountRequest {

    // Original type is "id_type" so we use long here.
    @JsonProperty("id")
    private long id;

    @JsonProperty("account_to_recover")
    private AccountName accountToRecover;

    @JsonProperty("recovery_account")
    private AccountName recoveryAccount;

    @JsonProperty("effective_on")
    private TimePointSec effectiveOn;

    /**
     * This object is only used to wrap the JSON response in a POJO, so
     * therefore this clreplaced should not be instantiated.
     */
    private ChangeRecoveryAccountRequest() {
    }

    /**
     * @return the id
     */
    public long getId() {
        return id;
    }

    /**
     * @return the accountToRecover
     */
    public AccountName getAccountToRecover() {
        return accountToRecover;
    }

    /**
     * @return the recoveryAccount
     */
    public AccountName getRecoveryAccount() {
        return recoveryAccount;
    }

    /**
     * @return the effectiveOn
     */
    public TimePointSec getEffectiveOn() {
        return effectiveOn;
    }

    @Override
    public String toString() {
        return ToStringBuilder.reflectionToString(this);
    }
}

14 View Complete Implementation : VestingDelegationExpiration.java
Copyright GNU General Public License v3.0
Author : marvin-we
/**
 * This clreplaced represents a Steem "vesting_delegation_expiration_object" object.
 *
 * @author <a href="http://Steemit.com/@dez1337">dez1337</a>
 */
public clreplaced VestingDelegationExpiration {

    // Original type is "id_type" so we use long here.
    @JsonProperty("id")
    private long id;

    @JsonProperty("delegator")
    private AccountName delegator;

    @JsonProperty("vesting_shares")
    private Legacyreplacedet vestingShares;

    @JsonProperty("expiration")
    private TimePointSec expiration;

    /**
     * This object is only used to wrap the JSON response in a POJO, so
     * therefore this clreplaced should not be instantiated.
     */
    private VestingDelegationExpiration() {
    }

    /**
     * @return the id
     */
    public long getId() {
        return id;
    }

    /**
     * @param id
     *            the id to set
     */
    public void setId(long id) {
        this.id = id;
    }

    /**
     * @return the delegator
     */
    public AccountName getDelegator() {
        return delegator;
    }

    /**
     * @param delegator
     *            the delegator to set
     */
    public void setDelegator(AccountName delegator) {
        this.delegator = delegator;
    }

    /**
     * @return the vestingShares
     */
    public Legacyreplacedet getVestingShares() {
        return vestingShares;
    }

    /**
     * @param vestingShares
     *            the vestingShares to set
     */
    public void setVestingShares(Legacyreplacedet vestingShares) {
        this.vestingShares = vestingShares;
    }

    /**
     * @return the expiration
     */
    public TimePointSec getExpiration() {
        return expiration;
    }

    /**
     * @param expiration
     *            the expiration to set
     */
    public void setExpiration(TimePointSec expiration) {
        this.expiration = expiration;
    }

    @Override
    public String toString() {
        return ToStringBuilder.reflectionToString(this);
    }
}

14 View Complete Implementation : FeedEntry.java
Copyright GNU General Public License v3.0
Author : marvin-we
/**
 * This clreplaced represents a Steem "feed_entry" object.
 *
 * @author <a href="http://steemit.com/@dez1337">dez1337</a>
 */
public clreplaced FeedEntry {

    private AccountName author;

    private Permlink permlink;

    @JsonProperty("reblog_by")
    private List<AccountName> reblogBy;

    @JsonProperty("reblog_on")
    private TimePointSec reblogOn;

    // Original type is uint32_t.
    @JsonProperty("entry_id")
    private int entryId;

    /**
     * This object is only used to wrap the JSON response in a POJO, so
     * therefore this clreplaced should not be instantiated.
     */
    protected FeedEntry() {
    }

    /**
     * @return The author of the post.
     */
    public AccountName getAuthor() {
        return author;
    }

    /**
     * @return The permlink of the post.
     */
    public Permlink getPermlink() {
        return permlink;
    }

    /**
     * @return The account names which reblogged this post.
     */
    public List<AccountName> getReblogBy() {
        return reblogBy;
    }

    /**
     * In case this blog entry is not written by the blog owner, but was
     * resteemed by the blog owner, this field contains the date when the blog
     * owner has resteemed this post. If the entry has not been resteemed, the
     * timestamp is set to 0 which results in <code>1970-01-01T00:00:00</code>
     * as the date.
     *
     * @return The date when the blog entry has been restemmed by the blog
     *         owner.
     */
    public TimePointSec getReblogOn() {
        return reblogOn;
    }

    /**
     * Each blog entry has an id. The first posted or resteemed post of a blog
     * owner has the id 0. This id is incremented for each new post or resteem.
     *
     * @return The id of the blog entry.
     */
    public int getEntryId() {
        return entryId;
    }

    @Override
    public String toString() {
        return ToStringBuilder.reflectionToString(this);
    }
}

14 View Complete Implementation : AccountBandwidth.java
Copyright GNU General Public License v3.0
Author : marvin-we
/**
 * This clreplaced represents the Steem "api_account_bandwidth_object" object.
 *
 * @author <a href="http://steemit.com/@dez1337">dez1337</a>
 */
public clreplaced AccountBandwidth {

    // Original type is "id_type".
    @JsonProperty("id")
    private long id;

    @JsonProperty("account")
    private AccountName account;

    @JsonProperty("type")
    private BandwidthType type;

    // Original type is "share_type" which is a "safe<int64_t>".
    @JsonProperty("average_bandwidth")
    private long averageBandwidth;

    // Original type is "share_type" which is a "safe<int64_t>".
    @JsonProperty("lifetime_bandwidth")
    private long lifetimeBandwidth;

    @JsonProperty("last_bandwidth_update")
    private TimePointSec lastBandwidthUpdate;

    /**
     * This object is only used to wrap the JSON response in a POJO, so
     * therefore this clreplaced should not be instantiated.
     */
    private AccountBandwidth() {
    }

    /**
     * @return the id
     */
    public long getId() {
        return id;
    }

    /**
     * @return the account
     */
    public AccountName getAccount() {
        return account;
    }

    /**
     * @return the type
     */
    public BandwidthType getType() {
        return type;
    }

    /**
     * @return the averageBandwidth
     */
    public long getAverageBandwidth() {
        return averageBandwidth;
    }

    /**
     * @return the lifetimeBandwidth
     */
    public long getLifetimeBandwidth() {
        return lifetimeBandwidth;
    }

    /**
     * @return the lastBandwidthUpdate
     */
    public TimePointSec getLastBandwidthUpdate() {
        return lastBandwidthUpdate;
    }

    @Override
    public String toString() {
        return ToStringBuilder.reflectionToString(this);
    }
}

14 View Complete Implementation : LimitOrderCreateOperationIT.java
Copyright GNU General Public License v3.0
Author : marvin-we
/**
 * <b>Attention:</b> This test clreplaced requires a valid active key of the used
 * "owner". If no active key is provided or the active key is not valid an
 * Exception will be thrown. The active key is preplaceded as a -D parameter
 * during test execution.
 *
 * @throws Exception
 *             If something went wrong.
 */
@BeforeClreplaced()
public static void prepareTestClreplaced() throws Exception {
    setupIntegrationTestEnvironmentForTransactionVerificationTests(HTTP_MODE_IDENTIFIER, STEEMNET_ENDPOINT_IDENTIFIER);
    Legacyreplacedet amountToSell = new Legacyreplacedet(1L, LegacyreplacedetSymbolType.SBD);
    TimePointSec expirationDate = new TimePointSec(EXPIRATION_DATE);
    boolean fillOrKill = false;
    Legacyreplacedet minToReceive = new Legacyreplacedet(10L, LegacyreplacedetSymbolType.STEEM);
    UInteger orderId = UInteger.valueOf(492995);
    AccountName owner = new AccountName("dez1337");
    LimitOrderCreateOperation limitOrderCreateOperation = new LimitOrderCreateOperation(owner, orderId, amountToSell, minToReceive, fillOrKill, expirationDate);
    ArrayList<Operation> operations = new ArrayList<>();
    operations.add(limitOrderCreateOperation);
    signedTransaction = new SignedTransaction(REF_BLOCK_NUM, REF_BLOCK_PREFIX, new TimePointSec(EXPIRATION_DATE), operations, null);
    signedTransaction.sign();
}

14 View Complete Implementation : LimitOrderCreateOperationTest.java
Copyright GNU General Public License v3.0
Author : marvin-we
/**
 * Prepare the environment for this specific test.
 *
 * @throws Exception
 *             If something went wrong.
 */
@BeforeClreplaced()
public static void prepareTestClreplaced() throws Exception {
    setupUnitTestEnvironmentForTransactionalTests();
    Legacyreplacedet amountToSell = new Legacyreplacedet(1L, LegacyreplacedetSymbolType.SBD);
    TimePointSec expirationDate = new TimePointSec(EXPIRATION_DATE);
    boolean fillOrKill = false;
    Legacyreplacedet minToReceive = new Legacyreplacedet(10L, LegacyreplacedetSymbolType.STEEM);
    UInteger orderId = UInteger.valueOf(492995);
    AccountName owner = new AccountName("dez1337");
    limitOrderCreateOperation = new LimitOrderCreateOperation(owner, orderId, amountToSell, minToReceive, fillOrKill, expirationDate);
    ArrayList<Operation> operations = new ArrayList<>();
    operations.add(limitOrderCreateOperation);
    signedTransaction = new SignedTransaction(REF_BLOCK_NUM, REF_BLOCK_PREFIX, new TimePointSec(EXPIRATION_DATE), operations, null);
    signedTransaction.sign();
}

13 View Complete Implementation : VestingDelegation.java
Copyright GNU General Public License v3.0
Author : marvin-we
/**
 * This clreplaced represents a Steem "vesting_delegation_object" object.
 *
 * @author <a href="http://Steemit.com/@dez1337">dez1337</a>
 */
public clreplaced VestingDelegation {

    // Original type is "id_type" so we use long here.
    @JsonProperty("id")
    private long id;

    @JsonProperty("delegator")
    private AccountName delegator;

    @JsonProperty("delegatee")
    private AccountName delegatee;

    @JsonProperty("vesting_shares")
    private Legacyreplacedet vestingShares;

    @JsonProperty("min_delegation_time")
    private TimePointSec minDelegationTime;

    /**
     * This object is only used to wrap the JSON response in a POJO, so
     * therefore this clreplaced should not be instantiated.
     */
    private VestingDelegation() {
    }

    /**
     * @return the id
     */
    public long getId() {
        return id;
    }

    /**
     * @param id
     *            the id to set
     */
    public void setId(long id) {
        this.id = id;
    }

    /**
     * @return the delegator
     */
    public AccountName getDelegator() {
        return delegator;
    }

    /**
     * @param delegator
     *            the delegator to set
     */
    public void setDelegator(AccountName delegator) {
        this.delegator = delegator;
    }

    /**
     * @return the delegatee
     */
    public AccountName getDelegatee() {
        return delegatee;
    }

    /**
     * @param delegatee
     *            the delegatee to set
     */
    public void setDelegatee(AccountName delegatee) {
        this.delegatee = delegatee;
    }

    /**
     * @return the vestingShares
     */
    public Legacyreplacedet getVestingShares() {
        return vestingShares;
    }

    /**
     * @param vestingShares
     *            the vestingShares to set
     */
    public void setVestingShares(Legacyreplacedet vestingShares) {
        this.vestingShares = vestingShares;
    }

    /**
     * @return the minDelegationTime
     */
    public TimePointSec getMinDelegationTime() {
        return minDelegationTime;
    }

    /**
     * @param minDelegationTime
     *            the minDelegationTime to set
     */
    public void setMinDelegationTime(TimePointSec minDelegationTime) {
        this.minDelegationTime = minDelegationTime;
    }

    @Override
    public String toString() {
        return ToStringBuilder.reflectionToString(this);
    }
}

13 View Complete Implementation : HardforkProperty.java
Copyright GNU General Public License v3.0
Author : marvin-we
/**
 * This clreplaced represents a Steem "api_hardfork_property_object" object.
 *
 * @author <a href="http://steemit.com/@dez1337">dez1337</a>
 */
public clreplaced HardforkProperty {

    // Original type is hardfork_property_id_type
    @JsonProperty("id")
    private long id;

    @JsonProperty("processed_hardforks")
    private List<TimePointSec> processedHardforks;

    @JsonProperty("last_hardfork")
    private UInteger lastHardfork;

    @JsonProperty("current_hardfork_version")
    private HardforkVersion currentHardforkVersion;

    @JsonProperty("next_hardfork")
    private HardforkVersion nextHardfork;

    @JsonProperty("next_hardfork_time")
    private TimePointSec nextHardforkTime;

    /**
     * This object is only used to wrap the JSON response in a POJO, so
     * therefore this clreplaced should not be instantiated.
     */
    protected HardforkProperty() {
    }

    /**
     * @return the id
     */
    public long getId() {
        return id;
    }

    /**
     * @return the processedHardforks
     */
    public List<TimePointSec> getProcessedHardforks() {
        return processedHardforks;
    }

    /**
     * @return the lastHardfork
     */
    public UInteger getLastHardfork() {
        return lastHardfork;
    }

    /**
     * @return the currentHardforkVersion
     */
    public HardforkVersion getCurrentHardforkVersion() {
        return currentHardforkVersion;
    }

    /**
     * @return the nextHardfork
     */
    public HardforkVersion getNextHardfork() {
        return nextHardfork;
    }

    /**
     * @return the nextHardforkTime
     */
    public TimePointSec getNextHardforkTime() {
        return nextHardforkTime;
    }

    @Override
    public String toString() {
        return ToStringBuilder.reflectionToString(this);
    }
}

13 View Complete Implementation : GetDiscussionsByAuthorBeforeDateArgs.java
Copyright GNU General Public License v3.0
Author : marvin-we
/**
 * This clreplaced represents a Steem "get_discussions_by_author_before_date_args"
 * object.
 *
 * @author <a href="http://steemit.com/@dez1337">dez1337</a>
 */
public clreplaced GetDiscussionsByAuthorBeforeDateArgs {

    @JsonProperty("author")
    private AccountName author;

    @JsonProperty("start_permlink")
    private Permlink startPermlink;

    @JsonProperty("before_date")
    private TimePointSec beforeDate;

    @JsonProperty("limit")
    private UInteger limit;

    /**
     * @param author
     * @param startPermlink
     * @param beforeDate
     * @param limit
     */
    @JsonCreator
    public GetDiscussionsByAuthorBeforeDateArgs(@JsonProperty("author") AccountName author, @JsonProperty("start_permlink") Permlink startPermlink, @JsonProperty("before_date") TimePointSec beforeDate, @Nullable @JsonProperty("limit") UInteger limit) {
        this.setAuthor(author);
        this.setStartPermlink(startPermlink);
        this.setBeforeDate(beforeDate);
        this.setLimit(limit);
    }

    /**
     * @return the author
     */
    public AccountName getAuthor() {
        return author;
    }

    /**
     * @param author
     *            the author to set
     */
    public void setAuthor(AccountName author) {
        this.author = SteemJUtils.setIfNotNull(author, "The author needs to be provided.");
    }

    /**
     * @return the startPermlink
     */
    public Permlink getStartPermlink() {
        return startPermlink;
    }

    /**
     * @param startPermlink
     *            the startPermlink to set
     */
    public void setStartPermlink(Permlink startPermlink) {
        this.startPermlink = SteemJUtils.setIfNotNull(startPermlink, "The startPermlink needs to be provided.");
    }

    /**
     * @return the beforeDate
     */
    public TimePointSec getBeforeDate() {
        return beforeDate;
    }

    /**
     * @param beforeDate
     *            the beforeDate to set
     */
    public void setBeforeDate(TimePointSec beforeDate) {
        this.beforeDate = SteemJUtils.setIfNotNull(beforeDate, "The beforeDate needs to be provided.");
    }

    /**
     * @return the limit
     */
    public UInteger getLimit() {
        return limit;
    }

    /**
     * @param limit
     *            the limit to set
     */
    public void setLimit(@Nullable UInteger limit) {
        this.limit = SteemJUtils.setIfNotNull(limit, UInteger.valueOf(100));
    }

    @Override
    public String toString() {
        return ToStringBuilder.reflectionToString(this);
    }
}

13 View Complete Implementation : EscrowTransferOperation.java
Copyright GNU General Public License v3.0
Author : marvin-we
/**
 * This clreplaced represents the Steem "escrow_transfer_operation" object.
 *
 * @author <a href="http://steemit.com/@dez1337">dez1337</a>
 */
public clreplaced EscrowTransferOperation extends AbstractEscrowOperation {

    @JsonProperty("sbd_amount")
    private Legacyreplacedet sbdAmount;

    @JsonProperty("steem_amount")
    private Legacyreplacedet steemAmount;

    @JsonProperty("fee")
    private Legacyreplacedet fee;

    @JsonProperty("ratification_deadline")
    private TimePointSec ratificationDeadlineDate;

    @JsonProperty("escrow_expiration")
    private TimePointSec escrowExpirationDate;

    @JsonProperty("json_meta")
    private String jsonMeta;

    /**
     * Create a new escrow transfer operation.
     *
     * The purpose of this operation is to enable someone to send money
     * contingently to another individual. The funds leave the {@link #getFrom()
     * from} account and go into a temporary balance where they are held until
     * {@link #getFrom() from} releases it to {@link #getTo() to} or
     * {@link #getTo() to} refunds it to {@link #getFrom() from} account.
     *
     * In the event of a dispute the {@link #getAgent() agent} can divide the
     * funds between the to/from account. Disputes can be raised any time before
     * or on the dispute deadline time, after the escrow has been approved by
     * all parties.
     *
     * This operation only creates a proposed escrow transfer. Both the
     * {@link #getAgent() agent} and {@link #getTo() to} must agree to the terms
     * of the arrangement by approving the escrow.
     *
     * The escrow agent is paid the fee on approval of all parties. It is up to
     * the escrow agent to determine the fee.
     *
     * Escrow transactions are uniquely identified by 'from' and 'escrow_id',
     * the 'escrow_id' is defined by the sender.
     *
     * @param from
     *            The source account of the escrow operation (see
     *            {@link #setFrom(AccountName)}).
     * @param to
     *            The target account of the escrow operation (see
     *            {@link #setTo(AccountName)}).
     * @param agent
     *            The agent account of the escrow operation (see
     *            {@link #setAgent(AccountName)}).
     * @param escrowId
     *            Set the unique id of this escrow operation (see
     *            {@link #setEscrowId(long)}).
     * @param sbdAmount
     *            Set the SDB amount that should be transfered (see
     *            {@link #setSbdAmount(Legacyreplacedet)}).
     * @param steemAmount
     *            Set the STEEM amount that has been transfered (see
     *            {@link #setSteemAmount(Legacyreplacedet)}).
     * @param fee
     *            Set the fee that will be paid to the agent (see
     *            {@link #setFee(Legacyreplacedet)}).
     * @param ratificationDeadlineDate
     *            Define until when the escrow opperation needs to be approved
     *            (see {@link #setRatificationDeadlineDate(TimePointSec)}).
     * @param escrowExpirationDate
     *            Define when this escrow operation expires (see
     *            {@link #setEscrowExpirationDate(TimePointSec)}).
     * @param jsonMeta
     *            Additional meta data to set (see
     *            {@link #setJsonMeta(String)}).
     * @throws InvalidParameterException
     *             If one of the arguments does not fulfill the requirements.
     */
    @JsonCreator
    public EscrowTransferOperation(@JsonProperty("from") AccountName from, @JsonProperty("to") AccountName to, @JsonProperty("agent") AccountName agent, @JsonProperty("escrow_id") long escrowId, @JsonProperty("sbd_amount") Legacyreplacedet sbdAmount, @JsonProperty("steem_amount") Legacyreplacedet steemAmount, @JsonProperty("fee") Legacyreplacedet fee, @JsonProperty("ratification_deadline") TimePointSec ratificationDeadlineDate, @JsonProperty("escrow_expiration") TimePointSec escrowExpirationDate, @JsonProperty("json_meta") String jsonMeta) {
        super(false);
        this.setFrom(from);
        this.setTo(to);
        this.setAgent(agent);
        this.setEscrowId(escrowId);
        this.setSbdAmount(sbdAmount);
        this.setSteemAmount(steemAmount);
        this.setFee(fee);
        this.setRatificationDeadlineDate(ratificationDeadlineDate);
        this.setEscrowExpirationDate(escrowExpirationDate);
        this.setJsonMeta(jsonMeta);
    }

    /**
     * Like
     * {@link #EscrowTransferOperation(AccountName, AccountName, AccountName, long, Legacyreplacedet, Legacyreplacedet, Legacyreplacedet, TimePointSec, TimePointSec, String)},
     * but sets the <code>sbdAmount</code> and the <code>steemAmount</code> to
     * their default values (0).
     *
     * @param from
     *            The source account of the escrow operation (see
     *            {@link #setFrom(AccountName)}).
     * @param to
     *            The target account of the escrow operation (see
     *            {@link #setTo(AccountName)}).
     * @param agent
     *            The agent account of the escrow operation (see
     *            {@link #setAgent(AccountName)}).
     * @param escrowId
     *            Set the unique id of this escrow operation (see
     *            {@link #setEscrowId(long)}).
     * @param fee
     *            Set the fee that will be paid to the agent (see
     *            {@link #setFee(Legacyreplacedet)}).
     * @param ratificationDeadlineDate
     *            Define until when the escrow operation needs to be approved
     *            (see {@link #setRatificationDeadlineDate(TimePointSec)}).
     * @param escrowExpirationDate
     *            Define when this escrow operation expires (see
     *            {@link #setEscrowExpirationDate(TimePointSec)}).
     * @param jsonMeta
     *            Additional meta data to set (see
     *            {@link #setJsonMeta(String)}).
     * @throws InvalidParameterException
     *             If one of the arguments does not fulfill the requirements.
     */
    public EscrowTransferOperation(AccountName from, AccountName to, AccountName agent, long escrowId, Legacyreplacedet fee, TimePointSec ratificationDeadlineDate, TimePointSec escrowExpirationDate, String jsonMeta) {
        this(from, to, agent, escrowId, new Legacyreplacedet(0, SteemJConfig.getInstance().getDollarSymbol()), new Legacyreplacedet(0, SteemJConfig.getInstance().getTokenSymbol()), fee, ratificationDeadlineDate, escrowExpirationDate, jsonMeta);
    }

    /**
     * Like
     * {@link #EscrowTransferOperation(AccountName, AccountName, AccountName, Legacyreplacedet, TimePointSec, TimePointSec, String)},
     * but also sets the <code>escrowId</code> to its default value (30).
     *
     * @param from
     *            The source account of the escrow operation (see
     *            {@link #setFrom(AccountName)}).
     * @param to
     *            The target account of the escrow operation (see
     *            {@link #setTo(AccountName)}).
     * @param agent
     *            The agent account of the escrow operation (see
     *            {@link #setAgent(AccountName)}).
     * @param fee
     *            Set the fee that will be paid to the agent (see
     *            {@link #setFee(Legacyreplacedet)}).
     * @param ratificationDeadlineDate
     *            Define until when the escrow operation needs to be approved
     *            (see {@link #setRatificationDeadlineDate(TimePointSec)}).
     * @param escrowExpirationDate
     *            Define when this escrow operation expires (see
     *            {@link #setEscrowExpirationDate(TimePointSec)}).
     * @param jsonMeta
     *            Additional meta data to set (see
     *            {@link #setJsonMeta(String)}).
     * @throws InvalidParameterException
     *             If one of the arguments does not fulfill the requirements.
     */
    public EscrowTransferOperation(AccountName from, AccountName to, AccountName agent, Legacyreplacedet fee, TimePointSec ratificationDeadlineDate, TimePointSec escrowExpirationDate, String jsonMeta) {
        this(from, to, agent, 30, fee, ratificationDeadlineDate, escrowExpirationDate, jsonMeta);
    }

    /**
     * Set the account who wants to transfer the fund to the {@link #getTo() to}
     * account. <b>Notice:</b> The private active key of this account needs to
     * be stored in the key storage.
     *
     * @param from
     *            The account who wants to transfer the fund.
     * @throws InvalidParameterException
     *             If the <code>from</code> is null or is equal to the
     *             <code>agent</code> or <code>to</code> account.
     */
    @Override
    public void setFrom(AccountName from) {
        this.from = SteemJUtils.setIfNotNull(from, "The from account can't be null.");
    }

    /**
     * Set the account who should receive the funds.
     *
     * @param to
     *            The account who should receive the funds.
     * @throws InvalidParameterException
     *             If the <code>to</code> is null or is equal to the
     *             <code>agent</code> or <code>from</code> account.
     */
    @Override
    public void setTo(AccountName to) {
        this.to = SteemJUtils.setIfNotNull(to, "The to account can't be null.");
    }

    /**
     * Set the agent account.
     *
     * @param agent
     *            The agent account.
     * @throws InvalidParameterException
     *             If the <code>agent</code> is null or is equal to the
     *             <code>from</code> or <code>to</code> account.
     */
    @Override
    public void setAgent(AccountName agent) {
        this.agent = SteemJUtils.setIfNotNull(agent, "The agent can't be null.");
    }

    /**
     * Get the SDB amount that has been transfered.
     *
     * @return The SDB amount that has been transfered.
     */
    public Legacyreplacedet getSbdAmount() {
        return sbdAmount;
    }

    /**
     * Set the SDB amount that should be transfered.
     *
     * @param sbdAmount
     *            The SDB amount that has been transfered.
     * @throws InvalidParameterException
     *             If the <code>sbdAmount</code> is null, has a negative amount,
     *             has a different symbol type than SBD or if the
     *             <code>sbdAmount</code> <b>and</b> {@link #getSteemAmount()}
     *             both have an amount of 0.
     */
    public void setSbdAmount(Legacyreplacedet sbdAmount) {
        this.sbdAmount = SteemJUtils.setIfNotNull(sbdAmount, "The sbd amount can't be null.");
    }

    /**
     * Get the STEEM amount that has been transfered.
     *
     * @return The STEEM amount that has been transfered.
     */
    public Legacyreplacedet getSteemAmount() {
        return steemAmount;
    }

    /**
     * Set the STEEM amount that has been transfered.
     *
     * @param steemAmount
     *            The STEEM amount that has been transfered.
     * @throws InvalidParameterException
     *             If the <code>steemAmount</code> is null, has a negative
     *             amount, has a different symbol type than STEEM or if the
     *             <code>steemAmount</code> <b>and</b> {@link #getSbdAmount()}
     *             both have an amount of 0.
     */
    public void setSteemAmount(Legacyreplacedet steemAmount) {
        this.steemAmount = SteemJUtils.setIfNotNull(steemAmount, "The steem amount can't be null.");
    }

    /**
     * Get the fee that has been paid to the agent.
     *
     * @return The fee that will be paid to the agent.
     */
    public Legacyreplacedet getFee() {
        return fee;
    }

    /**
     * Set the fee that will be paid to the agent.
     *
     * @param fee
     *            The fee that will be paid to the agent.
     * @throws InvalidParameterException
     *             If the <code>fee</code> is null, has a negative amount or a
     *             different symbol than STEEM or SBD.
     */
    public void setFee(Legacyreplacedet fee) {
        this.fee = SteemJUtils.setIfNotNull(fee, "The fee can't be null.");
    }

    /**
     * Get the information until when the escrow operation needs to be approved.
     *
     * @return The ratification deadline.
     */
    public TimePointSec getRatificationDeadlineDate() {
        return ratificationDeadlineDate;
    }

    /**
     * Define until when the escrow operation needs to be approved.
     *
     * @param ratificationDeadlineDate
     *            The ratification deadline. to set.
     * @throws InvalidParameterException
     *             If the <code>ratificationDeadlineDate</code> is null or if
     *             the <code>ratificationDeadlineDate</code> is <b>not</b>
     *             before the {@link #getEscrowExpirationDate()}.
     */
    public void setRatificationDeadlineDate(TimePointSec ratificationDeadlineDate) {
        this.ratificationDeadlineDate = SteemJUtils.setIfNotNull(ratificationDeadlineDate, "The ratification deadline date can't be null.");
    }

    /**
     * Get the expration date for this escrow operation.
     *
     * @return The escrow expiration date.
     */
    public TimePointSec getEscrowExpirationDate() {
        return escrowExpirationDate;
    }

    /**
     * Define when this escrow operation expires.
     *
     * @param escrowExpirationDate
     *            The escrow expiration date to set.
     * @throws InvalidParameterException
     *             If the <code>escrowExpirationDate</code> is null or if the
     *             {@link #getRatificationDeadlineDate()} is <b>not</b> before
     *             the <code>escrowExpirationDate</code>.
     */
    public void setEscrowExpirationDate(TimePointSec escrowExpirationDate) {
        this.escrowExpirationDate = SteemJUtils.setIfNotNull(escrowExpirationDate, "The escrow expiration date can't be null.");
    }

    /**
     * Get the json metadata that has been added to this operation.
     *
     * @return The json metadata that has been added to this operation.
     */
    public String getJsonMeta() {
        return jsonMeta;
    }

    /**
     * Set the json metadata that has been added to this operation.
     *
     * @param jsonMeta
     *            The json metadata that has been added to this operation.
     * @throws InvalidParameterException
     *             If the given <code>jsonMeta</code> is not valid.
     */
    public void setJsonMeta(String jsonMeta) {
        this.jsonMeta = jsonMeta;
    }

    @Override
    public byte[] toByteArray() throws SteemInvalidTransactionException {
        try (ByteArrayOutputStream serializedEscrowTransferOperation = new ByteArrayOutputStream()) {
            serializedEscrowTransferOperation.write(SteemJUtils.transformIntToVarIntByteArray(OperationType.ESCROW_TRANSFER_OPERATION.getOrderId()));
            serializedEscrowTransferOperation.write(this.getFrom().toByteArray());
            serializedEscrowTransferOperation.write(this.getTo().toByteArray());
            serializedEscrowTransferOperation.write(this.getAgent().toByteArray());
            serializedEscrowTransferOperation.write(SteemJUtils.transformIntToByteArray(this.getEscrowId()));
            serializedEscrowTransferOperation.write(this.getSbdAmount().toByteArray());
            serializedEscrowTransferOperation.write(this.getSteemAmount().toByteArray());
            serializedEscrowTransferOperation.write(this.getFee().toByteArray());
            serializedEscrowTransferOperation.write(this.getRatificationDeadlineDate().toByteArray());
            serializedEscrowTransferOperation.write(this.getEscrowExpirationDate().toByteArray());
            serializedEscrowTransferOperation.write(SteemJUtils.transformStringToVarIntByteArray(this.getJsonMeta()));
            return serializedEscrowTransferOperation.toByteArray();
        } catch (IOException e) {
            throw new SteemInvalidTransactionException("A problem occured while transforming the operation into a byte array.", e);
        }
    }

    @Override
    public String toString() {
        return ToStringBuilder.reflectionToString(this);
    }

    @Override
    public void validate(List<ValidationType> validationsToSkip) {
        if (!validationsToSkip.contains(ValidationType.SKIP_VALIDATION)) {
            if (!validationsToSkip.contains(ValidationType.SKIP_replacedET_VALIDATION)) {
                if (fee.getAmount() < 0) {
                    throw new InvalidParameterException("The fee cannot be negative.");
                } else if (sbdAmount.getAmount() < 0) {
                    throw new InvalidParameterException("The sbd amount cannot be negative.");
                } else if (steemAmount.getAmount() < 0) {
                    throw new InvalidParameterException("The steem amount cannot be negative.");
                } else if (sbdAmount.getAmount() + steemAmount.getAmount() < 0) {
                    throw new InvalidParameterException("An escrow must release a non-zero amount.");
                } else if (!fee.getSymbol().equals(SteemJConfig.getInstance().getTokenSymbol()) && !fee.getSymbol().equals(SteemJConfig.getInstance().getDollarSymbol())) {
                    throw new InvalidParameterException("The fee must be STEEM or SBD.");
                } else if (!sbdAmount.getSymbol().equals(SteemJConfig.getInstance().getDollarSymbol())) {
                    throw new InvalidParameterException("The sbd amount must contain SBD.");
                } else if (!steemAmount.getSymbol().equals(SteemJConfig.getInstance().getTokenSymbol())) {
                    throw new InvalidParameterException("The steem amount must contain STEEM.");
                }
            }
            if (agent.equals(from) || agent.equals(to)) {
                throw new InvalidParameterException("The agent needs to be a third party.");
            } else if (escrowExpirationDate.getDateTimeAsTimestamp() < this.getRatificationDeadlineDate().getDateTimeAsTimestamp()) {
                throw new InvalidParameterException("The ratification deadline must be before escrow expiration.");
            } else if (jsonMeta != null && !jsonMeta.isEmpty() && !SteemJUtils.verifyJsonString(jsonMeta)) {
                throw new InvalidParameterException("The given String is no valid JSON");
            }
        }
    }
}

13 View Complete Implementation : LimitOrderCreate2OperationTest.java
Copyright GNU General Public License v3.0
Author : marvin-we
/**
 * Prepare the environment for this specific test.
 *
 * @throws Exception
 *             If something went wrong.
 */
@BeforeClreplaced()
public static void prepareTestClreplaced() throws Exception {
    setupUnitTestEnvironmentForTransactionalTests();
    Legacyreplacedet base = new Legacyreplacedet(1L, LegacyreplacedetSymbolType.SBD);
    Legacyreplacedet quote = new Legacyreplacedet(10L, LegacyreplacedetSymbolType.STEEM);
    Price exchangeRate = new Price(base, quote);
    Legacyreplacedet amountToSell = new Legacyreplacedet(1L, LegacyreplacedetSymbolType.SBD);
    TimePointSec expirationDate = new TimePointSec(EXPIRATION_DATE);
    boolean fillOrKill = false;
    UInteger orderId = UInteger.valueOf(492991);
    AccountName owner = new AccountName("dez1337");
    limitOrderCreate2Operation = new LimitOrderCreate2Operation(owner, orderId, amountToSell, fillOrKill, exchangeRate, expirationDate);
    ArrayList<Operation> operations = new ArrayList<>();
    operations.add(limitOrderCreate2Operation);
    signedTransaction = new SignedTransaction(REF_BLOCK_NUM, REF_BLOCK_PREFIX, new TimePointSec(EXPIRATION_DATE), operations, null);
    signedTransaction.sign();
}

12 View Complete Implementation : Transaction.java
Copyright GNU General Public License v3.0
Author : marvin-we
/**
 * This clreplaced represents a Steem "transaction" object.
 *
 * @author <a href="http://Steemit.com/@dez1337">dez1337</a>
 */
public clreplaced Transaction implements Serializable {

    /**
     * Generated serial version uid.
     */
    private static final long serialVersionUID = -3834759301983200246L;

    private static final Logger LOGGER = LoggerFactory.getLogger(Transaction.clreplaced);

    /**
     * The ref_block_num indicates a particular block in the past by referring
     * to the block number which has this number as the last two bytes.
     */
    @JsonProperty("ref_block_num")
    protected UShort refBlockNum;

    /**
     * The ref_block_prefix on the other hand is obtain from the block id of
     * that particular reference block.
     */
    @JsonProperty("ref_block_prefix")
    protected UInteger refBlockPrefix;

    @JsonProperty("expiration")
    protected transient TimePointSec expirationDate;

    @JsonProperty("operations")
    protected transient List<Operation> operations;

    // Original type is "extension_type" which is an array of "future_extions".
    @JsonProperty("extensions")
    protected transient List<FutureExtensions> extensions;

    /**
     * Create a new transaction object.
     *
     * @param refBlockNum
     *            The reference block number (see
     *            {@link #setRefBlockNum(UShort)}).
     * @param refBlockPrefix
     *            The reference block index (see
     *            {@link #setRefBlockPrefix(UInteger)}).
     * @param expirationDate
     *            Define until when the transaction has to be processed (see
     *            {@link #setExpirationDate(TimePointSec)}).
     * @param operations
     *            A list of operations to process within this Transaction (see
     *            {@link #setOperations(List)}).
     * @param extensions
     *            Extensions are currently not supported and will be ignored
     *            (see {@link #setExtensions(List)}).
     */
    @JsonCreator
    public Transaction(@JsonProperty("ref_block_num") UShort refBlockNum, @JsonProperty("ref_block_prefix") UInteger refBlockPrefix, @JsonProperty("expiration") TimePointSec expirationDate, @JsonProperty("operations") List<Operation> operations, @JsonProperty("extensions") List<FutureExtensions> extensions) {
        this.setRefBlockNum(refBlockNum);
        this.setRefBlockPrefix(refBlockPrefix);
        this.setExpirationDate(expirationDate);
        this.setOperations(operations);
        this.setExtensions(extensions);
    }

    /**
     * Like {@link #Transaction(UShort, UInteger, TimePointSec, List, List)},
     * but allows you to provide a
     * {@link eu.bittrade.libs.steemj.base.models.BlockId} object as the
     * reference block and will also set the <code>expirationDate</code> to the
     * latest possible time.
     *
     * @param blockId
     *            The block reference (see {@link #setRefBlockNum(UShort)} and
     *            {@link #setRefBlockPrefix(UInteger)}).
     * @param operations
     *            A list of operations to process within this Transaction (see
     *            {@link #setOperations(List)}).
     * @param extensions
     *            Extensions are currently not supported and will be ignored
     *            (see {@link #setExtensions(List)}).
     */
    public Transaction(BlockId blockId, List<Operation> operations, List<FutureExtensions> extensions) {
        this.setRefBlockNum(UShort.valueOf(blockId.getNumberFromHash() & 0xffff));
        this.setRefBlockPrefix(blockId.getHashValue());
        this.setExpirationDate(new TimePointSec(System.currentTimeMillis() + SteemJConfig.getInstance().getMaximumExpirationDateOffset() - 60000L));
        this.setOperations(operations);
        this.setExtensions(extensions);
    }

    /**
     * <b>This method is only used by JUnit-Tests</b>
     *
     * Create a new signed transaction object.
     */
    @VisibleForTesting
    protected Transaction() {
    }

    /**
     * Get the list of configured extensions.
     *
     * @return All extensions.
     */
    public List<FutureExtensions> getExtensions() {
        if (extensions == null) {
            extensions = new ArrayList<>();
        }
        return extensions;
    }

    /**
     * Get all Operations that have been added to this transaction.
     *
     * @return All operations.
     */
    public List<Operation> getOperations() {
        return operations;
    }

    /**
     * Get the ref block number in its int representation.
     *
     * The ref_block_num indicates a particular block in the past by referring
     * to the block number which has this number as the last two bytes.
     *
     * @return The ref block number.
     */
    public UShort getRefBlockNum() {
        return refBlockNum;
    }

    /**
     * Get the ref block prefix in its long representation.
     *
     * The ref_block_prefix on the other hand is obtain from the block id of
     * that particular reference block.
     *
     * @return The ref block prefix.
     */
    public UInteger getRefBlockPrefix() {
        return refBlockPrefix;
    }

    /**
     * Extensions are currently not supported and will be ignored.
     *
     * @param extensions
     *            Define a list of extensions.
     */
    public void setExtensions(List<FutureExtensions> extensions) {
        this.extensions = extensions;
    }

    /**
     * Define a list of operations that should be send with this transaction.
     *
     * @param operations
     *            A list of operations.
     * @throws InvalidParameterException
     *             If the given object does not contain at least one Operation.
     */
    public void setOperations(List<Operation> operations) {
        if (operations == null || operations.isEmpty()) {
            throw new InvalidParameterException("At least one Operation is required.");
        }
        this.operations = operations;
    }

    /**
     * Set the ref block number by providing its int representation.
     *
     * The ref_block_num indicates a particular block in the past by referring
     * to the block number which has this number as the last two bytes.
     *
     * @param refBlockNum
     *            The ref block number as int.
     */
    public void setRefBlockNum(UShort refBlockNum) {
        this.refBlockNum = refBlockNum;
    }

    /**
     * Set the ref block prefix by providing its long representation. If you
     * only have the String representation use {@link #setRefBlockPrefix(String)
     * setRefBlockPrefix(String)}.
     *
     * @param refBlockPrefix
     *            The ref block prefix.
     */
    public void setRefBlockPrefix(UInteger refBlockPrefix) {
        this.refBlockPrefix = refBlockPrefix;
    }

    /**
     * Set the ref block prefix by providing its String representation. The
     * String representation can be received from the @link
     * {@link eu.bittrade.libs.steemj.SteemJ#getDynamicGlobalProperties
     * getDynamicGlobalProperties} method.
     *
     * @param refBlockPrefix
     *            The String representation of the ref block prefix.
     */
    public void setRefBlockPrefix(String refBlockPrefix) {
        this.refBlockPrefix = UInteger.valueOf(CryptoUtils.readUint32(CryptoUtils.HEX.decode(refBlockPrefix), 4));
    }

    /**
     * Get the currently configured expiration date. The expiration date defines
     * in which time the operation has to be processed. If not processed in the
     * given time, the transaction will not be accepted. <b>Notice</b> that this
     * method will return the latest possible expiration date if no other time
     * has been configured using the {@link #setExpirationDate(TimePointSec)
     * setExpirationDate(TimePointSec)} method.
     *
     * @return The expiration date.
     */
    public TimePointSec getExpirationDate() {
        if (this.expirationDate == null || this.expirationDate.getDateTimeAsTimestamp() == 0) {
            // The expiration date is not set by the user so we do it on our own
            // by adding the maximal allowed offset to the current time.
            LOGGER.debug("No expiration date has been provided so the latest possible time is used.");
            return new TimePointSec(System.currentTimeMillis() + SteemJConfig.getInstance().getMaximumExpirationDateOffset() - 60000L);
        }
        return this.expirationDate;
    }

    /**
     * Define how long this transaction is valid. If not processed in the given
     * time, the transaction will not be accepted.
     *
     * @param expirationDate
     *            The expiration date to set.
     */
    public void setExpirationDate(TimePointSec expirationDate) {
        this.expirationDate = expirationDate;
    }

    /**
     * This method collects the required authorities for all operations stored
     * in this transaction. The returned list is already a minimized version to
     * avoid an "irrelevant signature included Unnecessary signature(s)
     * detected" error.
     *
     * @return All required authorities and private key types.
     */
    protected Map<SignatureObject, PrivateKeyType> getRequiredAuthorities() {
        Map<SignatureObject, PrivateKeyType> requiredAuthorities = new HashMap<>();
        // Iterate over all Operations and collect the requried authorities.
        for (Operation operation : this.getOperations()) {
            requiredAuthorities.putAll(operation.getRequiredAuthorities(requiredAuthorities));
        }
        return requiredAuthorities;
    }

    /**
     * Validate if all fields of this transaction object have acceptable values.
     *
     * @throws SteemInvalidTransactionException
     *             In case a field does not fulfill the requirements.
     */
    public void validate() throws SteemInvalidTransactionException {
        if (this.getExpirationDate().getDateTimeAsTimestamp() > (new Timestamp(System.currentTimeMillis())).getTime() + SteemJConfig.getInstance().getMaximumExpirationDateOffset()) {
            LOGGER.warn("The configured expiration date for this transaction is to far " + "in the future and may not be accepted by the Steem node.");
        } else if (this.getExpirationDate().getDateTimeAsTimestamp() < (new Timestamp(System.currentTimeMillis())).getTime()) {
            throw new SteemInvalidTransactionException("The expiration date can't be in the past.");
        }
        boolean isPostingKeyRequired = false;
        boolean isActiveKeyRequired = false;
        boolean isOwnerKeyRequired = false;
        // Posting authority cannot be mixed with active authority in same
        // transaction
        for (Entry<SignatureObject, PrivateKeyType> requiredAuthorities : getRequiredAuthorities().entrySet()) {
            PrivateKeyType keyType = requiredAuthorities.getValue();
            if (keyType.equals(PrivateKeyType.POSTING) && !isActiveKeyRequired && !isOwnerKeyRequired) {
                isPostingKeyRequired = true;
            } else if (keyType.equals(PrivateKeyType.ACTIVE) && !isPostingKeyRequired) {
                isActiveKeyRequired = true;
            } else if (keyType.equals(PrivateKeyType.OWNER) && !isPostingKeyRequired) {
                isOwnerKeyRequired = true;
            } else {
                throw new SteemInvalidTransactionException("Steem does not allow to process Operation requiring a POSTING " + "key together with Operations requireing an ACTIVE or OWNER key.");
            }
        }
    }

    @Override
    public String toString() {
        return ToStringBuilder.reflectionToString(this);
    }
}

12 View Complete Implementation : CandleStick.java
Copyright GNU General Public License v3.0
Author : marvin-we
/**
 * This clreplaced represents a Steem "candle_stick" object.
 *
 * @author <a href="http://steemit.com/@dez1337">dez1337</a>
 */
public clreplaced CandleStick {

    @JsonProperty("open_time")
    private TimePointSec openTime;

    @JsonProperty("period")
    private UInteger // The original type is "uint32_t".
    period;

    @JsonProperty("high")
    private double high;

    @JsonProperty("low")
    private double low;

    @JsonProperty("open")
    private double opne;

    @JsonProperty("close")
    private double close;

    @JsonProperty("steem_volume")
    private double steemVolume;

    @JsonProperty("dollar_volume")
    private double dollarVolume;

    /**
     * This object is only used to wrap the JSON response in a POJO, so
     * therefore this clreplaced should not be instantiated.
     */
    protected CandleStick() {
    }

    /**
     * @return the openTime
     */
    public TimePointSec getOpenTime() {
        return openTime;
    }

    /**
     * @return the period
     */
    public UInteger getPeriod() {
        return period;
    }

    /**
     * @return the high
     */
    public double getHigh() {
        return high;
    }

    /**
     * @return the low
     */
    public double getLow() {
        return low;
    }

    /**
     * @return the opne
     */
    public double getOpne() {
        return opne;
    }

    /**
     * @return the close
     */
    public double getClose() {
        return close;
    }

    /**
     * @return the steemVolume
     */
    public double getSteemVolume() {
        return steemVolume;
    }

    /**
     * @return the dollarVolume
     */
    public double getDollarVolume() {
        return dollarVolume;
    }

    @Override
    public String toString() {
        return ToStringBuilder.reflectionToString(this);
    }
}

11 View Complete Implementation : SavingsWithdraw.java
Copyright GNU General Public License v3.0
Author : marvin-we
/**
 * This clreplaced represents a Steem "api_savings_withdraw_object" object.
 *
 * @author <a href="http://steemit.com/@dez1337">dez1337</a>
 */
public clreplaced SavingsWithdraw {

    // Original type is "savings_withdraw_id_type".
    @JsonProperty("id")
    private long id;

    @JsonProperty("from")
    private AccountName from;

    @JsonProperty("to")
    private AccountName to;

    @JsonProperty("memo")
    private String memo;

    @JsonProperty("request_id")
    private UInteger requestId;

    @JsonProperty("amount")
    private Legacyreplacedet amount;

    @JsonProperty("complete")
    private TimePointSec complete;

    /**
     * This object is only used to wrap the JSON response in a POJO, so
     * therefore this clreplaced should not be instantiated.
     */
    private SavingsWithdraw() {
        this.requestId = UInteger.valueOf(0);
    }

    /**
     * @return the id
     */
    public long getId() {
        return id;
    }

    /**
     * @return the from
     */
    public AccountName getFrom() {
        return from;
    }

    /**
     * @return the to
     */
    public AccountName getTo() {
        return to;
    }

    /**
     * @return the memo
     */
    public String getMemo() {
        return memo;
    }

    /**
     * @return the requestId
     */
    public UInteger getRequestId() {
        return requestId;
    }

    /**
     * @return the amount
     */
    public Legacyreplacedet getAmount() {
        return amount;
    }

    /**
     * @return the complete
     */
    public TimePointSec getComplete() {
        return complete;
    }

    @Override
    public String toString() {
        return ToStringBuilder.reflectionToString(this);
    }
}