001    package org.sonar.ide.api;
002    
003    import java.util.Set;
004    
005    /**
006     * @author Evgeny Mandrikov
007     * @since 0.2
008     */
009    public interface SourceCode extends Comparable<SourceCode>, Measurable {
010    
011      String getKey();
012    
013      String getName();
014    
015      Set<SourceCode> getChildren();
016    
017      /**
018       * @return content, which was analyzed by Sonar
019       */
020      String getRemoteContent();
021    
022      /**
023       * HIGHLY EXPERIMENTAL!!!
024       * 
025       * @param content content of this resource
026       * @return this (for method chaining)
027       */
028      SourceCode setLocalContent(String content);
029    
030    }