com.google.gerrit.client.projects.ConfigInfo.java Source code

Java tutorial

Introduction

Here is the source code for com.google.gerrit.client.projects.ConfigInfo.java

Source

// Copyright (C) 2013 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.google.gerrit.client.projects;

import com.google.gerrit.client.rpc.NativeMap;
import com.google.gwt.core.client.JavaScriptObject;
import com.google.gwt.core.client.JsArray;
import com.google.gwtexpui.safehtml.client.FindReplace;
import com.google.gwtexpui.safehtml.client.LinkFindReplace;
import com.google.gwtexpui.safehtml.client.RawFindReplace;

import java.util.ArrayList;
import java.util.List;

public class ConfigInfo extends JavaScriptObject {
    public final native JavaScriptObject has_require_change_id()
    /*-{ return this.hasOwnProperty('require_change_id'); }-*/;

    public final native boolean require_change_id()
    /*-{ return this.require_change_id; }-*/;

    public final native JavaScriptObject has_use_content_merge()
    /*-{ return this.hasOwnProperty('use_content_merge'); }-*/;

    public final native boolean use_content_merge()
    /*-{ return this.use_content_merge; }-*/;

    public final native JavaScriptObject has_use_contributor_agreements()
    /*-{ return this.hasOwnProperty('use_contributor_agreements'); }-*/;

    public final native boolean use_contributor_agreements()
    /*-{ return this.use_contributor_agreements; }-*/;

    public final native JavaScriptObject has_use_signed_off_by()
    /*-{ return this.hasOwnProperty('use_signed_off_by'); }-*/;

    public final native boolean use_signed_off_by()
    /*-{ return this.use_signed_off_by; }-*/;

    private final native NativeMap<CommentLinkInfo> commentlinks0()
    /*-{ return this.commentlinks; }-*/;

    final List<FindReplace> commentlinks() {
        JsArray<CommentLinkInfo> cls = commentlinks0().values();
        List<FindReplace> commentLinks = new ArrayList<FindReplace>(cls.length());
        for (int i = 0; i < cls.length(); i++) {
            CommentLinkInfo cl = cls.get(i);
            if (!cl.enabled()) {
                continue;
            }
            if (cl.link() != null) {
                commentLinks.add(new LinkFindReplace(cl.match(), cl.link()));
            } else {
                commentLinks.add(new RawFindReplace(cl.match(), cl.html()));
            }
        }
        return commentLinks;
    }

    final native ThemeInfo theme() /*-{ return this.theme; }-*/;

    protected ConfigInfo() {
    }

    static class CommentLinkInfo extends JavaScriptObject {
        final native String match() /*-{ return this.match; }-*/;

        final native String link() /*-{ return this.link; }-*/;

        final native String html() /*-{ return this.html; }-*/;

        final native boolean enabled() /*-{
                                       return !this.hasOwnProperty('enabled') || this.enabled;
                                       }-*/;

        protected CommentLinkInfo() {
        }
    }
}