com.opengamma.integration.cashflow.PositionPayment.java Source code

Java tutorial

Introduction

Here is the source code for com.opengamma.integration.cashflow.PositionPayment.java

Source

/**
 * Copyright (C) 2012 - present by OpenGamma Inc. and the OpenGamma group of companies
 * 
 * Please see distribution for license.
 */
package com.opengamma.integration.cashflow;

import org.apache.commons.lang.ObjectUtils;
import org.apache.commons.lang.builder.ToStringStyle;

import com.opengamma.core.position.Position;
import com.opengamma.util.money.CurrencyAmount;

/**
 * 
 */
public class PositionPayment {

    private final Position _position;
    private final PaymentType _paymentType;
    private final PaymentDirection _direction;
    private final String _index;
    private final CurrencyAmount _amount;

    public PositionPayment(Position position, PaymentType paymentType, PaymentDirection direction, String index,
            CurrencyAmount amount) {
        _position = position;
        _paymentType = paymentType;
        _direction = direction;
        _index = index;
        _amount = amount;
    }

    public Position getPosition() {
        return _position;
    }

    public PaymentType getPaymentType() {
        return _paymentType;
    }

    public PaymentDirection getDirection() {
        return _direction;
    }

    public String getIndex() {
        return _index;
    }

    public CurrencyAmount getAmount() {
        return _amount;
    }

    //-------------------------------------------------------------------------
    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((_amount == null) ? 0 : _amount.hashCode());
        result = prime * result + ((_index == null) ? 0 : _index.hashCode());
        result = prime * result + ((_paymentType == null) ? 0 : _paymentType.hashCode());
        result = prime * result + ((_direction == null) ? 0 : _direction.hashCode());
        result = prime * result + ((_position == null) ? 0 : _position.hashCode());
        return result;
    }

    @Override
    public boolean equals(Object obj) {
        if (this == obj) {
            return true;
        }
        if (obj == null) {
            return false;
        }
        if (!(obj instanceof PositionPayment)) {
            return false;
        }
        PositionPayment other = (PositionPayment) obj;
        return ObjectUtils.equals(_amount, other._amount) && ObjectUtils.equals(_index, other._index)
                && ObjectUtils.equals(_paymentType, other._paymentType)
                && ObjectUtils.equals(_direction, other._direction)
                && ObjectUtils.equals(_position, other._position);
    }

    @Override
    public String toString() {
        StringBuffer sb = new StringBuffer();
        ToStringStyle style = ToStringStyle.SHORT_PREFIX_STYLE;
        style.appendStart(sb, this);
        style.append(sb, "position", getPosition(), null);
        style.append(sb, "type", getPaymentType(), null);
        style.append(sb, "direction", getDirection(), null);
        style.append(sb, "index", getIndex(), null);
        style.append(sb, "amount", getAmount(), null);
        style.appendEnd(sb, this);
        return sb.toString();
    }

}