01: /*
02: * Licensed to the Apache Software Foundation (ASF) under one or more
03: * contributor license agreements. The ASF licenses this file to You
04: * under the Apache License, Version 2.0 (the "License"); you may not
05: * use this file except in compliance with the License.
06: * You may obtain a copy of the License at
07: *
08: * http://www.apache.org/licenses/LICENSE-2.0
09: *
10: * Unless required by applicable law or agreed to in writing, software
11: * distributed under the License is distributed on an "AS IS" BASIS,
12: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13: * See the License for the specific language governing permissions and
14: * limitations under the License. For additional information regarding
15: * copyright in this work, please see the NOTICE file in the top level
16: * directory of this distribution.
17: */
18:
19: package org.apache.roller.ui.core.plugins;
20:
21: /**
22: * Represents an editor for a WeblogEntry.
23: */
24: public interface WeblogEntryEditor {
25:
26: /**
27: * The unique identifier for this editor.
28: *
29: * It is important that each editor have a unique identifier. The id for
30: * the editor is how it will be tracked and associated with each weblog
31: * that is using it, so having 2 editors with the same id would cause some
32: * nasty problems. It is also preferable if the id not be a full class
33: * name because then if you ever want to refactor the location of the class
34: * then you have a problem, so just pick a simple unique name.
35: *
36: * @return The unique identifier for this WeblogEntryEditor.
37: */
38: public String getId();
39:
40: /**
41: * The display name for the editor, as seen by users.
42: *
43: * This is the name that users will see on the editors option list, so
44: * pick something that's easy for users to remember and recognize.
45: *
46: * It is also a good idea for the name to be internationalized if possible.
47: *
48: * @return The display name of this WeblogEntryEditor.
49: */
50: public String getName();
51:
52: /**
53: * The location of the jsp page inside the webapp that renders this editor.
54: *
55: * Example: /roller-ui/authoring/editors/editor-text.jsp
56: *
57: * @return The location of the jsp for this editor.
58: */
59: public String getJspPage();
60:
61: }
|