![JAR search and dependency download from the Maven repository](/logo.png)
org.cauli.ui.selenium.PageHelper Maven / Gradle / Ivy
package org.cauli.ui.selenium;
import com.google.common.collect.Maps;
import org.cauli.common.instrument.ClassPool;
import org.cauli.common.instrument.ClassUtils;
import org.cauli.ui.annotation.Commit;
import org.cauli.ui.selenium.page.Frame;
import org.cauli.ui.selenium.page.SourcePage;
import org.cauli.ui.selenium.page.SubPage;
import java.util.Map;
import java.util.Set;
/**
* Created by tianqing.wang on 2014/7/25
*/
public class PageHelper {
private Map> frameMap = Maps.newHashMap();
private Map> subPageMap = Maps.newHashMap();
private Map> sourcePageMap = Maps.newHashMap();
private volatile static PageHelper pageHelper;
private PageHelper(){
Set> classes = ClassPool.getClassPool();
for(Class> clazz : classes){
if(ClassUtils.isAssignableFromSubClass(Frame.class, clazz)){
frameMap.put(clazz.getAnnotation(Commit.class)==null?clazz.getSimpleName():clazz.getAnnotation(Commit.class).value(), (Class extends Frame>) clazz);
}else if(ClassUtils.isAssignableFromSubClass(SubPage.class,clazz)){
subPageMap.put(clazz.getAnnotation(Commit.class)==null?clazz.getSimpleName():clazz.getAnnotation(Commit.class).value(), (Class extends SubPage>) clazz);
}else if(ClassUtils.isAssignableFromSubClass(Commit.class,clazz)){
sourcePageMap.put(clazz.getAnnotation(Commit.class)==null?clazz.getSimpleName():clazz.getAnnotation(Commit.class).value(), (Class extends SourcePage>) clazz);
}
}
}
public static PageHelper getInstance(){
if(pageHelper==null){
synchronized (PageHelper.class){
if(pageHelper==null){
pageHelper=new PageHelper();
}
}
}
return pageHelper;
}
public Map> getFrameMap() {
return frameMap;
}
public void setFrameMap(Map> frameMap) {
this.frameMap = frameMap;
}
public Map> getSubPageMap() {
return subPageMap;
}
public void setSubPageMap(Map> subPageMap) {
this.subPageMap = subPageMap;
}
public Map> getSourcePageMap() {
return sourcePageMap;
}
public void setSourcePageMap(Map> sourcePageMap) {
this.sourcePageMap = sourcePageMap;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy