/** * Sets the X position of the label. You can set x coordinate in percentage or in pixels format. * For instance, 50% - position with percentage, 50 - position in pixels. * * @param x double or double with "%" */ public Label setX(String x) { checkCorrectInputFormat(x); this.x = x; return this; }
/** * Sets data provider to the data set. An array of data points to be used as data. Important, the data points * needs to come pre-ordered in ascending order. Data with incorrect order might result in visual and functional * glitches on the chart. * * @param dataProvider data provider */ public DataSet setDataProvider(DataProvider dataProvider) { this.dataProvider = dataProvider; fireDataProviderChanged(); return this; }
protected void fireDataProviderChanged() { if (CollectionUtils.isNotEmpty(dataProviderChangeListeners)) { DataProviderChangeEvent event = new DataProviderChangeEvent(this); for (DataProviderChangeListener listener : new ArrayList<>(dataProviderChangeListeners)) { listener.onChange(event); } } }
protected void loadLegendItems(AbstractLegend legend, Element legendElement) { Element legendDataElement = legendElement.element("data"); if (legendDataElement != null) { for (Object dataItem : legendDataElement.elements("item")) { Element dataElement = (Element) dataItem; LegendItem legendItem = new LegendItem(); String title = dataElement.attributeValue("title"); if (StringUtils.isNotEmpty(title)) { legendItem.setTitle(loadResourceString(title)); } String color = dataElement.attributeValue("color"); if (StringUtils.isNotEmpty(color)) { legendItem.setColor(Color.valueOf(color)); } String markerType = dataElement.attributeValue("markerType"); if (StringUtils.isNotEmpty(markerType)) { legendItem.setMarkerType(MarkerType.valueOf(markerType)); } legend.addItems(legendItem); } } }
protected void loadDateFormat(DateFormat dateFormat, Element dateFormatElement) { String period = dateFormatElement.attributeValue("period"); if (StringUtils.isNotEmpty(period)) { DatePeriod dp = DatePeriod.fromId(period); if (dp == null) { dp = DatePeriod.valueOf(period); } dateFormat.setPeriod(dp); } String format = dateFormatElement.attributeValue("format"); if (StringUtils.isNotEmpty(format)) { dateFormat.setFormat(format); } }
protected StockEvent getStockEvent(String stockEventId) { UUID eventId = UUID.fromString(stockEventId); for (DataSet dataSet : component.getChart().getDataSets()) { for (StockEvent stockEvent : dataSet.getStockEvents()) { if (stockEvent.getId().equals(eventId)) { return stockEvent; } } } return null; }
@Override public T setCategoryAxis(CategoryAxis categoryAxis) { if (categoryAxis != null && categoryAxis.getFirstDayOfWeek() == null) { String firstDayOfWeek = messages.getMainMessage("amcharts.firstDayOfWeek"); categoryAxis.setFirstDayOfWeek(DayOfWeek.valueOf(firstDayOfWeek)); } getModel().setCategoryAxis(categoryAxis); detectDateBasedCategoryAxis(); return (T) this; }
protected void loadStartEffect(HasStartEffect chart, Element element) { String startDuration = element.attributeValue("startDuration"); if (StringUtils.isNotEmpty(startDuration)) { chart.setStartDuration(Double.parseDouble(startDuration)); } String startEffect = element.attributeValue("startEffect"); if (StringUtils.isNotEmpty(startEffect)) { chart.setStartEffect(AnimationEffect.valueOf(startEffect)); } }
@Override public List<String> getWiredFields() { List<String> wiredFields = new ArrayList<>(super.getWiredFields()); if (StringUtils.isNotEmpty(getCompareField())) { wiredFields.add(getCompareField()); } return wiredFields; } }
@Override public DataSet getDataSet(String id) { for (DataSet dataSet : dataSets) { if (id.equals(dataSet.getId())) { return dataSet; } } return null; }
protected void loadPeriods(PeriodSelector periodSelector, Element periodSelectorElement) { Element periodsElement = periodSelectorElement.element("periods"); if (periodsElement != null) { for (Object periodItem : periodsElement.elements("period")) { Element periodElement = (Element) periodItem; Period period = new Period(); loadPeriod(period, periodElement); periodSelector.addPeriods(period); } } }
protected void loadFieldMappings(DataSet dataSet, Element dataSetElement) { Element fieldMappingsElement = dataSetElement.element("fieldMappings"); if (fieldMappingsElement != null) { for (Object fieldMappingItem : fieldMappingsElement.elements("fieldMapping")) { Element fieldMappingElement = (Element) fieldMappingItem; FieldMapping fieldMapping = new FieldMapping(); loadFieldMapping(fieldMapping, fieldMappingElement); dataSet.addFieldMappings(fieldMapping); } } }
protected void loadStockEvents(DataSet dataSet, Element dataSetElement) { Element stockEventsElement = dataSetElement.element("stockEvents"); if (stockEventsElement != null) { for (Object stockEventItem : stockEventsElement.elements("stockEvent")) { Element stockEventElement = (Element) stockEventItem; StockEvent stockEvent = new StockEvent(); loadStockEvent(stockEvent, stockEventElement); dataSet.addStockEvents(stockEvent); } } }
protected void loadFieldMapping(FieldMapping fieldMapping, Element fieldMappingElement) { String fromField = fieldMappingElement.attributeValue("fromField"); if (StringUtils.isNotEmpty(fromField)) { fieldMapping.setFromField(fromField); } String toField = fieldMappingElement.attributeValue("toField"); if (StringUtils.isNotEmpty(toField)) { fieldMapping.setToField(toField); } }
@Override public void onZoom(StockPanelZoomEvent e) { ZoomEvent cubaEvent = new ZoomEvent(WebStockChart.this, e.getStartDate(), e.getEndDate(), DatePeriod.fromId(e.getPeriod())); publish(ZoomEvent.class, cubaEvent); }
@Override public JsonElement serialize(Color src, Type typeOfSrc, JsonSerializationContext context) { return new JsonPrimitive(src.toString()); } }
protected void loadExportLibs(ExportLibs libs, Element libsElement) { String path = libsElement.attributeValue("path"); if (StringUtils.isNotEmpty(path)) { libs.setPath(path); } }
public static Color valueOf(String color) { Color namedColor = namedColors.get(StringUtils.upperCase(color)); if (namedColor != null) { return namedColor; } return new Color(color); } }
/** * Sets the Y position of the label. You can set x coordinate in percentage or in pixels format. * For instance, 50% - position with percentage, 50 - position in pixels. * * @param y double or double with "%" */ public Label setY(String y) { checkCorrectInputFormat(y); this.y = y; return this; }