/** * Copyright 2010-2014 Three Crickets LLC. * <p> * The contents of this file are subject to the terms of a BSD license. See * attached license.txt. * <p> * Alternatively, you can obtain a royalty free commercial license with less * limitations, transferable or non-transferable, directly from Three Crickets * at http://threecrickets.com/ */ package org.sikuli.syntaxhighlight.style; import java.util.HashMap; import java.util.Map; /** * @author Tal Liron */ public class StyleElement { static { // Force these classes to load new ColorStyleElement( null, null, null ); new EffectStyleElement( null ); new FontStyleElement( null ); } // // Static attributes // public static StyleElement getStyleElementByName( String name ) { StyleElement styleElement = styleElementsByName.get( name ); if( styleElement == null ) styleElement = ColorStyleElement.getColorStyleElementByName( name ); return styleElement; } // // Attributes // public String getName() { return name; } // // Object // @Override public String toString() { return name; } // ////////////////////////////////////////////////////////////////////////// // Protected protected static final void add( StyleElement styleElement ) { if( styleElementsByName == null ) styleElementsByName = new HashMap<String, StyleElement>(); styleElementsByName.put( styleElement.name, styleElement ); } protected StyleElement( String name ) { this.name = name; } // ////////////////////////////////////////////////////////////////////////// // Private private static Map<String, StyleElement> styleElementsByName; private final String name; }