bd527bcea7
Review URL: https://chromiumcodereview.appspot.com//9677062 git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@5440 260f80e4-7a28-3924-810f-c04153c831b5
53 lines
1.3 KiB
Java
53 lines
1.3 KiB
Java
// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
|
|
// for details. All rights reserved. Use of this source code is governed by a
|
|
// BSD-style license that can be found in the LICENSE file.
|
|
|
|
package com.google.dart.compiler;
|
|
|
|
import java.io.IOException;
|
|
import java.io.Reader;
|
|
import java.net.URI;
|
|
import java.util.Date;
|
|
|
|
/**
|
|
* Abstract interface to a source file.
|
|
*/
|
|
public interface Source {
|
|
|
|
/**
|
|
* Determines whether the given source exists.
|
|
*/
|
|
boolean exists();
|
|
|
|
/**
|
|
* Returns the last-modified timestamp for this source, using the same units as
|
|
* {@link Date#getTime()}.
|
|
*/
|
|
long getLastModified();
|
|
|
|
/**
|
|
* Gets the name of this source.
|
|
*/
|
|
String getName();
|
|
|
|
/**
|
|
* Gets a reader for the dart file's source code. The caller is responsible for closing the
|
|
* returned reader.
|
|
*/
|
|
Reader getSourceReader() throws IOException;
|
|
|
|
/**
|
|
* Return an identifier that will uniquely identify this source.
|
|
*
|
|
* @return the unique identifier for this source.
|
|
*/
|
|
String getUniqueIdentifier();
|
|
|
|
/**
|
|
* Gets the identifier for this source. This is used to uniquely identify the
|
|
* source, but should not be used to obtain the source content. Use
|
|
* {@link #getSourceReader()} to obtain the source content.
|
|
*/
|
|
URI getUri();
|
|
}
|