
br.com.objectos.way.code.InterfaceInfo Maven / Gradle / Ivy
The newest version!
/*
* Copyright 2014 Objectos, Fábrica de Software LTDA.
*
* 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 br.com.objectos.way.code;
import java.util.List;
import java.util.stream.Stream;
import br.com.objectos.way.testable.Equality;
import br.com.objectos.way.testable.Testable;
import br.com.objectos.way.testable.Tester;
/**
* @author [email protected] (Marcio Endo)
*/
public class InterfaceInfo
implements
HasAnnotationInfoList,
Testable {
private static final Tester TESTER = Tester.of(InterfaceInfo.class)
.add("typeInfo", o -> o.typeInfo)
.build();
private final TypeInfo typeInfo;
InterfaceInfo(TypeInfo typeInfo) {
this.typeInfo = typeInfo;
}
public AccessInfo accessInfo() {
return typeInfo.accessInfo();
}
@Override
public List annotationInfoList() {
return typeInfo.annotationInfoList();
}
@Override
public Stream annotationInfoStream() {
return typeInfo.annotationInfoStream();
}
public Stream declaredTypeInfoStream() {
return typeInfo.declaredTypeInfoStream();
}
@Override
public Equality isEqualTo(Object that) {
return TESTER.test(this, that);
}
public Stream methodInfoStream() {
return typeInfo.methodInfoStream();
}
public String qualifiedName() {
return typeInfo.qualifiedName();
}
public SimpleTypeInfo toSimpleTypeInfo() {
return typeInfo.toSimpleTypeInfo();
}
public Stream typeParameterInfoStream() {
return typeInfo.typeParameterInfoStream();
}
TypeInfo typeInfo() {
return typeInfo;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy