org.jomc.model
Class Specification

Package class diagram package Specification
java.lang.Object
  extended by org.jomc.model.ModelObject
      extended by org.jomc.model.Specification
All Implemented Interfaces:
Cloneable

@Generated(value="com.sun.tools.xjc.Driver",
           date="2012-03-14T10:22:27+01:00",
           comments="JAXB RI vhudson-jaxb-ri-2.1-2")
public class Specification
extends ModelObject
implements Cloneable

Model of a specification. The 'Specification' type defines attributes 'identifier', 'class', 'classDeclaration', 'vendor', 'version', 'multiplicity' and 'scope'. Attribute 'identifier' holds an identifier uniquely identifying the specification in a set of specifications. Attribute 'class' holds the identifier of the class providing the programming interface of the specification. Attribute 'classDeclaration' flags the specification declaring the class providing the programming interface. Attribute 'vendor' holds information regarding the vendor of the specification. Attribute 'version' holds the version of the specification. Attribute 'multiplicity' specifies the number of implementations allowed to exist among a set of modules. A specification with a multiplicity equal to 'One' specifies that no more than one implementation of the specification is allowed to exist among a set of modules (including none). A specification with a multiplicity equal to 'Many' specifies that multiple implementations of the specification are allowed to exist among a set of modules (including none). Attribute 'scope' specifies the scope instances of implementations apply to. In 'Singleton' scope, objects are bound to a system's single instance store - an object is only created if not already available in that single instance store.

Java class for Specification complex type.

The following schema fragment specifies the expected content contained within this class.

 <complexType name="Specification">
   <complexContent>
     <extension base="{http://jomc.org/model}ModelObject">
       <sequence>
         <element ref="{http://jomc.org/model}properties" minOccurs="0"/>
         <any processContents='lax' namespace='##other' maxOccurs="unbounded" minOccurs="0"/>
       </sequence>
       <attribute name="identifier" use="required" type="{http://jomc.org/model}Identifier" />
       <attribute name="class" type="{http://jomc.org/model}Identifier" />
       <attribute name="vendor" type="{http://jomc.org/model}String" />
       <attribute name="version" type="{http://jomc.org/model}Version" />
       <attribute name="multiplicity" type="{http://jomc.org/model}Multiplicity" default="Many" />
       <attribute name="scope" type="{http://jomc.org/model}Identifier" />
       <attribute name="classDeclaration" type="{http://jomc.org/model}Flag" default="false" />
     </extension>
   </complexContent>
 </complexType>
 


Field Summary
protected  List<Object> any
           
protected  Boolean classDeclaration
           
protected  String clazz
           
protected  String identifier
           
protected  Multiplicity multiplicity
           
protected  Properties properties
           
protected  String scope
           
protected  String vendor
           
protected  String version
           
 
Fields inherited from class org.jomc.model.ModelObject
authors, createDate, deprecated, documentation, MODEL_PUBLIC_ID, modelVersion
 
Constructor Summary
Specification()
          Creates a new Specification instance.
Specification(Specification o)
          Creates a new Specification instance by deeply copying a given Specification instance.
 
Method Summary
 Specification clone()
          Creates and returns a deep copy of this object.
 List<Object> getAny()
          Gets the value of the any property.
 javax.xml.bind.JAXBElement getAnyElement(String namespaceURI, String localPart)
          Deprecated. As of JOMC 1.1, please use method getAnyElement(java.lang.String, java.lang.String, java.lang.Class). This method will be removed in version 2.0.
<T> javax.xml.bind.JAXBElement<T>
getAnyElement(String namespaceURI, String localPart, Class<T> type)
          Gets a single JAXBElement matching a namespace URI and local part from the any property of the instance.
 List<javax.xml.bind.JAXBElement> getAnyElements(String namespaceURI, String localPart)
          Deprecated. As of JOMC 1.1, please use method getAnyElements(java.lang.String, java.lang.String, java.lang.Class). This method will be removed in version 2.0.
