org.springframework.ldap.odm.annotations.Attribute Java Examples
The following examples show how to use
org.springframework.ldap.odm.annotations.Attribute.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: AttributeMetaData.java From spring-ldap with Apache License 2.0 | 5 votes |
private boolean processAttributeAnnotation(Field field) { // Default to no syntax specified syntax = ""; // Default to a String based attribute isBinary = false; // Default name of attribute to the name of the field name = new CaseIgnoreString(field.getName()); // We have not yet found the @Attribute annotation boolean foundAnnotation=false; // Grab the @Attribute annotation Attribute attribute = field.getAnnotation(Attribute.class); List<String> attrList = new ArrayList<String>(); // Did we find the annotation? if (attribute != null) { // Pull attribute name, syntax and whether attribute is binary // from the annotation foundAnnotation=true; String localAttributeName = attribute.name(); // Would be more efficient to use !isEmpty - but that then makes us Java 6 dependent if (localAttributeName != null && localAttributeName.length()>0) { name = new CaseIgnoreString(localAttributeName); attrList.add(localAttributeName); } syntax = attribute.syntax(); isBinary = attribute.type() == Attribute.Type.BINARY; isReadOnly = attribute.readonly(); } attributes = attrList.toArray(new String[attrList.size()]); isObjectClass=name.equals(OBJECT_CLASS_ATTRIBUTE_CI); return foundAnnotation; }
Example #2
Source File: AttributeMetaData.java From spring-ldap with Apache License 2.0 | 5 votes |
public AttributeMetaData(Field field) { this.field=field; this.dnAttribute = field.getAnnotation(DnAttribute.class); if(this.dnAttribute != null && !field.getType().equals(String.class)) { throw new MetaDataException(String.format("%s is of type %s, but only String attributes can be declared as @DnAttributes", field.toString(), field.getType().toString())); } Transient transientAnnotation = field.getAnnotation(Transient.class); if(transientAnnotation != null) { this.isTransient = true; return; } // Reflection data determineFieldType(field); // Data from the @Attribute annotation boolean foundAttributeAnnotation=processAttributeAnnotation(field); // Data from the @Id annotation boolean foundIdAnnoation=processIdAnnotation(field, valueClass); // Check that the field has not been annotated with both @Attribute and with @Id if (foundAttributeAnnotation && foundIdAnnoation) { throw new MetaDataException( String.format("You may not specifiy an %1$s annoation and an %2$s annotation on the same field, error in field %3$s in Entry class %4$s", Id.class, Attribute.class, field.getName(), field.getDeclaringClass())); } // If this is the objectclass attribute then it must be of type List<String> if (isObjectClass() && (!isCollection() || valueClass!=String.class)) { throw new MetaDataException(String.format("The type of the objectclass attribute must be List<String> in classs %1$s", field.getDeclaringClass())); } }