Java Code Examples for com.thoughtworks.xstream.io.xml.DomDriver

The following examples show how to use com.thoughtworks.xstream.io.xml.DomDriver. These examples are extracted from open source projects. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source Project: AsuraFramework   Source File: ShardTableRuleFactoryBean.java    License: Apache License 2.0 6 votes vote down vote up
/**
 * 
 * 加载配置文件
 * @return
 * @throws Exception
 */
@SuppressWarnings("unchecked")
protected Map<String, Rule> loadRules() throws Exception {

	final Map<String, Rule> routerMap = new HashMap<String, Rule>();
	if (getRuleConfige() != null) {
		final XStream xstream = new XStream(new DomDriver());
		xstream.alias("rules", List.class);
		xstream.alias("rule", Entity.class);
		List<Entity> rules = new ArrayList<Entity>();
		rules = (List<Entity>) xstream.fromXML(getRuleConfige().getInputStream());

		for (final Entity entity : rules) {
			final Rule router = new Rule();
			final Class<?> clazz = Class.forName(entity.strategy);
			final IStrategy instance = (IStrategy) clazz.newInstance();
			instance.initStrategy(entity.tables.split(","));
			router.setShardStrategy(instance);
			router.setXmlTableParam(entity.tableParam);
			router.setFieldParam(entity.field);
			makeRouterMap(entity, router, routerMap);

		}
	}
	return routerMap;
}
 
Example 2
Source Project: scava   Source File: Job.java    License: Eclipse Public License 2.0 6 votes vote down vote up
public String getXML() {
	String id = this.id;
	int failures = this.getFailures();
	String correlationId = this.correlationId;
	boolean cached = this.cached;
	boolean cacheable = this.cacheable;

	this.id = null;
	this.correlationId = null;
	this.failures = 0;
	this.cached = false;
	this.cacheable = true;

	String xml = new XStream(new DomDriver()).toXML(this);

	this.id = id;
	this.correlationId = correlationId;
	this.cached = cached;
	this.failures = failures;
	this.cacheable = cacheable;

	return xml;
}
 
Example 3
Source Project: CoreModule   Source File: XmlUtil.java    License: Apache License 2.0 6 votes vote down vote up
/**
 * 将一个xml流转换为bean实体类
 *
 * @param type
 * @param is
 * @return
 */
@SuppressWarnings("unchecked")
public synchronized static <T> T toBean(Class<T> type, InputStream is) {
    XStream xmStream = new XStream(new DomDriver());
    // 设置可忽略为在javabean类中定义的界面属性
    xmStream.ignoreUnknownElements();
    xmStream.processAnnotations(type);
    T obj = null;
    try {
        obj = (T) xmStream.fromXML(is);
    } catch (Exception e) {
        Logger.log("===解析xml发生异常:" + e.getMessage());
    } finally {
        FileUtils.closeIO(is);
    }
    return obj;
}
 
Example 4
private <T> T getSpec(URL file) {
    try {
        XStream xstream = new XStream(new DomDriver());
        xstream.autodetectAnnotations(true);
        xstream.processAnnotations(Bit.class);
        xstream.processAnnotations(BitField.class);
        xstream.processAnnotations(Characteristic.class);
        xstream.processAnnotations(Enumeration.class);
        xstream.processAnnotations(Enumerations.class);
        xstream.processAnnotations(Field.class);
        xstream.processAnnotations(InformativeText.class);
        xstream.processAnnotations(Service.class);
        xstream.processAnnotations(Value.class);
        xstream.processAnnotations(Reserved.class);
        xstream.processAnnotations(Examples.class);
        xstream.processAnnotations(CharacteristicAccess.class);
        xstream.processAnnotations(Characteristics.class);
        xstream.processAnnotations(Properties.class);
        xstream.ignoreUnknownElements();
        xstream.setClassLoader(Characteristic.class.getClassLoader());
        return (T) xstream.fromXML(file);
    } catch (Exception e) {
        logger.error("Could not read file: " + file, e);
    }
    return null;
}
 