<T> List<javax.xml.bind.JAXBElement<T>>
getAnyElements(String namespaceURI, String localPart, Class<T> type)
          Gets a list containing all JAXBElements matching a namespace URI and local part from the any property of the instance.
<T> T
getAnyObject(Class<T> clazz)
          Gets a single object matching a given class from the any property of the instance.
<T> List<T>
getAnyObjects(Class<T> clazz)
          Gets a list containing all objects matching a given class from the any property of the instance.
 String getClazz()
          The identifier of the class providing the programming interface of this specification or null.
 String getIdentifier()
          The identifier of this specification.
 Class<?> getJavaClass(ClassLoader classLoader)
          Gets the Java class of the specification for a given class loader.
 Multiplicity getMultiplicity()
          The implementation multiplicity of this specification.
 Properties getProperties()
          Properties of this specification or null.
 String getScope()
          Scope instances of implementations of this specification apply to or null, if instances of implementations of this specification are not bound to any scope (multiton).
 String getVendor()
          The vendor of this specification or null.
 String getVersion()
          The version of this specification or null.
 boolean isClassDeclaration()
          true, if this specification declares the class given by property clazz.
 void setClassDeclaration(Boolean value)
          Sets the value of the classDeclaration property.
 void setClazz(String value)
          Sets the value of the clazz property.
 void setIdentifier(String value)
          Sets the value of the identifier property.
 void setMultiplicity(Multiplicity value)
          Sets the value of the multiplicity property.
 void setProperties(Properties value)
          Sets the value of the properties property.
 void setScope(String value)
          Sets the value of the scope property.
 void setVendor(String value)
          Sets the value of the vendor property.
 void setVersion(String value)
          Sets the value of the version property.
 
Methods inherited from class org.jomc.model.ModelObject
getAnyElement, getAnyElement, getAnyElements, getAnyElements, getAnyObject, getAnyObjects, getAuthors, getCreateDate, getDocumentation, getModelVersion, isDeprecated, setAuthors, setCreateDate, setDeprecated, setDocumentation, setModelVersion
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

properties

@Generated(value="com.sun.tools.xjc.Driver",
           date="2012-03-14T10:22:27+01:00",
           comments="JAXB RI vhudson-jaxb-ri-2.1-2")
protected Properties properties

any

@Generated(value="com.sun.tools.xjc.Driver",
           date="2012-03-14T10:22:27+01:00",
           comments="JAXB RI vhudson-jaxb-ri-2.1-2")
protected List<Object> any

identifier

@Generated(value="com.sun.tools.xjc.Driver",
           date="2012-03-14T10:22:27+01:00",
           comments="JAXB RI vhudson-jaxb-ri-2.1-2")
protected String identifier

clazz

@Generated(value="com.sun.tools.xjc.Driver",
           date="2012-03-14T10:22:27+01:00",
           comments="JAXB RI vhudson-jaxb-ri-2.1-2")
protected String clazz

vendor

@Generated(value="com.sun.tools.xjc.Driver",
           date="2012-03-14T10:22:27+01:00",
           comments="JAXB RI vhudson-jaxb-ri-2.1-2")
protected String vendor

version

@Generated(value="com.sun.tools.xjc.Driver",
           date="2012-03-14T10:22:27+01:00",
           comments="JAXB RI vhudson-jaxb-ri-2.1-2")
protected String version

multiplicity

@Generated(value="com.sun.tools.xjc.Driver",
           date="2012-03-14T10:22:27+01:00",
           comments="JAXB RI vhudson-jaxb-ri-2.1-2")
protected Multiplicity multiplicity

scope

@Generated(value="com.sun.tools.xjc.Driver",
           date="2012-03-14T10:22:27+01:00",
           comments="JAXB RI vhudson-jaxb-ri-2.1-2")
protected String scope

classDeclaration

