com.android.dx.util.AnnotatedOutput Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of builder Show documentation
Show all versions of builder Show documentation
Library to build Android applications.
/*
* Copyright (C) 2007 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.dx.util;
/**
* Interface for a binary output destination that may be augmented
* with textual annotations.
*/
public interface AnnotatedOutput
extends Output {
/**
* Get whether this instance will actually keep annotations.
*
* @return {@code true} iff annotations are being kept
*/
public boolean annotates();
/**
* Get whether this instance is intended to keep verbose annotations.
* Annotators may use the result of calling this method to inform their
* annotation activity.
*
* @return {@code true} iff annotations are to be verbose
*/
public boolean isVerbose();
/**
* Add an annotation for the subsequent output. Any previously
* open annotation will be closed by this call, and the new
* annotation marks all subsequent output until another annotation
* call.
*
* @param msg {@code non-null;} the annotation message
*/
public void annotate(String msg);
/**
* Add an annotation for a specified amount of subsequent
* output. Any previously open annotation will be closed by this
* call. If there is already pending annotation from one or more
* previous calls to this method, the new call "consumes" output
* after all the output covered by the previous calls.
*
* @param amt {@code >= 0;} the amount of output for this annotation to
* cover
* @param msg {@code non-null;} the annotation message
*/
public void annotate(int amt, String msg);
/**
* End the most recent annotation. Subsequent output will be unannotated,
* until the next call to {@link #annotate}.
*/
public void endAnnotation();
/**
* Get the maximum width of the annotated output. This is advisory:
* Implementations of this interface are encouraged to deal with too-wide
* output, but annotaters are encouraged to attempt to avoid exceeding
* the indicated width.
*
* @return {@code >= 1;} the maximum width
*/
public int getAnnotationWidth();
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy