Package org.djutils.metadata
Class MetaData
java.lang.Object
org.djutils.metadata.MetaData
- All Implemented Interfaces:
Serializable
MetaDataInterface; documenting Object arrays.
Copyright (c) 2020-2024 Delft University of Technology, Jaffalaan 5, 2628 BX Delft, the Netherlands. All rights reserved. See for project information https://djutils.org. The DJUTILS project is distributed under a three-clause BSD-style license, which can be found at https://djutils.org/docs/license.html.
Copyright (c) 2020-2024 Delft University of Technology, Jaffalaan 5, 2628 BX Delft, the Netherlands. All rights reserved. See for project information https://djutils.org. The DJUTILS project is distributed under a three-clause BSD-style license, which can be found at https://djutils.org/docs/license.html.
- Author:
- Alexander Verbraeck, Peter Knoppers
- See Also:
-
Field Summary
-
Constructor Summary
ConstructorDescriptionMetaData
(String name, String description, ObjectDescriptor... objectDescriptors) Construct a new MetaData object that can check an array of Object. -
Method Summary
Modifier and TypeMethodDescriptionboolean
Retrieve the description of this MetaData object.getFieldName
(int index) Retrieve the name of one element in the Object array.getName()
Retrieve the name of this MetaData object.Class<?>
getObjectClass
(int index) Retrieve the java class of one element in the Object array.getObjectDescription
(int index) Retrieve the description of one element in the Object array.getObjectDescriptor
(int index) Select one of the ObjectDescriptors.Returns a safe copy of the object descriptors.int
hashCode()
int
size()
Retrieve the length of described Object array.toString()
final void
verifyComposition
(Object object) Verify that an Object has the prescribed composition.final void
verifyComposition
(Object[] objectArray) Verify that an Object array has the prescribed composition.
-
Field Details
-
EMPTY
MetaData object that indicates no data is expected. -
NO_META_DATA
Meta data object to use when none is available. Please do not use this, except when the payload is varying.
-
-
Constructor Details
-
MetaData
Construct a new MetaData object that can check an array of Object.- Parameters:
name
- String; name of the new MetaData object, which cannot be null or the empty stringdescription
- String; description of the new MetaData objectobjectDescriptors
- ObjectDescriptor...; array of ObjectDescriptor. This constructor does <b>not</b> make a deep copy of this array; subsequent modification of the contents of the providedobjectDescriptors
array will affect the behavior of the MetaData object.
-
-
Method Details
-
getName
Retrieve the name of this MetaData object.- Returns:
- String; the name of this MetaData object
-
getDescription
Retrieve the description of this MetaData object.- Returns:
- String; the description of this MetaData object
-
size
public int size()Retrieve the length of described Object array.- Returns:
- int; the length of the described Object array; returns 0 if this MetaDataObject is not set up to validate an array of Object.
-
getObjectDescriptors
Returns a safe copy of the object descriptors. As the object descriptors are immutable objects, they are not cloned.- Returns:
- ObjectDescriptor[]; a safe copy of the object descriptors
-
getFieldName
Retrieve the name of one element in the Object array.- Parameters:
index
- int; index of the element in the Object array (must be 0 if this MetaData object is not set up to validate an array of Object)- Returns:
- String; name of the argument
-
getObjectDescription
Retrieve the description of one element in the Object array.- Parameters:
index
- int; index of the element in the Object array (must be 0 if this MetaData object is not set up to validate an array of Object)- Returns:
- String; description of the argument
-
getObjectClass
Retrieve the java class of one element in the Object array.- Parameters:
index
- int; index of the element in the Object array (must be 0 if this MetaData object is not set up to validate an array of Object)- Returns:
- Class<?>; java class of the element
-
getObjectDescriptor
Select one of the ObjectDescriptors.- Parameters:
index
- int; index of the ObjectDescriptor (must be 0 in case this MetaData object is not set up to validate an array of Object)- Returns:
- ObjectDescriptor; the selected ObjectDescriptor
-
verifyComposition
Verify that an Object array has the prescribed composition.- Parameters:
objectArray
- Object[]; the Object array to verify. If the array is supposed to have 0 length, a null pointer is deemed OK.- Throws:
NullPointerException
- when the object array is null and the size of the object descriptors array is not 0 or 1IndexOutOfBoundsException
- when size of the object descriptors array is not equal to the size of the object arrayClassCastException
- when one of the objects is of the wrong class
-
verifyComposition
Verify that an Object has the prescribed composition. In order for one object to fit the metadata, the array of expected objects needs to have a length of 1.- Parameters:
object
- Object; the Object to verify.- Throws:
IndexOutOfBoundsException
- when size of the object descriptors array is not 1ClassCastException
- when the object is of the wrong class
-
hashCode
public int hashCode() -
equals
-
toString
-