@Generated(value="com.sun.tools.xjc.Driver",
           date="2012-03-14T10:22:27+01:00",
           comments="JAXB RI vhudson-jaxb-ri-2.1-2")
protected Boolean classDeclaration
Constructor Detail

Specification

public Specification()
Creates a new Specification instance.


Specification

public Specification(Specification o)
Creates a new Specification instance by deeply copying a given Specification instance.

Parameters:
o - The instance to copy.
Throws:
NullPointerException - if o is null.
Method Detail

getProperties

@Generated(value="com.sun.tools.xjc.Driver",
           date="2012-03-14T10:22:27+01:00",
           comments="JAXB RI vhudson-jaxb-ri-2.1-2")
public Properties getProperties()
Properties of this specification or null.

Returns:
possible object is Properties

setProperties

@Generated(value="com.sun.tools.xjc.Driver",
           date="2012-03-14T10:22:27+01:00",
           comments="JAXB RI vhudson-jaxb-ri-2.1-2")
public void setProperties(Properties value)
Sets the value of the properties property.

Parameters:
value - allowed object is Properties

getAny

@Generated(value="com.sun.tools.xjc.Driver",
           date="2012-03-14T10:22:27+01:00",
           comments="JAXB RI vhudson-jaxb-ri-2.1-2")
public List<Object> getAny()
Gets the value of the any property.

This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the JAXB object. This is why there is not a set method for the any property.

For example, to add a new item, do as follows:

    getAny().add(newItem);
 

Objects of the following type(s) are allowed in the list Object Element


getIdentifier

@Generated(value="com.sun.tools.xjc.Driver",
           date="2012-03-14T10:22:27+01:00",
           comments="JAXB RI vhudson-jaxb-ri-2.1-2")
public String getIdentifier()
The identifier of this specification.

Returns:
possible object is String

setIdentifier

@Generated(value="com.sun.tools.xjc.Driver",
           date="2012-03-14T10:22:27+01:00",
           comments="JAXB RI vhudson-jaxb-ri-2.1-2")
public void setIdentifier(String value)
Sets the value of the identifier property.

Parameters:
value - allowed object is String

getClazz

@Generated(value="com.sun.tools.xjc.Driver",
           date="2012-03-14T10:22:27+01:00",
           comments="JAXB RI vhudson-jaxb-ri-2.1-2")
public String getClazz()
The identifier of the class providing the programming interface of this specification or null.

Returns:
possible object is String

setClazz

@Generated(value="com.sun.tools.xjc.Driver",
           date="2012-03-14T10:22:27+01:00",
           comments="JAXB RI vhudson-jaxb-ri-2.1-2")
public void setClazz(String value)
Sets the value of the clazz property.

Parameters:
value - allowed object is String

getVendor

@Generated(value="com.sun.tools.xjc.Driver",
           date="2012-03-14T10:22:27+01:00",
           comments="JAXB RI vhudson-jaxb-ri-2.1-2")
public String getVendor()
The vendor of this specification or null.

Returns:
possible object is String

setVendor

@Generated(value="com.sun.tools.xjc.Driver",
           date="2012-03-14T10:22:27+01:00",
           comments="JAXB RI vhudson-jaxb-ri-2.1-2")
public void setVendor(String value)
Sets the value of the vendor property.

Parameters:
value - allowed object is String

getVersion

@Generated(value="com.sun.tools.xjc.Driver",
           date="2012-03-14T10:22:27+01:00",
           comments="JAXB RI vhudson-jaxb-ri-2.1-2")
public String getVersion()
The version of this specification or null.

Returns:
possible object is String

setVersion

@Generated(value="com.sun.tools.xjc.Driver",
           date="2012-03-14T10:22:27+01:00",
           comments="JAXB RI vhudson-jaxb-ri-2.1-2")
public void setVersion(String value)
Sets the value of the version property.

Parameters:
value - allowed object is String

getMultiplicity

