本文整理了Java中org.opengis.annotation.UML.identifier()
方法的一些代码示例,展示了UML.identifier()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。UML.identifier()
方法的具体详情如下:
包路径:org.opengis.annotation.UML
类名称:UML
方法名:identifier
暂无
代码示例来源:origin: geotools/geotools
final UML annotation = field.getAnnotation(UML.class);
if (annotation != null) {
identifier = annotation.identifier();
代码示例来源:origin: geotools/geotools
final UML annotation = getter.getAnnotation(UML.class);
if (annotation != null) {
addMapping(annotation.identifier(), index);
代码示例来源:origin: opengeospatial/geoapi
/**
* Returns the {@code identifier()} value of the given annotation or {@code null} if none or empty.
*/
private static String identifier(final UML uml) {
if (uml != null) {
final String id = uml.identifier();
if (!id.isEmpty()) return id;
}
return null;
}
代码示例来源:origin: opengeospatial/geoapi
/**
* Returns {@code true} if the given property shall be ignored.
*/
private boolean isIgnored(final Class<?> type, final UML property) {
final Set<String> properties = ignore.get(type);
return (properties != null) && properties.contains(property.identifier());
}
代码示例来源:origin: org.apache.sis.core/sis-metadata
/**
* Returns the table name for the specified class.
* This is usually the ISO 19115 name.
*/
static String getTableName(final Class<?> type) {
final UML annotation = type.getAnnotation(UML.class);
if (annotation == null) {
return type.getSimpleName();
}
final String name = annotation.identifier();
return name.substring(name.lastIndexOf('.') + 1);
}
代码示例来源:origin: opengeospatial/geoapi
/**
* Returns a string representation for this metadata handler. This method format the
* ISO/OGC identifier of the metadata type followed by the string representation of
* the attributes map.
*/
@Override
public String toString() {
String name = null;
final UML uml = type.getAnnotation(UML.class);
if (uml != null) {
name = uml.identifier();
}
if (name == null || ((name.trim()).isEmpty())) {
name = type.getSimpleName();
}
return name + attributes;
}
代码示例来源:origin: org.geotoolkit/geotk-metadata
/**
* Creates a description map for the specified accessor.
*
* @param accessor The accessor to use for the metadata.
* @param packageBase The base package of interfaces. Must end with {@code '.'}.
* @param locale Determines the locale of values in this map.
* @param keyNames Determines the string representation of keys in the map.
* @throws MissingResourceException If no resource bundle is found.
*/
DescriptionMap(final PropertyAccessor accessor, final String packageBase,
final Locale locale, final KeyNamePolicy keyNames) throws MissingResourceException
{
super(accessor, keyNames);
final Class<?> type = accessor.type;
final UML uml = type.getAnnotation(UML.class);
classname = (uml != null) ? uml.identifier() : type.getSimpleName();
descriptions = ResourceBundle.getBundle(packageBase + "Descriptions", locale);
}
代码示例来源:origin: apache/sis
final UML uml = type.getAnnotation(UML.class);
if (uml != null) {
final String id = uml.identifier();
if (id != null && !id.isEmpty()) {
代码示例来源:origin: apache/sis
/**
* Returns the table name for the specified class. This is usually the ISO 19115 name,
* but we fallback on the simple class name if the ISO name is not available.
* The package prefix is omitted (e.g. {@code "CI_"} in {@code "CI_Citation"}
* since newer ISO standards tend to drop it.
*/
static String getTableName(final Class<?> type) {
final UML annotation = type.getAnnotation(UML.class);
if (annotation == null) {
return type.getSimpleName();
}
final String name = annotation.identifier();
int s = name.lastIndexOf('.') + 1;
/*
* Drop package prefix if present (e.g. "CI_" in "CI_Citation").
*/
if (name.length() > s+3 && name.charAt(s+2) == '_' && Character.isUpperCase(name.charAt(1))) {
s += 3;
}
return name.substring(s);
}
代码示例来源:origin: org.geotoolkit/geotk-metadata
/**
* Returns the resource key for the given property index.
*/
final String key(final int index) {
String base = classname;
final Class<?> decl = accessor.getDeclaringClass(index);
if (decl != null) {
final UML uml = decl.getAnnotation(UML.class);
base = (uml != null) ? uml.identifier() : decl.getSimpleName();
}
return base + '.' + accessor.name(index, KeyNamePolicy.UML_IDENTIFIER);
}
代码示例来源:origin: org.geotoolkit/geotk-metadata
/**
* Compares the given methods for order.
*/
@Override
public int compare(final Method m1, final Method m2) {
final UML a1 = m1.getAnnotation(UML.class);
final UML a2 = m2.getAnnotation(UML.class);
if (a1 != null) {
if (a2 == null) return +1; // Sort annotated elements first.
int c = order(a1) - order(a2); // Mandatory elements must be first.
if (c == 0) {
// Fallback on alphabetical order.
c = a1.identifier().compareToIgnoreCase(a2.identifier());
}
return c;
} else if (a2 != null) {
return -1; // Sort annotated elements first.
}
// Fallback on alphabetical order.
return m1.getName().compareToIgnoreCase(m2.getName());
}
代码示例来源:origin: org.geotoolkit/geotk-metadata
final UML uml = getters[index].getAnnotation(UML.class);
if (uml != null) {
return uml.identifier();
代码示例来源:origin: apache/sis
if (uml == null || (index = order.get(uml.identifier())) == null) {
index = -1;
代码示例来源:origin: apache/sis
/**
* Returns the title of the given enumeration or code list value.
*
* @param code the code for which to get the title.
* @param locale desired locale for the title.
* @return the title.
*
* @see org.apache.sis.util.iso.Types#getCodeTitle(CodeList)
*/
public String getCodeTitle(final CodeList<?> code, final Locale locale) {
/*
* Following code reproduces the work done by org.apache.sis.util.iso.Types.getCodeList(…)
* with less handling of special cases. It is executed only if the sis-metadata module is
* not on the classpath, otherwise the sis-metadata implementation will be used.
*/
final UML uml = code.getClass().getAnnotation(UML.class);
if (uml != null) try {
return ResourceBundle.getBundle(CodeLists.RESOURCES, locale, UML.class.getClassLoader())
.getString(uml.identifier() + '.' + code.identifier());
} catch (MissingResourceException e) {
/*
* Ignore. The reason for not finding the resource may because of above code not covering enough cases.
* Usually the sis-metadata module will be present on the classpath, in which case this implementation
* will not be used. We need just enough code for allowing sis-utility tests to pass.
*/
}
return CharSequences.camelCaseToSentence(code.identifier()).toString();
}
代码示例来源:origin: apache/sis
/**
* Returns the name of the XML root element for an interface described by the given UML.
* The default implementation returns {@link UML#identifier()}, possibly with {@code "Abstract"} prepended.
* Subclasses shall override this method when mismatches are known to exist between the UML and XML element names.
*
* @param uml the UML of the interface for which to get the corresponding XML root element name.
* @return the name of the XML root element for the given UML.
*
* @see #testImplementationAnnotations()
*
* @deprecated the complete function is available only on development branch because it depends on GeoAPI 3.1.
*/
@Deprecated
protected String getExpectedXmlRootElementName(final UML uml) {
String name = uml.identifier();
switch (name) {
// This case can be removed if https://issues.apache.org/jira/browse/SIS-398 is fixed.
case "MI_PolarizationOrientationCode": name = "MI_PolarisationOrientationCode"; break;
}
return name;
}
代码示例来源:origin: org.apache.sis.core/sis-metadata
/**
* Compares the given methods for order.
*/
@Override
public int compare(final Method m1, final Method m2) {
final boolean deprecated = isDeprecated(implementation, m1);
if (deprecated != isDeprecated(implementation, m2)) {
return deprecated ? +1 : -1;
}
int c = indexOf(m2) - indexOf(m1); // indexOf(…) are sorted in descending order.
if (c == 0) {
final UML a1 = m1.getAnnotation(UML.class);
final UML a2 = m2.getAnnotation(UML.class);
if (a1 != null) {
if (a2 == null) return +1; // Sort annotated elements first.
c = order(a1) - order(a2); // Mandatory elements must be first.
if (c == 0) {
// Fallback on alphabetical order.
c = a1.identifier().compareToIgnoreCase(a2.identifier());
}
return c;
} else if (a2 != null) {
return -1; // Sort annotated elements first.
}
c = m1.getName().compareToIgnoreCase(m2.getName()); // Fallback on alphabetical order.
}
return c;
}
代码示例来源:origin: apache/sis
/**
* Compares the given methods for order.
*/
@Override
public int compare(final Method m1, final Method m2) {
final boolean deprecated = isDeprecated(implementation, m1);
if (deprecated != isDeprecated(implementation, m2)) {
return deprecated ? +1 : -1;
}
int c = indexOf(m2) - indexOf(m1); // indexOf(…) are sorted in descending order.
if (c == 0) {
final UML a1 = m1.getAnnotation(UML.class);
final UML a2 = m2.getAnnotation(UML.class);
if (a1 != null) {
if (a2 == null) return +1; // Sort annotated elements first.
c = order(a1) - order(a2); // Mandatory elements must be first.
if (c == 0) {
// Fallback on alphabetical order.
c = a1.identifier().compareToIgnoreCase(a2.identifier());
}
return c;
} else if (a2 != null) {
return -1; // Sort annotated elements first.
}
c = m1.getName().compareToIgnoreCase(m2.getName()); // Fallback on alphabetical order.
}
return c;
}
代码示例来源:origin: opengeospatial/geoapi
/**
* Returns the type definitions for the given class. This convenience method compute a XML name from
* the annotations attached to the given type, then delegates to {@link #getTypeDefinition(String)}.
*
* @param type the GeoAPI interface (e.g. {@link org.opengis.metadata.Metadata}), or {@code null}.
* @return all properties for the given class in declaration order, or {@code null} if unknown.
*/
public Map<String,Element> getTypeDefinition(final Class<?> type) {
if (type != null) {
final UML uml = type.getAnnotation(UML.class);
if (uml != null) {
final Classifier c = type.getAnnotation(Classifier.class);
boolean applySpellingChange = false;
do { // Will be executed 1 or 2 times only.
String name = uml.identifier();
if (applySpellingChange) {
name = departures.spellingChanges.get(name);
if (name == null) break;
}
if (c != null && Stereotype.ABSTRACT.equals(c.value())) {
name = "Abstract" + name;
}
Map<String,Element> def = getTypeDefinition(name);
if (def != null) return def;
} while ((applySpellingChange = !applySpellingChange));
}
}
return null;
}
代码示例来源:origin: apache/sis
/**
* Returns the name of the XML type for an interface described by the given UML.
* For example in ISO 19115-3, the XML type of {@code CI_Citation} is {@code CI_Citation_Type}.
* The default implementation returns {@link UML#identifier()}, possibly with {@code "Abstract"} prepended,
* and unconditionally with {@code "_Type"} appended.
* Subclasses shall override this method when mismatches are known to exist between the UML and XML type names.
*
* @param uml the UML of the interface for which to get the corresponding XML type name.
* @return the name of the XML type for the given element, or {@code null} if none.
*
* @see #testImplementationAnnotations()
*
* @deprecated the complete function is available only on development branch because it depends on GeoAPI 3.1.
*/
@Deprecated
protected String getExpectedXmlTypeName(final UML uml) {
final String rootName = uml.identifier();
final StringBuilder buffer = new StringBuilder(rootName.length() + 13);
return buffer.append(rootName).append("_Type").toString();
}
代码示例来源:origin: apache/sis
'.' + type.getAnnotation(UML.class).identifier();
final Class<?> wrapper = Class.forName(classname);
内容来源于网络,如有侵权,请联系作者删除!