org.unlaxer.Name Maven / Gradle / Ivy
package org.unlaxer;
import org.unlaxer.util.FactoryBoundCache;
public class Name extends Specifier{
private static final long serialVersionUID = 8183659027717929237L;
public Name(Class> specifiedClass, Enum> subName) {
super(specifiedClass, subName);
}
public Name(Class> specifiedClass, String subName) {
super(specifiedClass, subName);
}
public Name(Class> specifiedClass) {
super(specifiedClass);
}
public Name(Enum> enumName) {
super(enumName);
}
public Name(String stringName) {
super(stringName);
}
public static Name of(String name){
return specifierByString.get(name);
}
public static Name of(Enum> name){
return specifierByEnum.get(name);
}
public static Name of(Class> clazz){
return specifierByClass.get(clazz);
}
public static Name of(Class> clazz,Specifier> name){
return specifierByString.get(clazz.getName()+"("+name.toString()+")");
}
public static Name of(Class> clazz,String name){
return specifierByString.get(clazz.getName()+"("+name+")");
}
public static Name classBaseOf(Object object){
return specifierByString.get(object.getClass().getName());
}
static FactoryBoundCache,Name> specifierByClass =
new FactoryBoundCache<>(Name::new);
static FactoryBoundCache specifierByString =
new FactoryBoundCache<>(Name::new);
static FactoryBoundCache,Name> specifierByEnum =
new FactoryBoundCache<>(Name::new);
} © 2015 - 2025 Weber Informatics LLC | Privacy Policy