SVN auth
[fedora-idea.git] / plugins / svn4idea / src / org / jetbrains / idea / svn / LimitedStringsList.java
blob09681517ef074a7288a6b4889cb98dec15562d67
1 /*
2 * Copyright 2000-2009 JetBrains s.r.o.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
16 package org.jetbrains.idea.svn;
18 import java.util.ArrayList;
19 import java.util.Collections;
20 import java.util.List;
22 public class LimitedStringsList {
23 private static final int ourMaxTypedUrls = 20;
24 private final List<String> myList;
26 public LimitedStringsList(final List<String> list) {
27 myList = new ArrayList<String>((list.size() > ourMaxTypedUrls ? list.subList(0, ourMaxTypedUrls) : list));
30 public void add(final String value) {
31 myList.remove(value);
33 if (myList.size() >= ourMaxTypedUrls) {
34 // leave space for 1 to be added
35 final int numToRemove = myList.size() - ourMaxTypedUrls + 1;
36 for (int i = 0; i < numToRemove; i++) {
37 myList.remove(0);
41 // more recent first
42 myList.add(0, value);
45 public List<String> getList() {
46 return Collections.unmodifiableList(myList);