1 /*************************************************************************
3 * $RCSfile: XLanguageSourceCodeGenerator.java,v $
7 * last change: $Author: rt $ $Date: 2007-04-04 09:24:08 $
9 * The Contents of this file are made available subject to the terms of
12 * Copyright (c) 2003 by Sun Microsystems, Inc.
13 * All rights reserved.
15 * Redistribution and use in source and binary forms, with or without
16 * modification, are permitted provided that the following conditions
18 * 1. Redistributions of source code must retain the above copyright
19 * notice, this list of conditions and the following disclaimer.
20 * 2. Redistributions in binary form must reproduce the above copyright
21 * notice, this list of conditions and the following disclaimer in the
22 * documentation and/or other materials provided with the distribution.
23 * 3. Neither the name of Sun Microsystems, Inc. nor the names of its
24 * contributors may be used to endorse or promote products derived
25 * from this software without specific prior written permission.
27 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
28 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
29 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
30 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
31 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
32 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
33 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
34 * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
35 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
36 * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
37 * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
39 *************************************************************************/
40 import com
.sun
.star
.uno
.TypeClass
;
41 import java
.util
.Vector
;
43 public interface XLanguageSourceCodeGenerator
{
45 public static final int nJAVA
= 0;
46 public static final int nCPLUSPLUS
= 1;
47 public static final int nBASIC
= 2;
49 public String
getHeaderSourceCode(Object _oUnoObject
, String _sClassName
, TypeClass _aTypeClass
);
51 public String
getFinalHeaderStatements();
53 public void assignqueryInterfaceHeaderSourceCode();
55 public String
getMainMethodSignatureSourceCode(XUnoNode _oUnoNode
, String _soReturnObjectDescription
);
57 public String
getMethodTerminationSourceCode();
59 public String
getStatementTerminationCharacter();
61 public boolean needsqueryInterface();
63 public String
getqueryInterfaceSourceCode(String _sReturnValueDescription
, String _sClassName
, String _sObjectDescription
);
65 public String
getPropertyValueGetterSourceCode(String _sPropertyName
, String _sReturnVariableName
, String _sIncomingObjectName
, TypeClass _aTypeClass
, String _sTypeName
);
67 public String
getStructSourceCode(String _sReturnVariableDescription
, String _sObjectDescription
, String _sMember
);
69 public String
getObjectTypeDescription(String _sClassName
, boolean _bAsHeader
);
71 public String
getbooleanTypeDescription();
73 public String
getbyteTypeDescription();
75 public String
getshortTypeDescription();
77 public String
getunsignedshortTypeDescription();
79 public String
getlongTypeDescription();
81 public String
getunsignedlongTypeDescription();
83 public String
gethyperTypeDescription();
85 public String
getunsignedhyperTypeDescription();
87 public String
getfloatTypeDescription();
89 public String
getdoubleTypeDescription();
91 public String
getcharTypeDescription();
93 public String
getstringTypeDescription(boolean _bAsHeaderSourceCode
);
95 public String
gettypeTypeDescription(boolean _bAsHeaderSourceCode
);
97 public String
getanyTypeDescription(boolean _bAsHeaderSourceCode
);
99 public String
getArrayDeclaration(String sVariableDeclaration
);
101 public String
getVariableDeclaration(String _sTypeString
, String _sVariableName
, boolean _bIsArray
, TypeClass aTypeClass
, boolean _bInitialize
);
103 public String
getMethodSeparator();
105 public String
getStringValue(String _sValue
);
107 public String
getConvertedSourceCodeValueOfObject(String _sReturnVariableName
, String _sObjectDescription
, TypeClass _aTypeClass
, String _sTypeName
);
109 public String
castLiteral(String _sExpression
, TypeClass _aTypeClass
);
111 public String
getCommentSign();