package bluej.stride.framedjava.ast;

import bluej.stride.framedjava.errors.CodeError;
import bluej.stride.framedjava.errors.ErrorShower;
import bluej.stride.slots.EditableSlot;
import threadchecker.OnThread;
import threadchecker.Tag;

public abstract class StringSlotFragment
extends SlotFragment{    
   protected final String content;
    
   
   public StringSlotFragment(String content)
   {        
      this.content = content;
    
      if (content == null) {            
         throw new IllegalArgumentException("SlotElement content cannot be null");         
         }

      else if (content.contains("\n")) {            
         throw new IllegalStateException("SlotElement content contains newline");         
         }     
      }

   
   public abstract EditableSlot getSlot();

   
   @Override
   
   public ErrorShower getErrorShower()
   {
      return getSlot();     
      }

   
   @Override
   @OnThread(Tag.FXPlatform)
   
   public final void addError(CodeError error)
   {
      if (getSlot() != null)
      getSlot().addError(error);     
      }

   
   @Override
   
   protected final JavaFragment getCompileErrorRedirect()
   {        
      
      return null;     
      }

   
   
| Gets the content of the slot, as it should be displayed in the editor. | public String getContent() { return content; } public boolean isEmpty() { return content.isEmpty(); } }
top, use, map, abstract class StringSlotFragment

.   StringSlotFragment
.   getSlot
.   getErrorShower
.   addError
.   getCompileErrorRedirect
.   getContent
.   isEmpty




68 neLoCode + 1 LoComm