Path: blob/master/sourcetools/com.ibm.uma/com/ibm/uma/freemarker/Spec.java
6004 views
/*******************************************************************************1* Copyright (c) 2001, 2017 IBM Corp. and others2*3* This program and the accompanying materials are made available under4* the terms of the Eclipse Public License 2.0 which accompanies this5* distribution and is available at https://www.eclipse.org/legal/epl-2.0/6* or the Apache License, Version 2.0 which accompanies this distribution and7* is available at https://www.apache.org/licenses/LICENSE-2.0.8*9* This Source Code may also be made available under the following10* Secondary Licenses when the conditions for such availability set11* forth in the Eclipse Public License, v. 2.0 are satisfied: GNU12* General Public License, version 2 with the GNU Classpath13* Exception [1] and GNU General Public License, version 2 with the14* OpenJDK Assembly Exception [2].15*16* [1] https://www.gnu.org/software/classpath/license.html17* [2] http://openjdk.java.net/legal/assembly-exception.html18*19* SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 OR LicenseRef-GPL-2.0 WITH Assembly-exception20*******************************************************************************/21package com.ibm.uma.freemarker;2223import com.ibm.uma.UMA;24import com.ibm.uma.UMAException;2526import freemarker.template.TemplateHashModel;27import freemarker.template.TemplateModel;28import freemarker.template.TemplateModelException;2930public class Spec implements TemplateHashModel {3132public TemplateModel get(String arg0) throws TemplateModelException {33if (arg0.equals("flags")) {34return new Flags();35}36if (arg0.equals("tools")) {37return new Tools();38}39if (arg0.equals("properties")) {40return new Properties();41}42if (arg0.equals("artifacts")) {43return new Artifacts(UMA.getUma().getArtifacts());44}45if (arg0.equals("type")) {46return new Type();47}48if (arg0.equals("processor")) {49return new Processor();50}51try {52TemplateModel platformExtension = com.ibm.uma.UMA.getUma().getPlatform().getDataModelExtension("uma.spec", arg0);53if (platformExtension!=null) return platformExtension;54TemplateModel configurationExtension = com.ibm.uma.UMA.getUma().getConfiguration().getDataModelExtension("uma.spec", arg0);55if (configurationExtension!=null) return configurationExtension;56} catch (UMAException e) {57throw new TemplateModelException(e);58}59return null;60}6162public boolean isEmpty() throws TemplateModelException {63return false;64}6566}676869