当前位置: 首页>>代码示例>>Java>>正文


Java State.toString方法代码示例

本文整理汇总了Java中org.openhab.core.types.State.toString方法的典型用法代码示例。如果您正苦于以下问题:Java State.toString方法的具体用法?Java State.toString怎么用?Java State.toString使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.openhab.core.types.State的用法示例。


在下文中一共展示了State.toString方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: stateToObject

import org.openhab.core.types.State; //导入方法依赖的package包/类
/**
 * Converts {@link State} to objects fitting into influxdb values.
 * 
 * @param     state to be converted
 * @return    integer or double value for DecimalType, 
 *            0 or 1 for OnOffType and OpenClosedType,
 *            integer for DateTimeType,
 *            String for all others
 */
private Object stateToObject(State state) {
  Object value;
  if (state instanceof DecimalType) {
    value = convertBigDecimalToNum(((DecimalType) state).toBigDecimal());
  } else if (state instanceof OnOffType) {
    value = (OnOffType) state == OnOffType.ON ? 1 : 0;
  } else if (state instanceof OpenClosedType) {
    value = (OpenClosedType) state == OpenClosedType.OPEN ? 1 : 0;
  } else if (state instanceof HSBType) {
    value = ((HSBType) state).toString();
  } else if (state instanceof DateTimeType) {
    value = ((DateTimeType) state).getCalendar().getTime().getTime();
  } else {
    value = state.toString();
  }
  return value;
}
 
开发者ID:andrey-desman,项目名称:openhab-hdl,代码行数:27,代码来源:InfluxDBPersistenceService.java

示例2: stateToString

import org.openhab.core.types.State; //导入方法依赖的package包/类
/**
 * Converts {@link State} to a String suitable for influxdb queries.
 * 
 * @param state to be converted
 * @return {@link String} equivalent of the {@link State}
 */
private String stateToString(State state) {
  String value;
  if (state instanceof DecimalType) {
    value = ((DecimalType) state).toBigDecimal().toString();
  } else if (state instanceof OnOffType) {
    value = ((OnOffType) state) == OnOffType.ON ? DIGITAL_VALUE_ON : DIGITAL_VALUE_OFF;
  } else if (state instanceof OpenClosedType) {
    value = ((OpenClosedType) state) == OpenClosedType.OPEN ? DIGITAL_VALUE_ON : DIGITAL_VALUE_OFF;  
  } else if (state instanceof HSBType) {
    value = ((HSBType) state).toString();
  } else if (state instanceof DateTimeType) {
    value = String.valueOf(((DateTimeType) state).getCalendar().getTime().getTime());
  } else {
    value = state.toString();
  }
  return value;
}
 
开发者ID:andrey-desman,项目名称:openhab-hdl,代码行数:24,代码来源:InfluxDBPersistenceService.java

示例3: convertValue

import org.openhab.core.types.State; //导入方法依赖的package包/类
private Object convertValue(State state) {
	Object value;
	if (state instanceof PercentType) {
		value = ((PercentType) state).toBigDecimal().doubleValue();
	} else if (state instanceof DateTimeType) {
		value = ((DateTimeType) state).getCalendar().getTime();
	} else if (state instanceof DecimalType) {
		value = ((DecimalType) state).toBigDecimal().doubleValue();
	} else {
		value = state.toString();
	}
	return value;
}
 
开发者ID:andrey-desman,项目名称:openhab-hdl,代码行数:14,代码来源:MongoDBPersistenceService.java

示例4: toString

import org.openhab.core.types.State; //导入方法依赖的package包/类
/**
 * Converts the given State to a string that can be persisted in db
 * @param state the state of the item to be persisted
 * @return state converted as string
 * @throws Exception
 */
static public String toString(State state) throws Exception {
	if(state instanceof DateTimeType) {
		return String.valueOf(((DateTimeType)state).getCalendar().getTime().getTime());
	}
	if(state instanceof DecimalType) {
		return String.valueOf(((DecimalType)state).doubleValue());
	}

	return state.toString();
}
 
开发者ID:andrey-desman,项目名称:openhab-hdl,代码行数:17,代码来源:StateHelper.java

示例5: renderWidget

import org.openhab.core.types.State; //导入方法依赖的package包/类
/**
 * {@inheritDoc}
 */
public EList<Widget> renderWidget(Widget w, StringBuilder sb) throws RenderException {
	Setpoint sp = (Setpoint) w;

	State state = itemUIRegistry.getState(w);
	String newLowerState = state.toString();
	String newHigherState = state.toString();

	// set defaults for min, max and step
	BigDecimal step = sp.getStep();
	if(step==null) {
		step = BigDecimal.ONE;
	}
	BigDecimal minValue = sp.getMinValue();
	if(minValue==null) {
		minValue = BigDecimal.ZERO;
	}
	BigDecimal maxValue = sp.getMaxValue();
	if(maxValue==null) {
		maxValue = BigDecimal.valueOf(100);
	}

	// if the current state is a valid value, we calculate the up and down step values
	if(state instanceof DecimalType) {
		DecimalType actState = (DecimalType) state;
		BigDecimal newLower = actState.toBigDecimal().subtract(step);
		BigDecimal newHigher = actState.toBigDecimal().add(step);
		if(newLower.compareTo(minValue) < 0) {
			newLower = minValue;
		}
		if(newHigher.compareTo(maxValue) > 0) {
			newHigher = maxValue;
		}
		newLowerState = newLower.toString();
		newHigherState = newHigher.toString();
	}
	
	String snippetName = "setpoint";
	String snippet = getSnippet(snippetName);

	snippet = StringUtils.replace(snippet, "%id%", itemUIRegistry.getWidgetId(w));
	snippet = StringUtils.replace(snippet, "%icon%", escapeURLPath(itemUIRegistry.getIcon(w)));
	snippet = StringUtils.replace(snippet, "%item%", w.getItem());
	snippet = StringUtils.replace(snippet, "%state%", state.toString());
	snippet = StringUtils.replace(snippet, "%newlowerstate%", newLowerState);
	snippet = StringUtils.replace(snippet, "%newhigherstate%", newHigherState);
	snippet = StringUtils.replace(snippet, "%label%", getLabel(w));
	snippet = StringUtils.replace(snippet, "%servletname%", WebAppServlet.SERVLET_NAME);
	snippet = StringUtils.replace(snippet, "%minValue%", minValue.toString());
	snippet = StringUtils.replace(snippet, "%maxValue%", maxValue.toString());
	snippet = StringUtils.replace(snippet, "%step%", step.toString());
	
	// Process the color tags
	snippet = processColor(w, snippet);

	sb.append(snippet);
	return null;
}
 
开发者ID:andrey-desman,项目名称:openhab-hdl,代码行数:61,代码来源:SetpointRenderer.java


注:本文中的org.openhab.core.types.State.toString方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。