Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Licensed to the Apache Software Foundation (ASF) under one
   * or more contributor license agreements.  See the NOTICE file
   * distributed with this work for additional information
   * regarding copyright ownership.  The ASF licenses this file
   * to you under the Apache License, Version 2.0 (the
   * "License"); you may not use this file except in compliance
   * with the License.  You may obtain a copy of the License at
   * 
  *   http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  * KIND, either express or implied.  See the License for the
  * specific language governing permissions and limitations
  * under the License.    
  */
 package org.apache.tuscany.sca.interfacedef;
 
Representation of the type of data associated with an operation. Data is represented in two forms: the physical form used by the runtime and a logical form used by the assembly. The physical form is a Java Type because the runtime is written in Java. This may be the same form used by the application but it may not; for example, an application that is performing stream processing may want a physical form such as an InputStream to semantically operate on application data such as a purchase order. The logical description is that used by the assembly model and is an identifier into some well-known type space; examples may be a Java type represented by its Class or an XML type represented by its QName. Every data type may also contain metadata describing the expected data; for example, it could specify a preferred data binding technology or the size of a typical instance.

Version:
$Rev: 941690 $ $Date: 2010-05-06 15:20:28 +0300 (Thu, 06 May 2010) $
Tuscany.spi.extension.asclient:
 
 public interface DataType<L> extends Cloneable {
    
Set the java type for the data

Parameters:
cls
 
     void setPhysical(Class<?> cls);

    
Returns the physical type used by the runtime.

Returns:
the physical type used by the runtime
 
     Class<?> getPhysical();

    
Get the java generic type

Returns:
The java generic type
 
     Type getGenericType();

    
Set the java generic type

Parameters:
genericType
 
     void setGenericType(Type genericType);

    
Returns the logical identifier used by the assembly. The type of this value identifies the logical type system in use. Known values are:
  • a Class identifies a Java type by name and ClassLoader; this includes Java Classes as they are specializations of Type
  • a XMLType identifies an XML type by local name and namespace

Returns:
the logical type name
 
     L getLogical();

    
Get the databinding for the given data type

Returns:
the databinding
 
     String getDataBinding();

    
Set the databinding for the given data type

Parameters:
dataBinding the dataBinding to set
 
     void setDataBinding(String dataBinding);

    
Clone a data type

Returns:
The cloned data type
Throws:
java.lang.CloneNotSupportedException
 
     Object clone() throws CloneNotSupportedException;

    
Set the logical type of the data type

Parameters:
logical the logical to set
    void setLogical(L logical);

    
Get the databinding-specific metadata

Parameters:
type The java type of the metadata
Returns:
the databinding-specific metadata
    <T> T getMetaData(Class<T> type);
    
Set the databinding-specific metadata

Parameters:
type The java type of the metadata
metaData the databinding-specific metadata, such as SDO's commonj.sdo.Type or JAXB's javax.xml.bind.JAXBContext
    <T> void setMetaData(Class<T> type, T metaData);
New to GrepCode? Check out our FAQ X