/*
* [HTMLStringLiteral.java]
*
* Summary: Describes one String literal token for display.
*
* Copyright: (c) 2004-2017 Roedy Green, Canadian Mind Products, http://mindprod.com
*
* Licence: This software may be copied and used freely for any purpose but military.
* http://mindprod.com/contact/nonmil.html
*
* Requires: JDK 1.8+
*
* Created with: JetBrains IntelliJ IDEA IDE http://www.jetbrains.com/idea/
*
* Version History:
* 2.0 2009-04-19 tidy comments, more accurate colour names
*/
package com.mindprod.jtokens.html;
import com.mindprod.jtokens.Literal;
import java.awt.Color;
import java.awt.Font;
import static com.mindprod.jtokens.TokenColourScheme.HTML_FOREGROUND_FOR_STRING;
import static com.mindprod.jtokens.TokenFonts.EMPHASIS_FONT_SIZE_IN_POINTS;
import static com.mindprod.jtokens.TokenFonts.MONO_FONTS;
/**
* Describes one String literal token for display.
*
* @author Roedy Green, Canadian Mind Products
* @version 2.0 2009-04-19 tidy comments, more accurate colour names
* @since 2004-04-24
*/
public final class HTMLStringLiteral extends Literal
{
/**
* version number for the class
*/
static final long serialVersionUID = 2L;
/**
* Font to render this token
*/
@SuppressWarnings( { "ConstantNamingConvention" } )
private static final Font font =
bestFont( MONO_FONTS, Font.PLAIN, EMPHASIS_FONT_SIZE_IN_POINTS );
/**
* Constructor
*
* @param contents literal text without the enclosing "
*/
public HTMLStringLiteral( String contents )
{
// string contains the quotes, possibly missing from either end.
// this is quite unlike StringLiteral
super( contents );
}
/**
* font to render this token.
*
* @return Font, in the correct size.
*/
public Font getFont()
{
return font;
}
/**
* foreground colour to render this token. not so bright as ordinary string literals
*
* @return Color object.
*/
public Color getForeground()
{
return HTML_FOREGROUND_FOR_STRING;
}
/**
* @inheritDoc
*/
public String getHTML()
{
return "" + getRawHTML() + "";
}
/**
* Can this token be collapsed with following space or with a following identical token?
*
* @return true if can be collapsed simply by combinging text
*/
public boolean isCollapsible()
{
// autoinsert of &..; would be confused. Also don't want to mix known
// and unknown in same token..
return true;
}
}