All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.zkoss.zk.ui.impl.StaticIdGenerator Maven / Gradle / Ivy

There is a newer version: 10.0.0-jakarta
Show newest version
/* StaticIdGenerator.java

{{IS_NOTE
	Purpose:
		
	Description:
		
	History:
		Thu Sep 5 10:04:53 AM 2013, Created by Vincent
}}IS_NOTE

Copyright (C) 2013 Potix Corporation. All Rights Reserved.

{{IS_RIGHT
	This program is distributed under LGPL Version 3.0 in the hope that
	it will be useful, but WITHOUT ANY WARRANTY.
}}IS_RIGHT
 */
package org.zkoss.zk.ui.impl;

import java.io.Serializable;

import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.Desktop;
import org.zkoss.zk.ui.Page;
import org.zkoss.zk.ui.metainfo.ComponentInfo;
import org.zkoss.zk.ui.sys.ComponentsCtrl;
import org.zkoss.zk.ui.sys.IdGenerator;

/**
 * Use this generator will generate fixed uuid for each component. 
 * It is recommended if you want to performance stress test such as JMeter.
 * 

To use this Id Generator, add system-config in zk.xml. *

 * <system-config>
 *     <id-generator-class>org.zkoss.zk.ui.impl.StaticIdGenerator</id-generator-class>
 * </system-config>
 * 
* * @since 7.0.0 * @author Vincent */ public class StaticIdGenerator implements IdGenerator, Serializable { private static final long serialVersionUID = 20130905100453L; private static final String ID_PREFIX = "z_"; private static final String ID_NUM = "num"; public String nextComponentUuid(Desktop desktop, Component comp, ComponentInfo compInfo) { String number; if ((number = (String) desktop.getAttribute(ID_NUM)) == null) { number = "0"; desktop.setAttribute(ID_NUM, number); } int i = Integer.parseInt(number); i++; desktop.setAttribute(ID_NUM, String.valueOf(i)); return ComponentsCtrl.toAutoId(ID_PREFIX, i); } public String nextPageUuid(Page page) { final Desktop desktop = page.getDesktop(); String number; if ((number = (String) desktop.getAttribute(ID_NUM)) == null) { number = "0"; desktop.setAttribute(ID_NUM, number); } int i = Integer.parseInt(number); i++; desktop.setAttribute(ID_NUM, String.valueOf(i)); return ComponentsCtrl.toAutoId(ID_PREFIX, i); } public String nextDesktopId(Desktop desktop) { return null; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy