    001    package cpw.mods.fml.common.versioning;
    002
    003    /*
    004     * Licensed to the Apache Software Foundation (ASF) under one
    005     * or more contributor license agreements.  See the NOTICE file
    006     * distributed with this work for additional information
    007     * regarding copyright ownership.  The ASF licenses this file
    008     * to you under the Apache License, Version 2.0 (the
    009     * "License"); you may not use this file except in compliance
    010     * with the License.  You may obtain a copy of the License at
    011     *
    012     *  http://www.apache.org/licenses/LICENSE-2.0
    013     *
    014     * Unless required by applicable law or agreed to in writing,
    015     * software distributed under the License is distributed on an
    016     * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    017     * KIND, either express or implied.  See the License for the
    018     * specific language governing permissions and limitations
    019     * under the License.
    020     */
    021
    022    /**
    023     * Describes an artifact version in terms of its components, converts it to/from a string and
    024     * compares two versions.
    025     *
    026     * @author <a href="mailto:brett@apache.org">Brett Porter</a>
    027     */
    028    public interface ArtifactVersion
    029        extends Comparable<ArtifactVersion>
    030    {
    031        String getLabel();
    032
    033        String getVersionString();
    034
    035        boolean containsVersion(ArtifactVersion source);
    036
    037        String getRangeString();
    038    }