1 /*
2  * Copyright (C) 2009 The Android Open Source Project
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 signature.compare.model;
18 
19 import java.util.Set;
20 
21 import signature.model.IClassDefinition;
22 
23 /**
24  * {@code IClassDefinitionDelta} models the delta between two
25  * {@link IClassDefinition} instances.
26  */
27 public interface IClassDefinitionDelta extends
28         ITypeDefinitionDelta<IClassDefinition>, IAnnotatableElementDelta,
29         ITypeVariableDeltas {
30 
31     /**
32      * Returns a set of field deltas or {@code null} if no deltas are available.
33      *
34      * @return a set of field deltas, maybe {@code null}
35      */
getFieldDeltas()36     Set<IFieldDelta> getFieldDeltas();
37 
38     /**
39      * Returns a set of enum constant deltas or {@code null} if no deltas are
40      * available.
41      *
42      * @return a set of enum constant deltas, maybe {@code null}
43      */
getEnumConstantDeltas()44     Set<IEnumConstantDelta> getEnumConstantDeltas();
45 
46     /**
47      * Returns a set of annotation field deltas or {@code null} if no deltas are
48      * available.
49      *
50      * @return a set of annotation field deltas, maybe {@code null}
51      */
getAnnotationFieldDeltas()52     Set<IAnnotationFieldDelta> getAnnotationFieldDeltas();
53 
54     /**
55      * Returns a set of method deltas or {@code null} if no deltas are
56      * available.
57      *
58      * @return a set of method deltas, maybe {@code null}
59      */
getMethodDeltas()60     Set<IMethodDelta> getMethodDeltas();
61 
62     /**
63      * Returns a set of constructor deltas or {@code null} if no deltas are
64      * available.
65      *
66      * @return a set of constructor deltas, maybe {@code null}
67      */
getConstructorDeltas()68     Set<IConstructorDelta> getConstructorDeltas();
69 
70     /**
71      * Returns a set of modifier deltas or {@code null} if no deltas are
72      * available.
73      *
74      * @return a set of modifier deltas, maybe {@code null}
75      */
getModifierDeltas()76     Set<IModifierDelta> getModifierDeltas();
77 
78     /**
79      * Returns a super class delta or {@code null} if no delta is available.
80      *
81      * @return a super class delta, maybe {@code null}
82      */
getSuperClassDelta()83     ITypeReferenceDelta<?> getSuperClassDelta();
84 
85     /**
86      * Returns a set of interface deltas or {@code null} if no deltas are
87      * available.
88      *
89      * @return a set of interface deltas, maybe {@code null}
90      */
getInterfaceDeltas()91     Set<ITypeReferenceDelta<?>> getInterfaceDeltas();
92 }
93