1 /* ====================================================================
2 * Bigyo Software License, version 1.1
3 *
4 * Copyright (c) 2004, Zsombor Gegesy. All rights reserved.
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 *
9 * 1. Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11 *
12 * 2. Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in
14 * the documentation and/or other materials provided with the
15 * distribution.
16 *
17 * 3. Neither the name of the Bigyo Group nor the name "Bigyo" nor
18 * the names of its contributors may be used to endorse or promote
19 * products derived from this software without specific prior
20 * written permission.
21 *
22 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
23 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
24 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
25 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
26 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
27 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
28 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
29 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
30 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
31 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
32 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
33 * POSSIBILITY OF SUCH DAMAGE.
34 *
35 * ====================================================================
36 */
37
38 package net.sf.bigyo.container;
39
40 import java.io.File;
41 import net.sf.bigyo.model.ComponentConfig;
42
43
44 /***
45 * Created on 2004.08.08.
46 * @author zsombor
47 *
48 * Created at 16:46:09 net.sf.bigyo.container.PersistedComponentConfig
49 *
50 */
51 class PersistedComponentConfig {
52
53 File file;
54 ComponentConfig config;
55 long lastModified;
56
57 /***
58 * @param file
59 * @param config
60 */
61 PersistedComponentConfig(File file, ComponentConfig config) {
62 this.file = file;
63 this.config = config;
64 this.lastModified = file.lastModified();
65 }
66
67 public boolean isModifiedSince() {
68 long newModified = file.lastModified();
69 if (newModified != lastModified) {
70 lastModified = newModified;
71 return true;
72 }
73 return false;
74 }
75
76 /***
77 * @return Returns the config.
78 */
79 public ComponentConfig getConfig() {
80 return config;
81 }
82
83 /***
84 * @param config
85 * The config to set.
86 */
87 public void setConfig(ComponentConfig config) {
88 this.config = config;
89 }
90
91 public boolean createBackup() {
92 //File parent = file.getParentFile();
93 int i = 1;
94 while (true) {
95 File f = new File(file.getAbsolutePath() + '.' + i);
96 if (!f.exists()) {
97 return file.renameTo(f);
98 }
99 i++;
100 }
101 }
102
103 /***
104 * @return Returns the file.
105 */
106 public File getFile() {
107 return file;
108 }
109 }
This page was automatically generated by Maven