Example 5
Source Project: swingsane   Source File: XStreamUtility.java    License: Apache License 2.0 6 votes vote down vote up
private static XStream loadXStream() {
  XStream xstream = new XStream(new DomDriver("UTF-8")) {
    @Override
    protected MapperWrapper wrapMapper(MapperWrapper next) {
      return new MapperWrapper(next) {
        @Override
        public boolean shouldSerializeMember(@SuppressWarnings("rawtypes") Class definedIn,
            String fieldName) {
          if (definedIn == Object.class) {
            return false;
          }
          return super.shouldSerializeMember(definedIn, fieldName);
        }
      };
    }
  };
  xstream.setMode(XStream.NO_REFERENCES);
  return xstream;
}
 
Example 6
@Override
   public Collection<Object> query() {
	try {
		if (new File(filename).exists()) {
			XStream xstream = new XStream(new DomDriver());
			xstream.setMode(XStream.ID_REFERENCES);
			FileReader reader = new FileReader(filename);
			Object r = xstream.fromXML(reader);
			clearObjects();
			if (r instanceof Collection) {
			    @SuppressWarnings("unchecked")
                   Collection<Object> c = (Collection<Object>) r;
			    objects.addAll(c);
			} else {
			    objects.add(r);
			}
			reader.close();
		}
		return objects;
	} catch (Exception e) {
		throw new RuntimeException(e.getMessage(), e);
	}
}
 
Example 7
Source Project: onetwo   Source File: ExcelUtils.java    License: Apache License 2.0 6 votes vote down vote up
public static XStream registerExcelModel(){
		XStream xstream = new XStream(new DomDriver());
		xstream.alias("workbook", WorkbookModel.class);
		xstream.alias("vars", List.class);
		xstream.alias("var", VarModel.class);
		xstream.alias("sheets", List.class);
		xstream.alias("template", TemplateModel.class);
		xstream.alias("sheet", TemplateModel.class);
		xstream.alias("rows", List.class);
		xstream.alias("row", RowModel.class);
		xstream.alias("field", FieldModel.class);
		xstream.alias("valueExecutors", List.class);
		xstream.alias("valueExecutor", ExecutorModel.class);
//		xstream.useAttributeFor(Number.class);
//		xstream.useAttributeFor(boolean.class);
//		xstream.useAttributeFor(String.class); 
//		xstream.useAttributeFor(int.class); 
		xstream.useAttributeFor(String.class);
		for(Class<?> btype : getBaseTypeClass()){
			xstream.useAttributeFor(btype);
		}
		return xstream;
	}
 
Example 8
Source Project: ET_Redux   Source File: PhysicalConstants.java    License: Apache License 2.0 6 votes vote down vote up
/**
 *
 * @return
 */
private XStream getXStreamReader() {

    XStream xstream = new XStream(new DomDriver());

    customizeXstream(xstream);

    // http://x-stream.github.io/security.html
    XStream.setupDefaultSecurity(xstream);
    // clear out existing permissions and set own ones
    xstream.addPermission(NoTypePermission.NONE);
    // allow some basics
    xstream.addPermission(NullPermission.NULL);
    xstream.addPermission(PrimitiveTypePermission.PRIMITIVES);
    xstream.allowTypeHierarchy(Collection.class);
    xstream.addPermission(AnyTypePermission.ANY);

    return xstream;
}
 
Example 9
Source Project: ET_Redux   Source File: UThReduxAliquot.java    License: Apache License 2.0 6 votes vote down vote up
/**
 *
 * @return
 */
public XStream getXStreamReader() {

    XStream xstream = new XStream(new DomDriver());

    customizeXstream(xstream);

    // http://x-stream.github.io/security.html
    XStream.setupDefaultSecurity(xstream);
    // clear out existing permissions and set own ones
    xstream.addPermission(NoTypePermission.NONE);
    // allow some basics
    xstream.addPermission(NullPermission.NULL);
    xstream.addPermission(PrimitiveTypePermission.PRIMITIVES);
    xstream.allowTypeHierarchy(Collection.class);
    xstream.addPermission(AnyTypePermission.ANY);

    return xstream;
}
 
Example 10
Source Project: ET_Redux   Source File: PbBlank.java    License: Apache License 2.0 6 votes vote down vote up
/**
 * gets an <code>XStream</code> reader. Creates, customizes, and returns
 * <code>XStream</code> for XML serialization
 *
 * @pre <code>XStream</code> package is available @post <code>XStream</code>
 * for XML decoding is returned
 *
 * @return <code>XStream</code> - for XML serialization decoding
 */
