View Javadoc
1   /*
2    * #%L
3    * wcm.io
4    * %%
5    * Copyright (C) 2024 wcm.io
6    * %%
7    * Licensed under the Apache License, Version 2.0 (the "License");
8    * you may not use this file except in compliance with the License.
9    * You may obtain a copy of the License at
10   *
11   *      http://www.apache.org/licenses/LICENSE-2.0
12   *
13   * Unless required by applicable law or agreed to in writing, software
14   * distributed under the License is distributed on an "AS IS" BASIS,
15   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16   * See the License for the specific language governing permissions and
17   * limitations under the License.
18   * #L%
19   */
20  package io.wcm.handler.mediasource.ngdm.impl.metadata;
21  
22  import org.jetbrains.annotations.NotNull;
23  import org.jetbrains.annotations.Nullable;
24  
25  import io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaReference;
26  
27  /**
28   * Fetches metadata for Next Gen Dynamic Media assets via the HTTP API.
29   */
30  public interface NextGenDynamicMediaMetadataService {
31  
32    /**
33     * @return true if metadata fetching is enabled.
34     */
35    boolean isEnabled();
36  
37    /**
38     * Fetch asset metadata.
39     * @param reference Asset reference
40     * @return Asset metadata or null if not available
41     */
42    @Nullable
43    NextGenDynamicMediaMetadata fetchMetadata(@NotNull NextGenDynamicMediaReference reference);
44  
45  }