@@ -0,0 +1,1411 @@
+/*%0A * Copyright 2019-present Facebook, Inc.%0A *%0A * Licensed under the Apache License, Version 2.0 (the %22License%22); you may%0A * not use this file except in compliance with the License. You may obtain%0A * a copy of the License at%0A *%0A *     http://www.apache.org/licenses/LICENSE-2.0%0A *%0A * Unless required by applicable law or agreed to in writing, software%0A * distributed under the License is distributed on an %22AS IS%22 BASIS, WITHOUT%0A * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the%0A * License for the specific language governing permissions and limitations%0A * under the License.%0A */%0Apackage com.facebook.buck.core.artifact;%0A%0Aimport javax.annotation.Nullable;%0A%0A/**%0A * Represents an %7B@link Artifact%7D that will be materialized by the action execution phase. This can%0A * either be a source file or a file produced by an action.%0A *%0A * %3Cp%3EA bound artifact is only either an %7B@link SourceArtifact%7D or %7B@link BuildArtifactApi%7D%0A *%0A * %3Cp%3EThis interface is not intended to be used by users, but only by the framework.%0A */%0Ainterface BoundArtifact extends Artifact %7B%0A%0A  /**%0A   * @return this artifact as a %7B@link SourceArtifact%7D, null if this is not a %7B@link SourceArtifact%7D%0A   */%0A  @Nullable%0A  SourceArtifact asSource();%0A%0A  /**%0A   * @return this artifact as a %7B@link BuildArtifactApi%7D, null if this is not a %7B@link%0A   *     BuildArtifactApi%7D%0A   */%0A  @Nullable%0A  BuildArtifactApi asBuildArtifact();%0A%7D%0A

Create a BoundArtifact for internal artifact representation