public XStream getXStreamReader() {

    XStream xstream = new XStream(new DomDriver());

    customizeXstream(xstream);

    // http://x-stream.github.io/security.html
    XStream.setupDefaultSecurity(xstream);
    // clear out existing permissions and set own ones
    xstream.addPermission(NoTypePermission.NONE);
    // allow some basics
    xstream.addPermission(NullPermission.NULL);
    xstream.addPermission(PrimitiveTypePermission.PRIMITIVES);
    xstream.allowTypeHierarchy(Collection.class);
    xstream.addPermission(AnyTypePermission.ANY);

    return xstream;
}
 
Example 11
Source Project: ET_Redux   Source File: MineralStandardModel.java    License: Apache License 2.0 6 votes vote down vote up
/**
 *
 * @return
 */
private XStream getXStreamReader() {
    XStream xstream = new XStream(new DomDriver());

    customizeXstream(xstream);

    // http://x-stream.github.io/security.html
    XStream.setupDefaultSecurity(xstream);
    // clear out existing permissions and set own ones
    xstream.addPermission(NoTypePermission.NONE);
    // allow some basics
    xstream.addPermission(NullPermission.NULL);
    xstream.addPermission(PrimitiveTypePermission.PRIMITIVES);
    xstream.allowTypeHierarchy(Collection.class);
    xstream.addPermission(AnyTypePermission.ANY);

    return xstream;
}
 
Example 12
Source Project: ET_Redux   Source File: AnalysisFraction.java    License: Apache License 2.0 6 votes vote down vote up
/**
 *
 * @return
 */
public XStream getXStreamReader() {

    XStream xstream = new XStream(new DomDriver());

    customizeXstream(xstream);

    // http://x-stream.github.io/security.html
    XStream.setupDefaultSecurity(xstream);
    // clear out existing permissions and set own ones
    xstream.addPermission(NoTypePermission.NONE);
    // allow some basics
    xstream.addPermission(NullPermission.NULL);
    xstream.addPermission(PrimitiveTypePermission.PRIMITIVES);
    xstream.allowTypeHierarchy(Collection.class);
    xstream.addPermission(AnyTypePermission.ANY);

    return xstream;
}
 
Example 13
Source Project: ET_Redux   Source File: UPbFraction.java    License: Apache License 2.0 6 votes vote down vote up
/**
 *
 * @return
 */
private XStream getXStreamReader() {

    XStream xstream = new XStream(new DomDriver());

    customizeXstream(xstream);

    // http://x-stream.github.io/security.html
    XStream.setupDefaultSecurity(xstream);
    // clear out existing permissions and set own ones
    xstream.addPermission(NoTypePermission.NONE);
    // allow some basics
    xstream.addPermission(NullPermission.NULL);
    xstream.addPermission(PrimitiveTypePermission.PRIMITIVES);
    xstream.allowTypeHierarchy(Collection.class);
    xstream.addPermission(AnyTypePermission.ANY);

    return xstream;
}
 
Example 14
Source Project: ET_Redux   Source File: UPbReduxAliquot.java    License: Apache License 2.0 6 votes vote down vote up
/**
 *
 * @return
 */
public XStream getXStreamReader() {

    XStream xstream = new XStream(new DomDriver());

    customizeXstream(xstream);
    
    // http://x-stream.github.io/security.html
    XStream.setupDefaultSecurity(xstream);
    // clear out existing permissions and set own ones
    xstream.addPermission(NoTypePermission.NONE);
    // allow some basics
    xstream.addPermission(NullPermission.NULL);
    xstream.addPermission(PrimitiveTypePermission.PRIMITIVES);
    xstream.allowTypeHierarchy(Collection.class);
    xstream.addPermission(AnyTypePermission.ANY);

    return xstream;
}
 
Example 15
Source Project: ET_Redux   Source File: SampleMetaData.java    License: Apache License 2.0 6 votes vote down vote up
/**
 * gets an <code>XStream</code> reader. Creates, customizes, and returns
 * <code>XStream</code> for XML serialization
 *
 * @pre     <code>XStream</code> package is available
 * @post    <code>XStream</code> for XML decoding is returned
 * @return  <code>XStream</code> - for XML serialization decoding
 */
