1 package org.opendaylight.controller.config.yangjmxgenerator.plugin.java;
3 import static com.google.common.base.Preconditions.checkNotNull;
5 import com.google.common.base.Optional;
6 import com.google.common.collect.Maps;
8 import java.io.IOException;
9 import java.util.Map.Entry;
10 import org.apache.commons.io.FileUtils;
11 import org.opendaylight.controller.config.yangjmxgenerator.plugin.util.StringUtil;
13 public class GeneratedObject {
15 private final FullyQualifiedName fqn;
16 private final String content;
18 public GeneratedObject(FullyQualifiedName fqn, String content) {
19 this.fqn = checkNotNull(fqn);
20 this.content = StringUtil.formatJavaSource(checkNotNull(content));
23 public FullyQualifiedName getFQN(){
27 public String getContent() {
31 public Optional<Entry<FullyQualifiedName,File>> persist(File srcDirectory, boolean overwrite) throws IOException {
32 File dstFile = fqn.toFile(srcDirectory);
33 if (overwrite == true || dstFile.exists() == false) {
34 FileUtils.write(dstFile, content);
35 return Optional.of(Maps.immutableEntry(fqn, dstFile));
37 return Optional.absent();
41 public Optional<Entry<FullyQualifiedName,File>> persist(File srcDirectory) throws IOException {
42 return persist(srcDirectory, true);
46 public String toString() {
47 return getClass().getSimpleName() + "{" +
53 public boolean equals(Object o) {
57 if (o == null || getClass() != o.getClass()) {
61 GeneratedObject that = (GeneratedObject) o;
63 if (!fqn.equals(that.fqn)) {
71 public int hashCode() {
72 return fqn.hashCode();