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.yangtools.sal.binding.model.api;
10 import java.io.IOException;
13 * Transformates virtual data to the concrete code in programming language.
16 public interface CodeGenerator {
19 * Generates code for <code>type</code>.
22 * Input type to be processed
23 * @return generated JAVA code
26 String generate(Type type);
29 * Checks if the concrete instance of <code>type</code> fit to concrete
30 * implementation of this interface.
32 * (e. g. method return true if in <code>EnumGenerator</code> (which
33 * implements this interface) has input parameter of type Enumeration (which
37 * Input type to be processed
38 * @return true if type is acceptable for processing.
40 boolean isAcceptable(Type type);
43 * Returns name of <code>type</code> parameter.
46 * Input type to be processed
47 * @return name of generated unit
49 String getUnitName(Type type);