このサイトをビューするために JavaScript を有効化してください。

Altova MapForce 2020 Enterprise Edition

関数

カスタム Java と .NET ライブラリのインポート

スクロール ホーム トップ その他

コンパイルされた Java クラスファイルや .NET アセンブリファイル(.NET 4.0 アセンブリを含む)はライブラリペインに追加して、MapForce にあるその他の関数と同じように使用することができます。これら Java や .NET 関数の出力は、出力ペインで確認することができるほか、関数は生成されたコードでも利用することができます。

 

メモ:

 

カスタム Java または .NET 関数をインポートするには、 Java クラス (.class) または .NET.dll アセンブリファイルをコンパイルする必要があります。NET アセンブリではない、 Java .jar ファイル または .dll ファイルのインポートはサポートされていません。

コンパイルされた Java クラス (.class) ファイルは、マッピング言語が Java に設定されているサポートされています。Java Runtime Environment 7 または以降が使用するマシンにインストールされている必要があります。特定の型とメンバーがサポートされています (以下を参照してください: Java 関数サポート)。

.NET アセンブリファイル は、マッピング言語が C# に設定されていると サポートされています。パラメーターと戻り値の型としてシステムアセンブリから基本データ型  NET アセンブリは、 C# 以外の .NET 言語で書かれている可能性があります。(例えば、 C++.NET または VB.NET)。のみを使用することを考慮すると、 (以下を参照してください: .NET 関数サポート)。

マッピングがインポートされた Java .class または .NET DLL アセンブリを使用する場合、マッピング言語を C++ に設定することは、サポートされていません。

ネイティブの C++ DLL 関数をからインポートすることは、制限されており、特別なアプローチが必要です。詳細に関しては、 以下を参照してください Java、C# と C++ ライブラリに手動で参照する.

マッピングがインポートされた Java .class または .NET DLL アセンブリを使用する場合、マッピング言語を XSLT に設定することは、サポートされていません。  (アダプターの役割をするカスタム XSLT 関数が書き込まれる必要があります)。

MapForce マッピングから呼び出される全ての関数が “べき等” である必要があります(これは、同じ入力パラメーターを使用して関数が呼び出される都度、同じ値が返されることを意味します)。  MapForce により呼び出される正確な順序および回数は定義されていません。

Java の場合、インポートされた クラス ファイルとパッケージは、 CLASSPATH 変数に追加される必要はありません。 これは、ビルトイン実行エンジンが、生成された Java コードと同様、 Java エンジンのクラスパス または Ant の自動的にインポートされたパッケージに追加されるからです。 しかしながら、インポートされた クラス ファイルとパッケージの依存関係は、自動的には処理されません。ですから、インポートされた Java クラス ファイル またはパッケージが他のクラスファイルに依存する場合、 CLASSPATH 環境変数の全ての依存パッケージの親ディレクトリが追加されていることを確認してください。

 

Java 関数サポート

トップレベルのクラス、静的メンバークラス、そして非静的メンバークラスがサポートされます::

 

new <classname>(<arg1>, <arg2>, ...)

<object>.new <member-class>(<arg1>, <arg2>, ...)

 

メンバー関数と静的関数がサポートされます:

 

<function>(<arg1>, <arg2>, ...)

<object>.<method>(<arg1>, ...)

 

XML スキーマと Java のデータ型間におけるサポートされている変換を以下に示します:

 

スキーマ型

Java 型

xs:string

String

xs:byte

byte

xs:short

short

xs:int

int

xs:long

long

xs:boolean

boolean

xs:float

float

xs:double

double

xs:decimal

java.math.BigDecimal

xs:integer

java.math.BigInteger

 

両方向への接続を行うことができます。その他の Java データ型はサポートされていません。 配列型はサポートされていません。配列を使った引数や戻り値は無視されます。.

 

Object 型はコンストラクター呼び出しまたはメソッドの戻り値としてサポートされています。これらの型はその他の Java メソッドへマッピングすることもできます。MapForce にてオブジェクトを操作することはできません。

 

.NET 関数サポート

トップレベルのクラス、静的メンバークラス、そして非静的メンバークラスがサポートされます:

 

new <classname>(<arg1>, <arg2>, ...)

 

メンバー関数と静的関数がサポートされます:

 

<function>(<arg1>, <arg2>, ...)

<object>.<method>(<arg1>, ...)

 

以下に示される XML スキーマ型と .NET/C# 型との間の接続がサポートされます:

 

スキーマ型

.NET type

C# type

xs:string

System.String

string

xs:byte

System.SByte

sbyte

xs:short

System.Int16

short

xs:int

System.Int32

int

xs:long

System.Int64

long

xs:unsignedByte

System.Byte

byte

xs:unsignedShort

System.UInt16

ushort

xs:unsignedInt

System.UInt32

uint

xs:unsignedLong

System.UInt64

ulong

xs:boolean

System.Boolean

bool

xs:float

System.Single

float

xs:double

System.Double

double

xs:decimal

System.Decimal

decimal

 

両方向への接続を行うことができます。その他の .NET/C# 型はサポートされていません。配列型はサポートされていません。配列を使った引数や戻り値は無視されます。

 

Object 型はコンストラクター呼び出しまたはメソッドの戻り値としてサポートされています。これらの型はその他の .NET メソッドへマッピングすることもできます。MapForce にてオブジェクトを操作することはできません。

(C) 2019 Altova GmbH