@Generated(value="com.sun.tools.xjc.Driver",
           date="2012-03-14T10:22:27+01:00",
           comments="JAXB RI vhudson-jaxb-ri-2.1-2")
public Multiplicity getMultiplicity()
The implementation multiplicity of this specification. A multiplicity equal to Multiplicity.ONE specifies that no more than one implementation of the specification is allowed to exist among a set of modules (including none). A multiplicity equal to Multiplicity.MANY specifies that many implementations are allowed to exist among a set of modules (including none).

Returns:
possible object is Multiplicity

setMultiplicity

@Generated(value="com.sun.tools.xjc.Driver",
           date="2012-03-14T10:22:27+01:00",
           comments="JAXB RI vhudson-jaxb-ri-2.1-2")
public void setMultiplicity(Multiplicity value)
Sets the value of the multiplicity property.

Parameters:
value - allowed object is Multiplicity

getScope

@Generated(value="com.sun.tools.xjc.Driver",
           date="2012-03-14T10:22:27+01:00",
           comments="JAXB RI vhudson-jaxb-ri-2.1-2")
public String getScope()
Scope instances of implementations of this specification apply to or null, if instances of implementations of this specification are not bound to any scope (multiton).

Returns:
possible object is String

setScope

@Generated(value="com.sun.tools.xjc.Driver",
           date="2012-03-14T10:22:27+01:00",
           comments="JAXB RI vhudson-jaxb-ri-2.1-2")
public void setScope(String value)
Sets the value of the scope property.

Parameters:
value - allowed object is String

isClassDeclaration

@Generated(value="com.sun.tools.xjc.Driver",
           date="2012-03-14T10:22:27+01:00",
           comments="JAXB RI vhudson-jaxb-ri-2.1-2")
public boolean isClassDeclaration()
true, if this specification declares the class given by property clazz.

Returns:
possible object is Boolean

setClassDeclaration

@Generated(value="com.sun.tools.xjc.Driver",
           date="2012-03-14T10:22:27+01:00",
           comments="JAXB RI vhudson-jaxb-ri-2.1-2")
public void setClassDeclaration(Boolean value)
Sets the value of the classDeclaration property.

Parameters:
value - allowed object is Boolean

clone

@Generated(value="com.sun.tools.xjc.Driver",
           date="2012-03-14T10:22:27+01:00",
           comments="JAXB RI vhudson-jaxb-ri-2.1-2")
public Specification clone()
Creates and returns a deep copy of this object.

Overrides:
clone in class ModelObject
Returns:
A deep copy of this object.

getJavaClass

public Class<?> getJavaClass(ClassLoader classLoader)
                      throws ClassNotFoundException
Gets the Java class of the specification for a given class loader.

Parameters:
classLoader - The class loader to get the Java class from or null, to get the Java class from the platform's bootstrap class loader.
Returns:
The Java class of the specification or null, if the specification does not declare a class.
Throws:
ClassNotFoundException - if the Java class is not found.
Since:
1.2
See Also:
getClazz()

getAnyElement

@Deprecated
public javax.xml.bind.JAXBElement getAnyElement(String namespaceURI,
                                                           String localPart)
Deprecated. As of JOMC 1.1, please use method getAnyElement(java.lang.String, java.lang.String, java.lang.Class). This method will be removed in version 2.0.

Gets a single JAXBElement matching a namespace URI and local part from the any property of the instance.

Parameters:
namespaceURI - The namespace URI of the JAXBElement to return.
localPart - The local part of the JAXBElement to return.
Returns:
The JAXBElement matching namespaceURI and localPart from the any property of the instance or null if no such element is found.
Throws:
NullPointerException - if namespaceURI or localPart is null.
IllegalStateException - if the any property contains more than one matching element.
See Also:
ModelObject.getAnyElement(java.util.List, java.lang.String, java.lang.String)

getAnyElements

@Deprecated
public List<javax.xml.bind.JAXBElement> getAnyElements(String namespaceURI,
                                                                  String localPart)
