/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package ittest.org.apache.geode.spark.connector;
import java.io.Serializable;
import java.util.Properties;
import org.apache.geode.cache.Declarable;
/**
* Represents a number of shares of a stock ("security") held in a {@link
* Portfolio}.
* </p>
* This class is <code>Serializable</code> because we want it to be distributed
* to multiple members of a distributed system. Because this class is
* <code>Declarable</code>, we can describe instances of it in a Geode
* <code>cache.xml</code> file.
* </p>
*
*/
public class Position implements Declarable, Serializable {
private static final long serialVersionUID = -8229531542107983344L;
private String secId;
private double qty;
private double mktValue;
public Position(Properties props) {
init(props);
}
@Override
public void init(Properties props) {
this.secId = props.getProperty("secId");
this.qty = Double.parseDouble(props.getProperty("qty"));
this.mktValue = Double.parseDouble(props.getProperty("mktValue"));
}
public String getSecId(){
return this.secId;
}
public double getQty(){
return this.qty;
}
public double getMktValue() {
return this.mktValue;
}
@Override
public String toString(){
return new StringBuilder()
.append("Position [secId=").append(secId)
.append(" qty=").append(this.qty)
.append(" mktValue=").append(mktValue).append("]").toString();
}
}