package org.jboss.windup.reporting.pegdown;
import java.util.Collections;
import java.util.List;
import org.pegdown.ast.AbstractNode;
import org.pegdown.ast.CodeNode;
import org.pegdown.ast.Node;
import org.pegdown.ast.Visitor;
/**
* Provides an object that is similar to a {@link CodeNode}, but that also contains a code type attribute.<br/>
*
* NOTE: It does not appear that the serializer will work if this actually subclasses {@link CodeNode}, so this is directly a subclass of
* {@link AbstractNode}.
*
*/
public class WindupCodeNode extends AbstractNode
{
private String text;
private String language;
/**
* Construct a {@link WindupCodeNode} instance with the specified text.
*/
public WindupCodeNode(String text)
{
this.text = text;
}
/**
* Construct a {@link WindupCodeNode} instance with the specified text and syntax.
*/
public WindupCodeNode(String text, String language)
{
this(text);
this.language = language;
}
/**
* Contains the body of the Code block.
*/
public String getText()
{
return text;
}
/**
* Contains the body of the Code block.
*/
public void setText(String text)
{
this.text = text;
}
/**
* Contains the language used for the code block (this may provide a hint for syntax highlighting).
*/
public String getLanguage()
{
return language;
}
/**
* Contains the language used for the code block (this may provide a hint for syntax highlighting).
*/
public void setLanguage(String language)
{
this.language = language;
}
@Override
public void accept(Visitor visitor)
{
visitor.visit(this);
}
@Override
public List<Node> getChildren()
{
return Collections.emptyList();
}
}