org.enhydra.zeus
Interface Binding

All Known Subinterfaces:
Container, Property

public interface Binding

Binding represents an arbitrary Java construct, and provides a representation-independent means of showing how a constraint (presumably from an XML Schema, DTD, Relax schema, etc.) maps to Java. It provides a layer of representation between the constraint representation and generated Java.

It also allows for uniformity in mapping. For example, the DTD ELEMENT and XML Schema element constructs, while different, should both be mapped to the same implementation of a Binding in Zeus. In this way, constraints that represent semantically equivalent constructs result in identical sets of bindings.

Version:
1.0
Author:
Brett McLaughlin

Method Summary
 java.lang.String getJavaName()
           This will return the Java name of the binding.
 java.lang.String getJavaType()
           This will return the Java type associated with the binding.
 java.lang.String getXMLName()
           This will return the XML name of the binding.
 void setJavaType(java.lang.String javaType)
           This will set the Java type for this binding.
 void setXMLName(java.lang.String xmlName)
           This will set the XML name of the binding.
 

Method Detail

getJavaName

public java.lang.String getJavaName()

This will return the Java name of the binding. This should be the valid Java name of the binding, which is most often a variable name. This name will be the result of any conversions that have to be done if the XML name of the binding is not a valid Java identifier.

For example, for a List that is associated with an instance variable named "myList", invoking getJavaName() would return "myList." For a custom object type "Foo", associated with an instance variable "foo", invoking getJavaName() would return "foo".

It's also important to note that there are cases when this would return null. For an object that is top-level, and is not a member variable of any other object, no name will be associated with the binding.

Returns:
String - the Java name of the binding.

getXMLName

public java.lang.String getXMLName()

This will return the XML name of the binding. This should be the actual XML name of the binding, which is most often a variable name.

For example, for a List that is associated with an instance variable named "myList", invoking getXMLName() would return "myList." For a custom object type "Foo", associated with an instance variable "foo", invoking getXMLName() would return "foo".

It's also important to note that there are cases when this would return null. For an object that is top-level, and is not a member variable of any other object, no name will be associated with the binding.

Returns:
String - the XML name of the binding.

setXMLName

public void setXMLName(java.lang.String xmlName)

This will set the XML name of the binding. For more details on the name of a binding, see getXMLName().

Parameters:
xmlName - String XML name of the binding.

getJavaType

public java.lang.String getJavaType()

This will return the Java type associated with the binding. This will always be the fully qualified name of the Java object, excepting cases where the object is in default included packages.

For example, an object of type org.bby.Foo would return "org.bby.Foo" when this method is invoked. However, an object of type java.lang.String would only return "String." In all cases, the type returned here is qualified enough to not require any import statements in generated code.

Returns:
String - the Java type of the binding.

setJavaType

public void setJavaType(java.lang.String javaType)

This will set the Java type for this binding. For more details on Java types and bindings, see getJavaType().

Note: Should this do an internal check in implementations to ensure full qualification, like with Class.forName() or something? If so, notes should be made here to that effect.
Parameters:
javaType - String the Java type for this binding.


Copyright © 2001 Enhydra. All Rights Reserved.