Package org.simpleframework.xml.core
Interface Scanner
-
- All Superinterfaces:
Policy
- All Known Implementing Classes:
DefaultScanner
,ObjectScanner
,PrimitiveScanner
interface Scanner extends Policy
TheScanner
object performs the reflective inspection of a class and builds a map of attributes and elements for each annotated field. This acts as a cachable container for reflection actions performed on a specific type. When scanning the provided class this inserts the scanned field as aLabel
in to a map so that it can be retrieved by name. Annotations classified as attributes have theAttribute
annotation, all other annotated fields are stored as elements.- See Also:
Schema
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Caller
getCaller(Context context)
This method is used to return theCaller
for this class.Function
getCommit()
This method is used to retrieve the schema class commit method during the deserialization process.Function
getComplete()
This method is used to retrieve the schema class completion method.Decorator
getDecorator()
This is used to acquire theDecorator
for this.Instantiator
getInstantiator()
This is used to acquire the instantiator for the type.java.lang.String
getName()
This returns the name of the class processed by this scanner.Order
getOrder()
This is used to acquire theOrder
annotation for the class schema.ParameterMap
getParameters()
This returns a map of all parameters that exist.Function
getPersist()
This method is used to retrieve the schema class persistence method.Function
getReplace()
This method is used to retrieve the schema class replacement method.Function
getResolve()
This method is used to retrieve the schema class replacement method.Version
getRevision()
This is theVersion
for the scanned class.Section
getSection()
This is used to create aSection
given the context used for serialization.Signature
getSignature()
This is used to acquire the default signature for the class.java.util.List<Signature>
getSignatures()
This returns the signatures for the type.Label
getText()
This returns theLabel
that represents the text annotation for the scanned class.java.lang.Class
getType()
This is used to acquire the type that this scanner scans for annotations to be used in a schema.Function
getValidate()
This method is used to retrieve the schema class validation method during the deserialization process.Label
getVersion()
This returns theLabel
that represents the version annotation for the scanned class.boolean
isEmpty()
This is used to determine whether the scanned class represents a primitive type.boolean
isPrimitive()
This is used to determine whether the scanned class represents a primitive type.boolean
isStrict()
This method is used to determine whether strict mappings are required.
-
-
-
Method Detail
-
getSignature
Signature getSignature()
This is used to acquire the default signature for the class. The default signature is the signature for the no argument constructor for the type. If there is no default constructor for the type then this will return null.- Returns:
- this returns the default signature if it exists
-
getSignatures
java.util.List<Signature> getSignatures()
This returns the signatures for the type. All constructors are represented as a signature and returned. More signatures than constructors will be returned if a constructor is annotated with a union annotation.- Returns:
- this returns the list of signatures for the type
-
getParameters
ParameterMap getParameters()
This returns a map of all parameters that exist. This is used to validate all the parameters against the field and method annotations that exist within the class.- Returns:
- this returns a map of all parameters within the type
-
getInstantiator
Instantiator getInstantiator()
This is used to acquire the instantiator for the type. This is used to create object instances based on the constructors that have been annotated. If no constructors have been annotated then this can be used to create default no argument instances.- Returns:
- this instantiator responsible for creating instances
-
getType
java.lang.Class getType()
This is used to acquire the type that this scanner scans for annotations to be used in a schema. Exposing the class that this represents allows the schema it creates to be known.- Returns:
- this is the type that this creator will represent
-
getDecorator
Decorator getDecorator()
This is used to acquire theDecorator
for this. A decorator is an object that adds various details to the node without changing the overall structure of the node. For example comments and namespaces can be added to the node with a decorator as they do not affect the deserialization.- Returns:
- this returns the decorator associated with this
-
getCaller
Caller getCaller(Context context)
This method is used to return theCaller
for this class. The caller is a means to deliver invocations to the object for the persister callback methods. It aggregates all of the persister callback methods in to a single object.- Returns:
- this returns a caller used for delivering callbacks
-
getSection
Section getSection()
This is used to create aSection
given the context used for serialization. A section is an XML structure that contains all the elements and attributes defined for the class. Each section is a tree like structure defining exactly where each attribute an element is located within the source XML.- Returns:
- this will return a section for serialization
-
getRevision
Version getRevision()
This is theVersion
for the scanned class. It allows the deserialization process to be configured such that if the version is different from the schema class none of the fields and methods are required and unmatched elements and attributes will be ignored.- Returns:
- this returns the version of the class that is scanned
-
getOrder
Order getOrder()
This is used to acquire theOrder
annotation for the class schema. The order annotation defines the order that the elements and attributes should appear within the document. Providing order in this manner makes the resulting XML more predictable. If no order is provided, appearance is random.- Returns:
- this returns the order, if any, defined for the class
-
getVersion
Label getVersion()
This returns theLabel
that represents the version annotation for the scanned class. Only a single version can exist within the class if more than one exists an exception is thrown. This will read only floating point types such as double.- Returns:
- this returns the label used for reading the version
-
getText
Label getText()
This returns theLabel
that represents the text annotation for the scanned class. Only a single text annotation can be used per class, so this returns only a single label rather than aLabelMap
object. Also if this is not null then the elements label map must be empty.- Returns:
- this returns the text label for the scanned class
-
getName
java.lang.String getName()
This returns the name of the class processed by this scanner. The name is either the name as specified in the last foundRoot
annotation, or if a name was not specified within the discovered root then the Java Bean class name of the last class annotated with a root annotation.- Returns:
- this returns the name of the object being scanned
-
getCommit
Function getCommit()
This method is used to retrieve the schema class commit method during the deserialization process. The commit method must be marked with theCommit
annotation so that when the object is deserialized the persister has a chance to invoke the method so that the object can build further data structures.- Returns:
- this returns the commit method for the schema class
-
getValidate
Function getValidate()
This method is used to retrieve the schema class validation method during the deserialization process. The validation method must be marked with theValidate
annotation so that when the object is deserialized the persister has a chance to invoke that method so that object can validate its field values.- Returns:
- this returns the validate method for the schema class
-
getPersist
Function getPersist()
This method is used to retrieve the schema class persistence method. This is invoked during the serialization process to get the object a chance to perform an nessecary preparation before the serialization of the object proceeds. The persist method must be marked with thePersist
annotation.- Returns:
- this returns the persist method for the schema class
-
getComplete
Function getComplete()
This method is used to retrieve the schema class completion method. This is invoked after the serialization process has completed and gives the object a chance to restore its state if the persist method required some alteration or locking. This is marked with theComplete
annotation.- Returns:
- returns the complete method for the schema class
-
getReplace
Function getReplace()
This method is used to retrieve the schema class replacement method. The replacement method is used to substitute an object that has been deserialized with another object. This allows a seamless delegation mechanism to be implemented. This is marked with theReplace
annotation.- Returns:
- returns the replace method for the schema class
-
getResolve
Function getResolve()
This method is used to retrieve the schema class replacement method. The replacement method is used to substitute an object that has been deserialized with another object. This allows a seamless delegation mechanism to be implemented. This is marked with theReplace
annotation.- Returns:
- returns the replace method for the schema class
-
isPrimitive
boolean isPrimitive()
This is used to determine whether the scanned class represents a primitive type. A primitive type is a type that contains no XML annotations and so cannot be serialized with an XML form. Instead primitives a serialized using transformations.- Returns:
- this returns true if no XML annotations were found
-
isEmpty
boolean isEmpty()
This is used to determine whether the scanned class represents a primitive type. A primitive type is a type that contains no XML annotations and so cannot be serialized with an XML form. Instead primitives a serialized using transformations.- Returns:
- this returns true if no XML annotations were found
-
isStrict
boolean isStrict()
This method is used to determine whether strict mappings are required. Strict mapping means that all labels in the class schema must match the XML elements and attributes in the source XML document. When strict mapping is disabled, then XML elements and attributes that do not exist in the schema class will be ignored without breaking the parser.
-
-