E
- The type of this code list.public abstract class CodeList<E extends CodeList<E>> extends Object implements Comparable<E>, Serializable
values()
method which returns
all CodeList
element in an array of the appropriate class. Code list are extensible, i.e.
invoking the public constructor in any subclass will automatically add the newly created CodeList
element in the array to be returned by values()
.Modifier | Constructor and Description |
---|---|
protected |
CodeList(String name,
Collection<E> values)
Creates a new code list element and add it to the given collection.
|
Modifier and Type | Method and Description |
---|---|
int |
compareTo(E other)
Compares this code with the specified object for order.
|
boolean |
equals(Object object)
Compares the specified object with this code list for equality.
|
abstract E[] |
family()
Returns the list of codes of the same kind than this code.
|
String |
identifier()
Returns the identifier declared in the
UML annotation, or null if none. |
boolean |
matches(String name)
Returns
true if the given name matches the name, identifier or any other identification string of this code list element. |
String |
name()
Returns the name of this code list constant.
|
int |
ordinal()
Returns the ordinal of this code constant.
|
protected Object |
readResolve()
Resolves the code list to an unique instance after deserialization.
|
String |
toString()
Returns a string representation of this code list.
|
static <T extends CodeList> |
valueOf(Class<T> codeType,
String name)
Returns the code of the given type that matches the given name, or returns a new one if none
match it.
|
protected CodeList(String name, Collection<E> values)
ArrayList
for the values
argument.
This list is used for values()
method implementations.name
- The code name.values
- The collection to add the element to.public static <T extends CodeList> T valueOf(Class<T> codeType, String name)
matches(name)
returned true
. If no such element is
found, then a new instance is created using the constructor expecting a single String
argument.T
- The compile-time type given as the codeType
parameter.codeType
- The type of code list.name
- The name of the code to obtain.public final int ordinal()
public String identifier()
UML
annotation, or null
if none. The
UML identifier shall be the ISO or OGC name for this code constant.null
if none.public final String name()
public boolean matches(String name)
true
if the given name matches the name, identifier or any other identification string of this code list element. The
comparison is case-insensitive.name
- The name to check.true
if the given name matches the code name or identifier.public abstract E[] family()
public final int compareTo(E other)
Code list constants are only comparable to other code list constants of the same type. The natural order implemented by this method is the order in which the constants are declared.
compareTo
in interface Comparable<E extends CodeList<E>>
other
- The code constant to compare with this code.public final boolean equals(Object object)
compareTo(E)
method.
Ordinal values are unique for each code list element of the same class.public String toString()
protected Object readResolve() throws ObjectStreamException
ObjectStreamException
- if the deserialization failed.Copyright © 1996–2019 Geotools. All rights reserved.