001: /*
002: * JFolder, Copyright 2001-2006 Gary Steinmetz
003: *
004: * Distributable under LGPL license.
005: * See terms of license at gnu.org.
006: */
007:
008: package org.jfolder.console.macro;
009:
010: //base classes
011: import java.util.HashMap;
012: import org.w3c.dom.Document;
013:
014: //project specific classes
015: import org.jfolder.common.UnexpectedSystemException;
016: import org.jfolder.common.tagging.BaseConceptTagPreferences;
017: import org.jfolder.common.tagging.ConceptTag;
018: import org.jfolder.common.tagging.ConceptTagCallContext;
019: import org.jfolder.common.tagging.ConceptTagMenuBranch;
020: import org.jfolder.common.tagging.ConceptTagPreferences;
021: import org.jfolder.common.tagging.ConceptTagPreferencesHelper;
022: import org.jfolder.common.tagging.ConceptTagProperties;
023: import org.jfolder.common.tagging.ConceptTagSetContext;
024: import org.jfolder.common.tagging.ConceptTagSetHolder;
025: import org.jfolder.common.tagging.DetermineClassConceptTagContext;
026: import org.jfolder.common.tagging.DetermineValueAndClassConceptTagContext;
027: import org.jfolder.common.tagging.InitializeConceptTagContext;
028: import org.jfolder.common.tagging.RootConceptTagHolder;
029:
030: //other classes
031:
032: public class ConsoleMacroTagPreferences extends
033: BaseConceptTagPreferences {
034:
035: //private final static String CMT_BASE_NAMESPACE =
036: // "http://www.jfolder.org/dtds/apps/console/config/";
037: //
038: //private final static String CMT_NAMESPACE_V1 =
039: // CMT_BASE_NAMESPACE + "v1/";
040: //private final static String CMT_NAMESPACE_V1_BASE =
041: // CMT_NAMESPACE_V1 + "base.dtd";
042: //private final static String CMT_NAMESPACE_V1_CORE =
043: // CMT_NAMESPACE_V1 + "core.dtd";
044: //private final static String CMT_NAMESPACE_V1_RETURNABLE =
045: // CMT_NAMESPACE_V1 + "returnable.dtd";
046: //
047: //private final static String CMT_NAME_V1_TEXT = "text";
048: //private final static String CMT_NAME_V1_COMPOUND = "compound";
049: //
050: //private final static String CMT_ATTR_V1_CONSTRAINT = "constraint";
051: //
052: //private final static String CMT_HANDLE_CONJUCTION = "$";
053: //
054: //private final static String ROOT_CONSTRAINT = "root";
055: //
056: //private final static String UNCONSTRAINED_SYMBOL = "@";
057:
058: //
059: private ConceptTagSetHolder ctsh = null;
060: //
061: private boolean validateOnlyMode = false;
062:
063: //
064: private RootConceptTagHolder rcth = null;
065:
066: //protected ConsoleConfigTagPreferences(ConceptTagSetContext inCtsc) {
067: public ConsoleMacroTagPreferences() {
068: //
069: this .ctsh = new ConceptTagSetHolder(getPreferencesHandle());
070: ConceptTagProperties ctProps = ConceptTagProperties
071: .newInstance(new String[0]);
072: this .ctsh
073: .registerConceptTag(
074: ConceptTagPreferencesHelper.CTP_PREF_NS__CONSOLE_MACRO__V1_BASE,
075: ConceptTagPreferencesHelper.CTP_PREF_ROOT_LOCAL_NAME__COMMON,
076: "org.jfolder.console.macro.v1.RootV1ConsoleMacroTag",
077: ctProps);
078: this .ctsh
079: .registerConceptTag(
080: ConceptTagPreferencesHelper.CTP_PREF_NS__CONSOLE_MACRO__V1_BASE,
081: "change-form-value",
082: "org.jfolder.console.macro.v1.ChangeFormValueConsoleMacroTag",
083: ctProps);
084: this .ctsh
085: .registerConceptTag(
086: ConceptTagPreferencesHelper.CTP_PREF_NS__CONSOLE_MACRO__V1_BASE,
087: "cursor-click",
088: "org.jfolder.console.macro.v1.CursorClickConsoleMacroTag",
089: ctProps);
090: this .ctsh
091: .registerConceptTag(
092: ConceptTagPreferencesHelper.CTP_PREF_NS__CONSOLE_MACRO__V1_BASE,
093: "submit-action",
094: "org.jfolder.console.macro.v1.SubmitActionConsoleMacroTag",
095: ctProps);
096: this .ctsh
097: .registerConceptTag(
098: ConceptTagPreferencesHelper.CTP_PREF_NS__CONSOLE_MACRO__V1_BASE,
099: "open-section-if-closed",
100: "org.jfolder.console.macro.v1.OpenSectionIfClosedConsoleMacroTag",
101: ctProps);
102: this .ctsh
103: .registerConceptTag(
104: ConceptTagPreferencesHelper.CTP_PREF_NS__CONSOLE_MACRO__V1_BASE,
105: "go-to-and-change-value",
106: "org.jfolder.console.macro.v1.GoToAndChangeValueConsoleMacroTag",
107: ctProps);
108: this .ctsh
109: .registerConceptTag(
110: ConceptTagPreferencesHelper.CTP_PREF_NS__CONSOLE_MACRO__V1_BASE,
111: "simple-click",
112: "org.jfolder.console.macro.v1.SimpleClickConsoleMacroTag",
113: ctProps);
114: this .ctsh
115: .registerConceptTag(
116: ConceptTagPreferencesHelper.CTP_PREF_NS__CONSOLE_MACRO__V1_BASE,
117: "go-to",
118: "org.jfolder.console.macro.v1.GoToConsoleMacroTag",
119: ctProps);
120: this .ctsh
121: .registerConceptTag(
122: ConceptTagPreferencesHelper.CTP_PREF_NS__CONSOLE_MACRO__V1_BASE,
123: "select-menu-item",
124: "org.jfolder.console.macro.v1.SelectMenuItemConsoleMacroTag",
125: ctProps);
126: this .ctsh
127: .registerConceptTag(
128: ConceptTagPreferencesHelper.CTP_PREF_NS__CONSOLE_MACRO__V1_BASE,
129: "creation-parameter",
130: "org.jfolder.console.macro.v1.CreationParameterConsoleMacroTag",
131: ctProps);
132: this .ctsh
133: .registerConceptTag(
134: ConceptTagPreferencesHelper.CTP_PREF_NS__CONSOLE_MACRO__V1_BASE,
135: "assign-static-value",
136: "org.jfolder.console.macro.v1.AssignStaticValueConsoleMacroTag",
137: ctProps);
138: //
139: this .ctsh
140: .registerConceptTag(
141: ConceptTagPreferencesHelper.CTP_PREF_NS__CONSOLE_MACRO__V1_BASE,
142: "rcth-constraint-builder",
143: "org.jfolder.console.macro.v1.RcthConstraintBuilderConsoleMacroTag",
144: ctProps);
145: this .ctsh
146: .registerConceptTag(
147: ConceptTagPreferencesHelper.CTP_PREF_NS__CONSOLE_MACRO__V1_BASE,
148: "rcth-leave",
149: "org.jfolder.console.macro.v1.RcthLeaveConsoleMacroTag",
150: ctProps);
151: this .ctsh
152: .registerConceptTag(
153: ConceptTagPreferencesHelper.CTP_PREF_NS__CONSOLE_MACRO__V1_BASE,
154: "rcth-save",
155: "org.jfolder.console.macro.v1.RcthSaveConsoleMacroTag",
156: ctProps);
157: //
158: this .validateOnlyMode = false;
159: }
160:
161: //
162: public void initialize(ConceptTagCallContext inCtcc) {
163: throw UnexpectedSystemException.notImplemented();
164: }
165:
166: //
167: public void bubba() {
168: throw UnexpectedSystemException.unknownState();
169: }
170:
171: //
172: public void setRootHolder(RootConceptTagHolder inRcth) {
173: if (this .rcth != null) {
174: throw new UnexpectedSystemException("Already set");
175: } else {
176: this .rcth = inRcth;
177: }
178: }
179:
180: public RootConceptTagHolder getRootHolder() {
181: return this .rcth;
182: }
183:
184: //
185: public boolean isStaticUsed() {
186: return true;
187: }
188:
189: public String getStaticNamespace() {
190: return ConceptTagPreferencesHelper.CTP_PREF_NS__COMMON_COMPONENTS__V1;
191: }
192:
193: public String getStaticName() {
194: return ConceptTagPreferencesHelper.CTP_PREF_STATIC_LOCAL_NAME__COMMON;
195: }
196:
197: //
198: public boolean isCompoundUsed() {
199: return true;
200: }
201:
202: public String getCompoundNamespace() {
203: return ConceptTagPreferencesHelper.CTP_PREF_NS__COMMON_COMPONENTS__V1;
204: }
205:
206: public String getCompoundName() {
207: return ConceptTagPreferencesHelper.CTP_PREF_COMPOUND_LOCAL_NAME__COMMON;
208: }
209:
210: //
211: public boolean isNonTerminalCharacterDataStripped() {
212: return true;
213: }
214:
215: //
216: public boolean isConstraintUsed() {
217: return true;
218: }
219:
220: public String getConstraintNamespace() {
221: return ConceptTagPreferencesHelper.CTP_PREF_NS__COMMON_COMPONENTS__V1;
222: }
223:
224: public String getConstraintName() {
225: return ConceptTagPreferencesHelper.CTP_PREF_CONSTRAINT_LOCAL_NAME__COMMON;
226: }
227:
228: //
229: public boolean isStyleUsed() {
230: return false;
231: }
232:
233: public String getStyleNamespace() {
234: return null;
235: }
236:
237: public String getStyleName() {
238: return null;
239: }
240:
241: //
242: public boolean isUnconstrainedAllowed() {
243: return false;
244: }
245:
246: public String getUnconstrainedSymbol() {
247: return ConceptTagPreferencesHelper.CTP_PREF_UNCONSTRAINED_SYMBOL_COMMON;
248: }
249:
250: //
251: public String getRootConstraint() {
252: return ConceptTagPreferencesHelper.CTP_PREF_ROOT_CONSTRAINT__COMMON;
253: }
254:
255: public String getRootHandle() {
256: return (getRootConstraint() + getHandleConjunction() + "0");
257: }
258:
259: //
260: public String getHandleConjunction() {
261: return ConceptTagPreferencesHelper.CTP_PREF_HANDLE_CONJUNCTION__COMMON;
262: }
263:
264: //
265: public ConceptTagSetHolder getSetHolder() {
266:
267: ConceptTagSetHolder outValue = null;
268:
269: outValue = this .ctsh;
270:
271: return outValue;
272: }
273:
274: public ConceptTagMenuBranch getMenuBase() {
275: throw UnexpectedSystemException.notImplemented();
276: }
277:
278: //
279: public String getRootClassName() {
280: return ("org.jfolder.console.macro.v1.RootV1ConsoleMacroTag");
281: }
282:
283: //
284: public InitializeConceptTagContext getInitializeContext() {
285: return new InitializeConsoleMacroTagContext(this );
286: }
287:
288: public DetermineClassConceptTagContext getReturnClassContext() {
289: throw UnexpectedSystemException.notImplemented();
290: }
291:
292: public DetermineValueAndClassConceptTagContext getDetermineValueAndClassContext() {
293: throw UnexpectedSystemException.notImplemented();
294: }
295:
296: //
297: public ConceptTag createUnknownConceptTag(String inNs, String inName) {
298:
299: throw new UnexpectedSystemException("Unknown Script Tag - "
300: + "Namespace = ('" + inNs + "'), Name = ('" + inName
301: + "')");
302: }
303:
304: public HashMap getDefaultNamespaceAssignments() {
305: return new HashMap();
306: }
307:
308: public String getAttributeConstraintName() {
309: return ConceptTagPreferencesHelper.CTP_PREF_ATTRIBUTE_LOCAL_NAME__COMMON;
310: }
311:
312: public String getStyleConstraintName() {
313: return ConceptTagPreferencesHelper.CTP_PREF_STYLE_LOCAL_NAME__COMMON;
314: }
315:
316: //
317: public void setValidateOnlyMode(boolean inMode) {
318: this .validateOnlyMode = inMode;
319: }
320:
321: public boolean isValidateOnlyMode() {
322: return this .validateOnlyMode;
323: }
324:
325: //
326: public boolean isAttributeAndStyleForbidden() {
327: return true;
328: }
329:
330: //public boolean isGeneralContentForbidden() {
331: // return true;
332: //}
333: //
334: public void correctForSpecialCharactersAndElements(Document inDoc) {
335: //no corrections needed
336: }
337:
338: //
339: public boolean isFileSystemPresent() {
340: return true;
341: }
342:
343: public String getPreferencesHandle() {
344: return ConceptTagPreferencesHelper.CTP_PREF_HANDLE__CONSOLE_MACRO;
345: }
346: }
|