2 * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.mdsal.binding.model.api;
11 * Transformates virtual data to the concrete code in programming language.
13 public interface CodeGenerator {
16 * Generates code for <code>type</code>.
19 * Input type to be processed
20 * @return generated JAVA code
22 String generate(Type type);
25 * Checks if the concrete instance of <code>type</code> fit to concrete
26 * implementation of this interface.
28 * (e. g. method return true if in <code>EnumGenerator</code> (which
29 * implements this interface) has input parameter of type Enumeration (which
33 * Input type to be processed
34 * @return true if type is acceptable for processing.
36 boolean isAcceptable(Type type);
39 * Returns name of <code>type</code> parameter.
42 * Input type to be processed
43 * @return name of generated unit
45 String getUnitName(Type type);