package de.axone.funky;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
import de.axone.tools.S;
import de.axone.tools.Text;
public class FunctionSetImpl extends FunctionDescriptionImpl implements FunctionSet {
private List<FunctionDescription> descriptions = new LinkedList<>();
public FunctionSetImpl( String name ) {
super( name );
}
public FunctionSetImpl description( FunctionDescription description ){
descriptions.add( description );
return this;
}
@Override
public List<FunctionDescription> functions() {
return Collections.unmodifiableList( descriptions );
}
@Override
public String toString(){
StringBuilder result = new StringBuilder();
result.append( name() ).append( S.nl )
.append( Text.line( '=', 79 ) ).append( S.nl );
for( FunctionDescription description : functions() ){
result.append( description ).append( S.nl );
}
return result.toString();
}
}