KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > directory > ldapstudio > browser > ui > views > modificationlogs > OlderAction


1 /*
2  * Licensed to the Apache Software Foundation (ASF) under one
3  * or more contributor license agreements. See the NOTICE file
4  * distributed with this work for additional information
5  * regarding copyright ownership. The ASF licenses this file
6  * to you under the Apache License, Version 2.0 (the
7  * "License"); you may not use this file except in compliance
8  * with the License. You may obtain a copy of the License at
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing,
13  * software distributed under the License is distributed on an
14  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15  * KIND, either express or implied. See the License for the
16  * specific language governing permissions and limitations
17  * under the License.
18  *
19  */

20
21 package org.apache.directory.ldapstudio.browser.ui.views.modificationlogs;
22
23
24 import java.io.File JavaDoc;
25
26 import org.apache.directory.ldapstudio.browser.common.actions.BrowserAction;
27 import org.apache.directory.ldapstudio.browser.ui.BrowserUIConstants;
28 import org.apache.directory.ldapstudio.browser.ui.BrowserUIPlugin;
29 import org.eclipse.jface.resource.ImageDescriptor;
30
31
32 /**
33  * Action to switch to an older logfile.
34  *
35  * @author <a HREF="mailto:dev@directory.apache.org">Apache Directory Project</a>
36  * @version $Rev$, $Date$
37  */

38 public class OlderAction extends BrowserAction
39 {
40
41     /** The modification logs view. */
42     private ModificationLogsView view;
43
44
45     /**
46      * Creates a new instance of OlderAction.
47      *
48      * @param view the modification logs view
49      */

50     public OlderAction( ModificationLogsView view )
51     {
52         this.view = view;
53     }
54
55
56     /**
57      * {@inheritDoc}
58      */

59     public void dispose()
60     {
61         super.dispose();
62     }
63
64
65     /**
66      * {@inheritDoc}
67      */

68     public void run()
69     {
70         ModificationLogsViewInput oldInput = ( ModificationLogsViewInput ) getInput();
71         ModificationLogsViewInput newInput = new ModificationLogsViewInput( oldInput.getConnection(), oldInput
72             .getIndex() + 1 );
73         view.getUniversalListener().setInput( newInput );
74         view.getUniversalListener().scrollToNewest();
75     }
76
77
78     /**
79      * {@inheritDoc}
80      */

81     public String JavaDoc getText()
82     {
83         return "Older";
84     }
85
86
87     /**
88      * {@inheritDoc}
89      */

90     public ImageDescriptor getImageDescriptor()
91     {
92         return BrowserUIPlugin.getDefault().getImageDescriptor( BrowserUIConstants.IMG_PREVIOUS );
93     }
94
95
96     /**
97      * {@inheritDoc}
98      */

99     public String JavaDoc getCommandId()
100     {
101         return null;
102     }
103
104
105     /**
106      * {@inheritDoc}
107      */

108     public boolean isEnabled()
109     {
110         if ( getInput() != null && ( getInput() instanceof ModificationLogsViewInput ) )
111         {
112             ModificationLogsViewInput input = ( ModificationLogsViewInput ) getInput();
113             File JavaDoc[] files = input.getConnection().getModificationLogger().getFiles();
114             int i = input.getIndex() + 1;
115             if ( 0 <= i && i < files.length && files[i] != null && files[i].exists() && files[i].canRead() )
116             {
117                 return true;
118             }
119         }
120
121         return false;
122     }
123
124 }
125
Popular Tags