package bluej.stride.framedjava.elements;

import java.util.stream.Stream;

import bluej.stride.generic.InteractionManager;
import nu.xom.Element;
import threadchecker.OnThread;
import threadchecker.Tag;
import bluej.stride.framedjava.ast.JavaSource;
import bluej.stride.framedjava.ast.SlotFragment;
import bluej.stride.framedjava.frames.CommentFrame;
import bluej.stride.generic.Frame;
import bluej.stride.generic.Frame.ShowReason;

public class CommentElement
extends CodeElement{    
   public static final String ELEMENT = "comment";
   
   private CommentFrame frame;
   
   private final String comment;
    
   
   public CommentElement(Element xmlEl)
   {
      if (xmlEl.getChildCount() > 0)
      comment = xmlEl.getChild(0).getValue();
       
      else{ comment = "";
         }      
      }
    
   @OnThread(Tag.FX)
   
   public CommentElement(CommentFrame frame)
   {        
      this.frame = frame;
      this.comment = frame.getComment();     
      }

   
   public CommentElement(String s)
   {        
      this.comment = s;     
      }

   
   @Override
   
   public JavaSource toJavaSource()
   {        
      
      
        
      
      
      String sanitised = " " +comment.replace("/*", "").replace("*/","").replace("\n",""); 
      return new JavaSource(null, f(frame, "/*"), f(frame, sanitised), f(frame, "*/"));     
      }

   
   @Override
   
   public LocatableElement toXML()
   {        
      LocatableElement commentEl = new LocatableElement(this, ELEMENT);
      preserveWhitespace(commentEl);
      commentEl.appendChild(comment);
       
      return commentEl;     
      }

   
   @Override
   
   public Frame createFrame(InteractionManager editor)
   {        
      frame = new CommentFrame(editor, comment);
       
      return frame;     
      }
    
   
   @Override
   
   public void show(ShowReason reason)
   {
      frame.show(reason);             
      }
    
   
   @Override
   
   protected Stream getDirectSlotFragments()
   {
      return Stream.empty();     
      } 
   }
top, use, map, class CommentElement

.   CommentElement
.   CommentElement
.   CommentElement
.   toJavaSource
.   toXML
.   createFrame
.   show
.   getDirectSlotFragments




98 neLoCode + 0 LoComm