com.amit.api.compiler.model.tools.InterfaceBaseChildrenFinder Maven / Gradle / Ivy
The newest version!
/******************************************************************************
* Copyright 2014-2018 Alexandru Motriuc *
* *
******************************************************************************
* 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 com.amit.api.compiler.model.tools;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import com.amit.api.compiler.model.Interface;
public class InterfaceBaseChildrenFinder extends ChildrenFinder {
private List elements;
public InterfaceBaseChildrenFinder( List elements ) {
this.elements = elements;
this.process();
}
@Override
protected void buildChildrenMap(Map> childrenMap) {
for( Interface element : elements ) {
Set children = childrenMap.get( element.getName() );
if( children == null ) {
children = new HashSet();
childrenMap.put( element.getName(), children );
}
children.addAll( element.getBaseInterfaceNames() );
}
}
}