public XStream getXStreamReader() {

    XStream xstream = new XStream(new DomDriver());

    customizeXstream(xstream);

    // http://x-stream.github.io/security.html
    XStream.setupDefaultSecurity(xstream);
    // clear out existing permissions and set own ones
    xstream.addPermission(NoTypePermission.NONE);
    // allow some basics
    xstream.addPermission(NullPermission.NULL);
    xstream.addPermission(PrimitiveTypePermission.PRIMITIVES);
    xstream.allowTypeHierarchy(Collection.class);
    xstream.addPermission(AnyTypePermission.ANY);

    return xstream;
}
 
Example 16
Source Project: ET_Redux   Source File: SESARSampleMetadata.java    License: Apache License 2.0 6 votes vote down vote up
/**
 * gets an <code>XStream</code> reader. Creates, customizes, and returns
 * <code>XStream</code> for XML serialization
 *
 * @pre     <code>XStream</code> package is available
 * @post    <code>XStream</code> for XML decoding is returned
 * @return  <code>XStream</code> - for XML serialization decoding
 */
public XStream getXStreamReader() {

    XStream xstream = new XStream(new DomDriver());

    customizeXstream(xstream);

    // http://x-stream.github.io/security.html
    XStream.setupDefaultSecurity(xstream);
    // clear out existing permissions and set own ones
    xstream.addPermission(NoTypePermission.NONE);
    // allow some basics
    xstream.addPermission(NullPermission.NULL);
    xstream.addPermission(PrimitiveTypePermission.PRIMITIVES);
    xstream.allowTypeHierarchy(Collection.class);
    xstream.addPermission(AnyTypePermission.ANY);

    return xstream;
}
 
Example 17
Source Project: ET_Redux   Source File: AbstractRatiosDataModel.java    License: Apache License 2.0 6 votes vote down vote up
/**
 *
 * @return
 */
protected XStream getXStream() {

    XStream xstream = new XStream(new DomDriver());

    customizeXstream(xstream);

    // http://x-stream.github.io/security.html
    XStream.setupDefaultSecurity(xstream);
    // clear out existing permissions and set own ones
    xstream.addPermission(NoTypePermission.NONE);
    // allow some basics
    xstream.addPermission(NullPermission.NULL);
    xstream.addPermission(PrimitiveTypePermission.PRIMITIVES);
    xstream.allowTypeHierarchy(Collection.class);
    xstream.addPermission(AnyTypePermission.ANY);
    

    return xstream;
}
 
Example 18
Source Project: ET_Redux   Source File: ReportSettingsInterface.java    License: Apache License 2.0 6 votes vote down vote up
/**
 *
 * @return
 */
public default XStream getXStreamReader() {

    XStream xstream = new XStream(new DomDriver());

    customizeXstream(xstream);

    // http://x-stream.github.io/security.html
    XStream.setupDefaultSecurity(xstream);
    // clear out existing permissions and set own ones
    xstream.addPermission(NoTypePermission.NONE);
    // allow some basics
    xstream.addPermission(NullPermission.NULL);
    xstream.addPermission(PrimitiveTypePermission.PRIMITIVES);
    xstream.allowTypeHierarchy(Collection.class);
    xstream.addPermission(AnyTypePermission.ANY);

    return xstream;
}
 
Example 19
Source Project: KJFrameForAndroid   Source File: Parser.java    License: Apache License 2.0 6 votes vote down vote up
public static <T> T xmlToBean(Class<T> type, String xml) {
    T data = null;
    try {
        XStream xStream = new XStream(new DomDriver("UTF-8"));
        xStream.processAnnotations(type);
        data = (T) xStream.fromXML(xml);
    } catch (Exception e) {
        try {
            data = type.newInstance();
        } catch (Exception ee) {
        } finally {
            Log.e("kymjs", "xml解析异常");
        }
    }
    return data;
}
 
