aboutsummaryrefslogtreecommitdiffstats
path: root/config-model/src/main/java/com/yahoo/schema/derived/Exportable.java
blob: 4fccfb5d9f8e1831a488732b5fe77e1c3ac2d79e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.schema.derived;

/**
 * Classes exportable to configurations
 *
 * @author  bratseth
 */
public interface Exportable {

    /**
     * Exports the configuration of this object
     *
     *
     * @param  toDirectory the directory to export to, does not write to disk if null
     * @throws java.io.IOException if exporting fails, some files may still be created
     */
    public void export(String toDirectory) throws java.io.IOException;

    /**
     * The (short) name of the exported file
     * @return a String with the (short) name of the exported file
     */
    public String getFileName();

}