001: /* HiLoModel.java
002:
003: {{IS_NOTE
004: Purpose:
005:
006: Description:
007:
008: History:
009: Thu Aug 14 21:10:14 2006, Created by henrichen
010: }}IS_NOTE
011:
012: Copyright (C) 2006 Potix Corporation. All Rights Reserved.
013:
014: {{IS_RIGHT
015: This program is distributed under GPL Version 2.0 in the hope that
016: it will be useful, but WITHOUT ANY WARRANTY.
017: }}IS_RIGHT
018: */
019: package org.zkoss.zul;
020:
021: import java.util.Date;
022: import java.util.Collection;
023:
024: /**
025: * A HiLo chart data model (date, open, close, high, low, volumn) usually used in
026: * stock market.
027: *
028: * @author henrichen
029: * @see Chart
030: * @see SimpleHiLoModel
031: */
032: public interface HiLoModel extends ChartModel {
033: /**
034: * Get the only series.
035: */
036: public Comparable getSeries();
037:
038: /**
039: * Set the only series.
040: * @param series the only series in legend.
041: */
042: public void setSeries(Comparable series);
043:
044: /**
045: * Get data count.
046: */
047: public int getDataCount();
048:
049: /**
050: * Get date of a specified data index.
051: */
052: public Date getDate(int index);
053:
054: /**
055: * Get Open value of a specified data index.
056: * @param index the data index.
057: */
058: public Number getOpen(int index);
059:
060: /**
061: * Get High value of a specified data index.
062: * @param index the data index.
063: */
064: public Number getHigh(int index);
065:
066: /**
067: * Get Low value of a specified data index.
068: * @param index the data index.
069: */
070: public Number getLow(int index);
071:
072: /**
073: * Get close value of a specified data index.
074: * @param index the data index.
075: */
076: public Number getClose(int index);
077:
078: /**
079: * Get volume value of a specified data index.
080: * @param index the data index.
081: */
082: public Number getVolume(int index);
083:
084: /**
085: * Add an (date, open, high, low, close, volumn) tuple.
086: * @param date the date
087: * @param open the open value in the date.
088: * @param high the high value in the date.
089: * @param low the low value in the date.
090: * @param close the close value in the date.
091: * @param volumn the trading volumn in the date.
092: *
093: */
094: public void addValue(Date date, Number open, Number high,
095: Number low, Number close, Number volumn);
096:
097: /**
098: * Remove (date, open, high, low, close, volumn) tuple of a data index.
099: * @param index the data index.
100: */
101: public void removeValue(int index);
102:
103: /**
104: * clear this model.
105: */
106: public void clear();
107: }
|