com.intellij.openapi.actionSystem.Constraints.java Source code

Java tutorial

Introduction

Here is the source code for com.intellij.openapi.actionSystem.Constraints.java

Source

/*
 * Copyright 2000-2009 JetBrains s.r.o.
 *
 * 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.intellij.openapi.actionSystem;

import org.jetbrains.annotations.NonNls;

/**
 * Represents constraints for some action. Constraints are used to specify
 * action's position in the default group, see {@link DefaultActionGroup}.
 *
 * @see DefaultActionGroup
 */
public class Constraints implements Cloneable {

    public final static Constraints FIRST = new Constraints(Anchor.FIRST, null);
    public final static Constraints LAST = new Constraints(Anchor.LAST, null);
    /**
     * Anchor.
     */
    public Anchor myAnchor;

    /**
     * Id of the action to be positioned relative to. Used when anchor type
     * is either {@link Anchor#AFTER} or {@link Anchor#BEFORE}.
     *
     */
    public String myRelativeToActionId;

    /**
     * Creates a new constraints instance with the specified anchor type and
     * id of the relative action.
     *
     * @param anchor anchor
     * @param relativeToActionId Id of the relative action
     */
    public Constraints(Anchor anchor, @NonNls String relativeToActionId) {
        myAnchor = anchor;
        myRelativeToActionId = relativeToActionId;
    }

    @Override
    public Object clone() {
        try {
            return super.clone();
        } catch (CloneNotSupportedException exc) {
            throw new RuntimeException(exc.getMessage());
        }
    }
}