Example 20
Source Project: gatf   Source File: AcceptanceTestContext.java    License: Apache License 2.0 6 votes vote down vote up
private void initTestDataProviderAndGlobalVariables() {
	GatfTestDataConfig gatfTestDataConfig = null;
	if(gatfExecutorConfig.getTestDataConfigFile()!=null) {
		File file = getResourceFile(gatfExecutorConfig.getTestDataConfigFile());
		Assert.assertNotNull("Testdata configuration file not found...", file);
		Assert.assertEquals("Testdata configuration file not found...", file.exists(), true);
		
		XStream xstream = new XStream(new DomDriver("UTF-8"));
        XStream.setupDefaultSecurity(xstream);
        xstream.allowTypes(new Class[]{GatfTestDataConfig.class, GatfTestDataProvider.class});
		xstream.processAnnotations(new Class[]{GatfTestDataConfig.class, GatfTestDataProvider.class});
		xstream.alias("gatf-testdata-provider", GatfTestDataProvider.class);
		xstream.alias("args", String[].class);
		xstream.alias("arg", String.class);
		
		gatfTestDataConfig = (GatfTestDataConfig)xstream.fromXML(file);
		gatfExecutorConfig.setGatfTestDataConfig(gatfTestDataConfig);
	} else {
		gatfTestDataConfig = gatfExecutorConfig.getGatfTestDataConfig();
	}
	
	handleTestDataSourcesAndHooks(gatfTestDataConfig);
}
 
Example 21
Source Project: kogito-runtimes   Source File: KieModuleMarshaller.java    License: Apache License 2.0 5 votes vote down vote up
private KieModuleMarshaller() {
    xStream = new XStream(new DomDriver()) {
        @Override
        protected void setupConverters() {
            registerConverter(new NullConverter(), PRIORITY_VERY_HIGH);
            registerConverter(new IntConverter(), PRIORITY_NORMAL);
            registerConverter(new FloatConverter(), PRIORITY_NORMAL);
            registerConverter(new DoubleConverter(), PRIORITY_NORMAL);
            registerConverter(new LongConverter(), PRIORITY_NORMAL);
            registerConverter(new ShortConverter(), PRIORITY_NORMAL);
            registerConverter(new BooleanConverter(), PRIORITY_NORMAL);
            registerConverter(new ByteConverter(), PRIORITY_NORMAL);
            registerConverter(new StringConverter(), PRIORITY_NORMAL);
            registerConverter(new CollectionConverter(getMapper()), PRIORITY_NORMAL);
            registerConverter(new ReflectionConverter(getMapper(), getReflectionProvider()), PRIORITY_VERY_LOW);
            registerConverter(new KieModuleConverter());
            registerConverter(new KieBaseModelImpl.KBaseConverter());
            registerConverter(new KieSessionModelImpl.KSessionConverter());
            registerConverter(new ListenerModelImpl.ListenerConverter());
            registerConverter(new QualifierModelImpl.QualifierConverter());
            registerConverter(new WorkItemHandlerModelImpl.WorkItemHandelerConverter());
            registerConverter(new ChannelModelImpl.ChannelConverter());
            registerConverter(new RuleTemplateModelImpl.RuleTemplateConverter());
        }
    };
    XStream.setupDefaultSecurity(xStream);
    xStream.addPermission(new AnyTypePermission());
    xStream.alias("kmodule", KieModuleModelImpl.class);
    xStream.alias("kbase", KieBaseModelImpl.class);
    xStream.alias("ksession", KieSessionModelImpl.class);
    xStream.alias("listener", ListenerModelImpl.class);
    xStream.alias("qualifier", QualifierModelImpl.class);
    xStream.alias("workItemHandler", WorkItemHandlerModelImpl.class);
    xStream.alias("channel", ChannelModelImpl.class);
    xStream.alias("fileLogger", FileLoggerModelImpl.class);
    xStream.alias("ruleTemplate", RuleTemplateModelImpl.class);
    xStream.setClassLoader(KieModuleModelImpl.class.getClassLoader());
}
 
Example 22
Source Project: PoseidonX   Source File: PhysicalPlanWriter.java    License: Apache License 2.0 5 votes vote down vote up
/**
 * 将执行计划序列化成字符串
 */
public static String createStringPlan(PhysicalPlan plan)
{
    XStream xstream = new XStream(new DomDriver(XML_CHARSET));
    xstream.autodetectAnnotations(true);
    PhysicalPlanLoader.setAlias(xstream);
    xstream.registerConverter(new MapConverter(new DefaultMapper(new ClassLoaderReference(PhysicalPlanWriter.class.getClassLoader()))));
    return xstream.toXML(plan);
}
 
