guava

Форк
0
55 строк · 1.6 Кб
1
/*
2
 * Copyright (C) 2008 The Guava Authors
3
 *
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
7
 *
8
 * http://www.apache.org/licenses/LICENSE-2.0
9
 *
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.
15
 */
16

17
package com.google.common.collect.testing.features;
18

19
import com.google.common.annotations.GwtCompatible;
20
import com.google.common.collect.testing.Helpers;
21
import java.lang.annotation.Inherited;
22
import java.lang.annotation.Retention;
23
import java.lang.annotation.RetentionPolicy;
24
import java.util.Set;
25

26
/**
27
 * Optional features of classes derived from {@code Set}.
28
 *
29
 * @author George van den Driessche
30
 */
31
@SuppressWarnings("rawtypes") // maybe avoidable if we rework the whole package?
32
@GwtCompatible
33
public enum SetFeature implements Feature<Set> {
34
  GENERAL_PURPOSE(CollectionFeature.GENERAL_PURPOSE);
35

36
  private final Set<Feature<? super Set>> implied;
37

38
  SetFeature(Feature<? super Set>... implied) {
39
    this.implied = Helpers.copyToSet(implied);
40
  }
41

42
  @Override
43
  public Set<Feature<? super Set>> getImpliedFeatures() {
44
    return implied;
45
  }
46

47
  @Retention(RetentionPolicy.RUNTIME)
48
  @Inherited
49
  @TesterAnnotation
50
  public @interface Require {
51
    public abstract SetFeature[] value() default {};
52

53
    public abstract SetFeature[] absent() default {};
54
  }
55
}
56

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.