/* * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * Copyright (c) 2013, MPL CodeInside http://codeinside.ru */ package ru.codeinside.gws3564c.context; import ru.codeinside.gws.api.Enclosure; import ru.codeinside.gws.api.ExchangeContext; import ru.codeinside.gws3564c.enclosure.grp.EnclosureGRPBuilder; import java.math.BigInteger; import java.util.Date; import java.util.Set; public class TypedContext implements ExchangeContext { private ExchangeContext context; public TypedContext(ExchangeContext context) { this.context = context; } public Object getLocal() { return context.getLocal(); } public void setVariable(String name, Object value) { context.setVariable(name, value); } public Set<String> getVariableNames() { return context.getVariableNames(); } public void addEnclosure(String name, Enclosure enclosure) { context.addEnclosure(name, enclosure); } public void setLocal(Object value) { context.setLocal(value); } public Enclosure getEnclosure(String name) { return context.getEnclosure(name); } public Object getVariable(String name) { return context.getVariable(name); } public boolean isEnclosure(String name) { return context.isEnclosure(name); } public String getStrFromContext(String varName) { return (String) getVariable(varName); } public Date getDateFromContext(String varName) { return (Date) getVariable(varName); } public Long getLongFromContext(String varName) { Object value = getVariable(varName); if (value == null) return 0L; if (value instanceof String) { if ("".equals(value)) return 0L; return Long.parseLong((String)value); } return (Long) value; } public boolean isStringVariableHasValue(String varName) { String varValue = (String) getVariable(varName); return varValue != null && !"".equals(varValue); } public BigInteger getBigIntFromContext(String varName) { return BigInteger.valueOf(getLongFromContext(varName)); } public boolean hasAtLeastOneVariableWithPrefix(String prefixName) { for (String varName : getVariableNames()) { if (varName.startsWith(prefixName)) return true; } return false; } public Boolean getBooleanValue(String varName) { if (getVariable(varName) == null) return false; return (Boolean) getVariable(varName); } }