Example 23
Source Project: PoseidonX   Source File: StreamingConfig.java    License: Apache License 2.0 5 votes vote down vote up
/**
 * 获取 XML对象
 *
 */
private static XStream getXStream()
{
    XStream xstream = new XStream(new DomDriver());
    xstream.alias("property", ConfigBean.class);
    return xstream;
}
 
Example 24
Source Project: aaden-pay   Source File: XmlBeanJsonConverUtil.java    License: Apache License 2.0 5 votes vote down vote up
/**
 * 把XML转成对象
 *
 * @param xmlStr
 * @return Object
 */
@SuppressWarnings("unchecked")
public static <T> T xmlStringToBean(String xmlStr, Class<T> cls) {
	XStream xstream = new XStream(new DomDriver());
	xstream.processAnnotations(cls);
	xstream.autodetectAnnotations(true);
	return (T) xstream.fromXML(xmlStr);
}
 
Example 25
Source Project: aaden-pay   Source File: XmlBeanJsonConverUtil.java    License: Apache License 2.0 5 votes vote down vote up
/**
 * 把XML转成对象
 *
 * @param xmlStr
 * @param clss
 *            是转换对象的所有对象的list列表如aa.class
 * @return Object
 */
@SuppressWarnings("unchecked")
public static <T> T xmlStringToBean(String xmlStr, List<Class<T>> clss) {
	XStream xstream = new XStream(new DomDriver());
	for (Class<T> cls : clss) {
		xstream.processAnnotations(cls);
	}
	xstream.autodetectAnnotations(true);
	return (T) xstream.fromXML(xmlStr);
}
 
Example 26
Source Project: aaden-pay   Source File: XmlBeanJsonConverUtil.java    License: Apache License 2.0 5 votes vote down vote up
/**
 * 把XML转成对象
 *
 * @param <T>
 * @param cls
 * @return Object
 */
@SuppressWarnings("unchecked")
public static <T> T xmlStringToBean(Reader reader, Class<T> cls) {
	XStream xstream = new XStream(new DomDriver());
	xstream.processAnnotations(cls);
	xstream.autodetectAnnotations(true);
	return (T) xstream.fromXML(reader);
}
 
Example 27
Source Project: aaden-pay   Source File: XmlBeanJsonConverUtil.java    License: Apache License 2.0 5 votes vote down vote up
/**
 * 把XML转成对象
 *
 * @param input
 *            InputStream
 * @return Object
 */
@SuppressWarnings("unchecked")
public static <T> T xmlStringToBean(InputStream input, Class<T> cls) {
	XStream xstream = new XStream(new DomDriver());
	xstream.processAnnotations(cls);
	xstream.autodetectAnnotations(true);
	return (T) xstream.fromXML(input);
}
 
Example 28
Source Project: lams   Source File: DeployConfig.java    License: GNU General Public License v2.0 5 votes vote down vote up
public DeployConfig(String outputPath) {
this.validationError = "";
xstream = new XStream(new DomDriver());
Class<?>[] classes = new Class[] { DeployToolConfig.class, DeployLibraryConfig.class, LearningLibrary.class,
	ToolActivity.class };
xstream.allowTypes(classes);

this.outputPath = outputPath != null ? outputPath : "";
   }
 
Example 29
Source Project: AsuraFramework   Source File: ShardTableRuleFactoryBean.java    License: Apache License 2.0 5 votes vote down vote up
@SuppressWarnings("unchecked")
public static void main(final String[] args) {
	final XStream xstream = new XStream(new DomDriver());
	xstream.alias("routers", List.class);
	xstream.alias("router", Entity.class);
	List<Entity> rules = new ArrayList<Entity>();
	final File file = new File("E:\\eclipseworkspace\\SFbestFramework\\src\\test\\resources\\spring\\routers.xml");

	rules = (List<Entity>) xstream.fromXML(file);
	System.out.println(rules);
}
 
Example 30
Source Project: ExamStack   Source File: Object2Xml.java    License: GNU General Public License v2.0 5 votes vote down vote up
public static <T> T toBean(String xmlStr,Class<T> cls){
	XStream xstream=new XStream(new DomDriver());
	xstream.processAnnotations(cls);
	@SuppressWarnings("unchecked")
	T obj=(T)xstream.fromXML(xmlStr);
	return obj;
}