package org.netbeans.gradle.model.util; import java.util.ArrayList; import java.util.Collection; import java.util.List; import org.gradle.api.Project; import org.netbeans.gradle.model.api.GradleProjectInfoQuery2; import org.netbeans.gradle.model.api.ModelClassPathDef; import org.netbeans.gradle.model.api.ProjectInfoBuilder2; import org.netbeans.gradle.model.internal.BuilderWrapper; @SuppressWarnings("deprecation") public final class CompatibilityUtils { public static Collection<GradleProjectInfoQuery2<?>> toQuery2All( Collection<? extends org.netbeans.gradle.model.api.GradleProjectInfoQuery<?>> src) { List<GradleProjectInfoQuery2<?>> result = new ArrayList<GradleProjectInfoQuery2<?>>(src.size()); for (org.netbeans.gradle.model.api.GradleProjectInfoQuery<?> query: src) { result.add(toQuery2(query)); } return result; } public static Collection<org.netbeans.gradle.model.api.GradleProjectInfoQuery<?>> toQueryAll( Collection<? extends GradleProjectInfoQuery2<?>> src) { List<org.netbeans.gradle.model.api.GradleProjectInfoQuery<?>> result = new ArrayList<org.netbeans.gradle.model.api.GradleProjectInfoQuery<?>>(src.size()); for (GradleProjectInfoQuery2<?> query: src) { result.add(toQuery(query)); } return result; } public static <T> GradleProjectInfoQuery2<T> toQuery2(org.netbeans.gradle.model.api.GradleProjectInfoQuery<T> src) { return new GradleProjectInfoQuery2Wrapper<T>(src); } public static <T> ProjectInfoBuilder2<T> toBuilder2(org.netbeans.gradle.model.api.ProjectInfoBuilder<T> src) { return new ProjectInfoBuilder2Wrapper<T>(src); } public static <T> org.netbeans.gradle.model.api.GradleProjectInfoQuery<T> toQuery(GradleProjectInfoQuery2<T> src) { return new GradleProjectInfoQueryWrapper<T>(src); } public static <T> org.netbeans.gradle.model.api.ProjectInfoBuilder<T> toBuilder(ProjectInfoBuilder2<T> src) { return new ProjectInfoBuilderWrapper<T>(src); } private static final class ProjectInfoBuilder2Wrapper<T> implements ProjectInfoBuilder2<T>, BuilderWrapper { private static final long serialVersionUID = 1L; private final org.netbeans.gradle.model.api.ProjectInfoBuilder<T> src; public ProjectInfoBuilder2Wrapper(org.netbeans.gradle.model.api.ProjectInfoBuilder<T> src) { if (src == null) throw new NullPointerException("src"); this.src = src; } public T getProjectInfo(Object project) { return src.getProjectInfo((Project)project); } public String getName() { return src.getName(); } public Object getWrappedObject() { return src; } public Class<?> getWrappedType() { return getWrappedObject().getClass(); } } @SuppressWarnings("deprecation") private static class GradleProjectInfoQuery2Wrapper<T> implements GradleProjectInfoQuery2<T>, BuilderWrapper { private final org.netbeans.gradle.model.api.GradleProjectInfoQuery<T> src; public GradleProjectInfoQuery2Wrapper(org.netbeans.gradle.model.api.GradleProjectInfoQuery<T> src) { if (src == null) throw new NullPointerException("src"); this.src = src; } public ProjectInfoBuilder2<T> getInfoBuilder() { return toBuilder2(src.getInfoBuilder()); } public ModelClassPathDef getInfoClassPath() { return src.getInfoClassPath(); } public Object getWrappedObject() { return src; } public Class<?> getWrappedType() { return getWrappedObject().getClass(); } } /** @deprecated */ @Deprecated private static final class ProjectInfoBuilderWrapper<T> implements org.netbeans.gradle.model.api.ProjectInfoBuilder<T>, BuilderWrapper { private static final long serialVersionUID = 1L; private final ProjectInfoBuilder2<T> src; public ProjectInfoBuilderWrapper(ProjectInfoBuilder2<T> src) { if (src == null) throw new NullPointerException("src"); this.src = src; } public T getProjectInfo(Project project) { return src.getProjectInfo(project); } public String getName() { return src.getName(); } public Object getWrappedObject() { return src; } public Class<?> getWrappedType() { return getWrappedObject().getClass(); } } /** @deprecated */ @Deprecated private static class GradleProjectInfoQueryWrapper<T> implements org.netbeans.gradle.model.api.GradleProjectInfoQuery<T>, BuilderWrapper { private final org.netbeans.gradle.model.api.GradleProjectInfoQuery2<T> src; public GradleProjectInfoQueryWrapper(org.netbeans.gradle.model.api.GradleProjectInfoQuery2<T> src) { if (src == null) throw new NullPointerException("src"); this.src = src; } public org.netbeans.gradle.model.api.ProjectInfoBuilder<T> getInfoBuilder() { return toBuilder(src.getInfoBuilder()); } public ModelClassPathDef getInfoClassPath() { return src.getInfoClassPath(); } public Object getWrappedObject() { return src; } public Class<?> getWrappedType() { return getWrappedObject().getClass(); } } private CompatibilityUtils() { throw new AssertionError(); } }