/*
* Scute
*
* Homepage: http://hyperdata.org/scute
*
* License : http://www.apache.org/licenses/LICENSE-2.0
* See also license.txt or http://hyperdata.org/wiki/Scute:License
*
* Danny Ayers 2011
*/
package org.hyperdata.scute.syntax;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Shape;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.SortedMap;
import java.util.TreeMap;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.swing.text.*;
/**
* The Class TurtleView.
*/
public class SparqlView extends HighlighterView {
private static String[] KEYWORD_PATTERNS = {"(PREFIX)", "(SELECT)", "(DISTINCT)", "(WHERE)", "(LIMIT)"
, "(FILTER)", "(REGEX)", "(OPTIONAL)", "(UNION)", "(OFFSET)", "(ORDER BY)"};
private static String VARIABLE_PATTERN = "(\\?\\w++)";
private static HashMap<Pattern, Color> patternMap;
static {
patternMap = new LinkedHashMap<Pattern, Color>();
patternMap.putAll(TurtleView.commonPatternMap);
patternMap.put(Pattern.compile(VARIABLE_PATTERN), Color.RED);
// order is important!
for(int i =0;i<KEYWORD_PATTERNS.length; i++){
patternMap.put(
Pattern.compile(KEYWORD_PATTERNS[i], Pattern.CASE_INSENSITIVE),
Color.GREEN);
}
}
private boolean scaled = false;
/**
* Instantiates a new turtle view.
*
* @param element
* the element
*/
public SparqlView(Element element) {
super(element);
}
public HashMap<Pattern, Color> getPatternMap() {
return patternMap;
}
}