Deprecated. As of JOMC 1.1, please use method getAnyElements(java.lang.String, java.lang.String, java.lang.Class). This method will be removed in version 2.0.

Gets a list containing all JAXBElements matching a namespace URI and local part from the any property of the instance.

Parameters:
namespaceURI - The namespace URI of the JAXBElements to return.
localPart - The local part of the JAXBElements to return.
Returns:
An unmodifiable list of all JAXBElements matching namespaceURI and localPart from the any property of the instance - an empty list if no such elements are found.
Throws:
NullPointerException - if namespaceURI or localPart is null.
See Also:
ModelObject.getAnyElements(java.util.List, java.lang.String, java.lang.String)

getAnyElement

public <T> javax.xml.bind.JAXBElement<T> getAnyElement(String namespaceURI,
                                                       String localPart,
                                                       Class<T> type)
Gets a single JAXBElement matching a namespace URI and local part from the any property of the instance.

Type Parameters:
T - The type the element is bound to.
Parameters:
namespaceURI - The namespace URI of the JAXBElement to return.
localPart - The local part of the JAXBElement to return.
type - The class of the type the element is bound to.
Returns:
The JAXBElement matching namespaceURI and localPart from the any property of the instance or null if no such element is found.
Throws:
NullPointerException - if namespaceURI, localPart or type is null.
IllegalStateException - if the any property contains more than one matching element.
Since:
1.1
See Also:
ModelObject.getAnyElement(java.util.List, java.lang.String, java.lang.String, java.lang.Class)

getAnyElements

public <T> List<javax.xml.bind.JAXBElement<T>> getAnyElements(String namespaceURI,
                                                              String localPart,
                                                              Class<T> type)
Gets a list containing all JAXBElements matching a namespace URI and local part from the any property of the instance.

Type Parameters:
T - The type the elements are bound to.
Parameters:
namespaceURI - The namespace URI of the JAXBElements to return.
localPart - The local part of the JAXBElements to return.
type - The class of the type the elements are bound to.
Returns:
An unmodifiable list of all JAXBElements matching namespaceURI and localPart from the any property of the instance - an empty list if no such elements are found.
Throws:
NullPointerException - if namespaceURI, localPart or type is null.
Since:
1.1
See Also:
ModelObject.getAnyElements(java.util.List, java.lang.String, java.lang.String, java.lang.Class)

getAnyObject

public <T> T getAnyObject(Class<T> clazz)
Gets a single object matching a given class from the any property of the instance.

Type Parameters:
T - The type of the object to return.
Parameters:
clazz - The class to return an instance of.
Returns:
The instance of clazz from the any property of the instance or null, if no such instance is found.
Throws:
NullPointerException - if clazz is null.
IllegalStateException - if the any property contains more than one matching object.
See Also:
ModelObject.getAnyObject(java.util.List, java.lang.Class)

getAnyObjects

public <T> List<T> getAnyObjects(Class<T> clazz)
Gets a list containing all objects matching a given class from the any property of the instance.

Type Parameters:
T - The type of the objects to return.
Parameters:
clazz - The class to return all instances of.
Returns:
An unmodifiable list of all instances of clazz from the any property of the instance - an empty list if no such objects are found.
Throws:
NullPointerException - if clazz is null.
See Also:
ModelObject.getAnyObjects(java.util.List, java.lang.Class)


Copyright © 2005-2012 The JOMC Project. All Rights Reserved.Get JOMC at SourceForge.net. Fast, secure and Free Open Source software downloads
Please note that this documentation is maintained by non-native english speaking authors. As such, you may encounter phrases or wordings which seem imprecise or may even have a totally different meaning to native english speaking readers than what the individual author was trying to express. If you are a native english speaking reader and find any such phrases or wordings we kindly ask you to send an email to the corresponding author and help us improve this documentation in order to avoid misunderstandings. You will find the authors' email addresses at the top of each class. Please accept our apologies for any inconvenience caused.