1 /* 2 * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * This code is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License version 2 only, as 7 * published by the Free Software Foundation. Oracle designates this 8 * particular file as subject to the "Classpath" exception as provided 9 * by Oracle in the LICENSE file that accompanied this code. 10 * 11 * This code is distributed in the hope that it will be useful, but WITHOUT 12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 * version 2 for more details (a copy is included in the LICENSE file that 15 * accompanied this code). 16 * 17 * You should have received a copy of the GNU General Public License version 18 * 2 along with this work; if not, write to the Free Software Foundation, 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 * 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 * or visit www.oracle.com if you need additional information or have any 23 * questions. 24 */ 25 26 package com.sun.tools.internal.ws.processor.modeler.annotation; 27 28 import com.sun.tools.internal.ws.processor.modeler.ModelerException; 29 import com.sun.tools.internal.ws.wscompile.WsgenOptions; 30 31 import javax.annotation.processing.ProcessingEnvironment; 32 import javax.lang.model.element.Element; 33 import javax.lang.model.element.Name; 34 import javax.lang.model.element.TypeElement; 35 import javax.lang.model.type.TypeMirror; 36 import java.io.File; 37 38 /** 39 * @author WS Development Team 40 */ 41 public interface ModelBuilder { 42 43 ProcessingEnvironment getProcessingEnvironment(); 44 45 String getOperationName(Name methodName); 46 47 TypeMirror getHolderValueType(TypeMirror type); 48 49 boolean checkAndSetProcessed(TypeElement typeElement); 50 51 /** 52 * Checks if type is a service specific exception 53 * 54 * @param typeMirror the given element's type 55 * @return true if is not a service specific exception as defined by JAX-WS specification 56 */ 57 boolean isServiceException(TypeMirror typeMirror); 58 59 boolean isRemote(TypeElement typeElement); 60 61 boolean canOverWriteClass(String className); 62 63 WsgenOptions getOptions(); 64 65 File getSourceDir(); 66 67 void log(String msg); 68 69 void processWarning(String message); 70 71 void processError(String message); 72 73 void processError(String message, Element element) throws ModelerException; 74 }