/* * Copyright 2016 Red Hat, Inc. and/or its affiliates. * 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 org.kie.workbench.common.stunner.core.backend.util; import java.util.Collections; import java.util.HashSet; import java.util.Set; import org.kie.workbench.common.stunner.core.definition.annotation.DefinitionSet; public class BackendBindableDefinitionUtils { public static <T> Set<Class<?>> getDefinitions(final T definitionSet) { Set<Class<?>> result = null; if (null != definitionSet) { DefinitionSet annotation = definitionSet.getClass().getAnnotation(DefinitionSet.class); if (null != annotation) { Class<?>[] definitions = annotation.definitions(); if (definitions.length > 0) { result = new HashSet<Class<?>>(definitions.length); Collections.addAll(result, definitions); } } } return result; } }