private void addDocumentProxy(final Builder builder, final Method method, final PropertyKey key) { final DocumentMetaDataProxy proxy = new MetaInfDocumentMetaDataProxy(key, context, method); builder.with(proxy); }
@Override public PropertySetProjectdoc getProjectdocPropertySet( final PropertyDescriptor descriptor, final Locale locale) { synchronized (propertySetMetaData) { PropertySetProjectdoc metaData = propertySetMetaData.get(locale); if (metaData == null) { final Method propertyMethod = this.propertyMethod.getMethod(); ensureMethodPresent(propertyMethod); if (context != null) { final Defaults defaults = PropertyMetaDataDefaults.propertySet(propertyMethod); final PropertySetProjectdocParser parser = new PropertySetProjectdocParser(context, defaults); metaData = parser.parse(descriptor, locale); } if (metaData == null) { metaData = new PropertySetProjectdoc(); } this.propertySetMetaData.put(locale, metaData); } return metaData; } }
/** * Default constructor. * * @param key the property key to the method. * @param context the properties context to fetch information from the * <code>META-INF</code> folder. May be <code>null</code>. * @param propertyMethod the method to use to fetch annotations in case the * context is not to be used. * @throws NullPointerException if {@code key} or {@code propertyMethod} is * {@code null}. */ public MetaInfDocumentMetaDataProxy(final PropertyKey key, final PropertiesContext context, final Method propertyMethod) throws NullPointerException { Arg.checkNotNull("key", key); this.context = context; this.propertyMethod = new SerializableMethod(Arg.checkNotNull("propertyMethod", propertyMethod)); this.documentName = calculateDocumentName(key, propertyMethod); }