MetaJolie
Inclusion code:
Service Deployment | |||
---|---|---|---|
Port Name | Location | Protocol | Interfaces |
MetaJolie documentation: | |||
MetaJolie | - | - | MetaJolieInterface |
List of Available Interfaces
MetaJolieInterface
Interface documentation:
Operation Name | Input Type | Output Type | Faults |
---|---|---|---|
getInputPortMetaData | GetInputPortMetaDataRequest | GetInputPortMetaDataResponse | ParserException( ParserExceptionType ) InputPortMetaDataFault( undefined ) SemanticException( SemanticExceptionType ) |
getMetaData | GetMetaDataRequest | GetMetaDataResponse | ParserException( ParserExceptionType ) SemanticException( SemanticExceptionType ) |
messageTypeCast | MessageTypeCastRequest | MessageTypeCastResponse | TypeMismatch( undefined ) |
checkNativeType | CheckNativeTypeRequest | CheckNativeTypeResponse |
Operation Description
getInputPortMetaData
Operation documentation:
Invocation template:
getInputPortMetaData@MetaJolie( request )( response )
Request type
Type: GetInputPortMetaDataRequest
type GetInputPortMetaDataRequest: void {
.filename: string
.name?: Name
}
GetInputPortMetaDataRequest : void
filename : string
: the filename where the service definition isname : void
: the absolute name to give to the resource. in this operation only .domain will be used. default .domain = "".
Response type
Type: GetInputPortMetaDataResponse
type GetInputPortMetaDataResponse: void {
.input*: Port
}
GetInputPortMetaDataResponse : void
input : void
: the full description of each input port of the service definition
Possible faults thrown
Fault ParserException
with type ParserExceptionType
Fault-handling install template:
install ( ParserException => /* error-handling code */ )
type ParserExceptionType: void {
.line: int
.sourceName: string
.message: string
}
Fault InputPortMetaDataFault
with type undefined
Fault-handling install template:
install ( InputPortMetaDataFault => /* error-handling code */ )
Fault SemanticException
with type SemanticExceptionType
Fault-handling install template:
install ( SemanticException => /* error-handling code */ )
type SemanticExceptionType: void {
.error*: void {
.line: int
.sourceName: string
.message: string
}
}
getMetaData
Operation documentation:
Invocation template:
getMetaData@MetaJolie( request )( response )
Request type
Type: GetMetaDataRequest
type GetMetaDataRequest: void {
.filename: string
.name: Name
}
GetMetaDataRequest : void
filename : string
: the filename where the service definition isname : void
: the name and the domain name to give to the service
Response type
Type: GetMetaDataResponse
type GetMetaDataResponse: void {
.output*: Port
.input*: Port
.interfaces*: Interface
.types*: Type
.service: Service
.embeddedServices*: void {
.servicepath: string
.type: string
.portId: string
}
}
GetMetaDataResponse : void
output : void
: the definitions of all the output portsinput : void
: the definitions of all the input portsinterfaces : void
: the definitions of all the interfacestypes : void
: the definitions of all the typesservice : void
: the definition of the serviceembeddedServices : void
: the definitions of all the embedded servicesservicepath : string
: path where the service can be foundtype : string
: type of the embedded serviceportId : string
: target output port where the embedded service is bound
Possible faults thrown
Fault ParserException
with type ParserExceptionType
Fault-handling install template:
install ( ParserException => /* error-handling code */ )
type ParserExceptionType: void {
.line: int
.sourceName: string
.message: string
}
Fault SemanticException
with type SemanticExceptionType
Fault-handling install template:
install ( SemanticException => /* error-handling code */ )
type SemanticExceptionType: void {
.error*: void {
.line: int
.sourceName: string
.message: string
}
}
messageTypeCast
Operation documentation:
Invocation template:
messageTypeCast@MetaJolie( request )( response )
Request type
Type: MessageTypeCastRequest
type MessageTypeCastRequest: void {
.types: void {
.types*: Type
.messageTypeName: Name
}
.message: undefined
}
MessageTypeCastRequest : void
types : void
: the types to use for casting the messagetypes : void
: list of all the required typesmessageTypeName : void
: starting type to user for casting
message : any
: the message to be cast
Response type
Type: MessageTypeCastResponse
type MessageTypeCastResponse: void {
.message: undefined
}
MessageTypeCastResponse : void
message : any
: casted message
Possible faults thrown
Fault TypeMismatch
with type undefined
Fault-handling install template:
install ( TypeMismatch => /* error-handling code */ )
checkNativeType
Operation documentation:
Invocation template:
checkNativeType@MetaJolie( request )( response )
Request type
Type: CheckNativeTypeRequest
type CheckNativeTypeRequest: void {
.type_name: string
}
CheckNativeTypeRequest : void
type_name : string
: the type name to check it is native
Response type
Type: CheckNativeTypeResponse
type CheckNativeTypeResponse: void {
.result: bool
}
CheckNativeTypeResponse : void
result : bool
Subtypes
Name
type Name: void { .registry?: string .domain?: string .name: string }
Port
type Port: void { .protocol: string .interfaces*: Interface .name: Name .location: any }
Interface
type Interface: void { .types*: Type .operations*: Operation .name: Name }
Type
type Type: void { .root_type: NativeType .sub_type*: SubType .name: Name }
NativeType
type NativeType: void { .string_type?: bool .void_type?: bool .raw_type?: bool .int_type?: bool .any_type?: bool .link?: void { .domain?: string .name: string } .bool_type?: bool .double_type?: bool .long_type?: bool }
SubType
type SubType: void { .type_inline?: Type .name: string .cardinality: Cardinality .type_link?: Name }
Cardinality
type Cardinality: void { .min: int .max?: int .infinite?: int }
Operation
type Operation: void { .operation_name: string .output?: Name .input: Name .documentation?: any .fault*: Fault }
Fault
type Fault: void { .type_name?: Name .name: Name }
Service
type Service: void { .output*: Name .input*: void { .domain: string .name: string } .name: Name }