org.odftoolkit.odfdom.changes.FieldMap Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of odfdom-java Show documentation
Show all versions of odfdom-java Show documentation
ODFDOM is an OpenDocument Format (ODF) framework. Its purpose
is to provide an easy common way to create, access and
manipulate ODF files, without requiring detailed knowledge of
the ODF specification. It is designed to provide the ODF
developer community with an easy lightwork programming API
portable to any object-oriented language.
The current reference implementation is written in Java.
/*
* Copyright 2012 The lApache Software Foundation.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.odftoolkit.odfdom.changes;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
class FieldMap {
public static final long PROP_FIXED = 1;
public static final long PROP_DATEVALUE = 1 << 1;
public static final long PROP_TIMESTYLE = 1 << 2;
public static final long PROP_DATEFORMAT = 1 << 3;
public static final long PROP_LOCALE = 1 << 4;
public static final long PROP_DBNAME = 1 << 5;
public static final long PROP_DBTABLE = 1 << 6;
public static final long PROP_TABLETYPE = 1 << 7;
public static final long PROP_DBCOLUMN = 1 << 8;
public static final long PROP_DISPLAY = 1 << 9;
public static final long PROP_REFFORMAT = 1 << 10;
public static final long PROP_REFNAME = 1 << 11;
public static final long PROP_OUTLINELEVEL = 1 << 12;
public static final long PROP_PAGENUMFORMAT = 1 << 13;
public static final long PROP_NUMLETTERSYNC = 1 << 14;
public static final long PROP_CONDITION = 1 << 15;
public static final long PROP_CURRENTVALUE = 1 << 16;
public static final long PROP_FALSEVALUE = 1 << 17;
public static final long PROP_TRUEVALUE = 1 << 18;
public static final long PROP_T_VALUE = 1 << 19; // text:value
public static final long PROP_CONNECTIONNAME = 1 << 20;
public static final long PROP_DURATION = 1 << 21;
public static final long PROP_NAME = 1 << 22;
public static final long PROP_BOOLVALUE = 1 << 23;
public static final long PROP_CURRENCY = 1 << 24;
public static final long PROP_STRINGVALUE = 1 << 25;
public static final long PROP_TIMEVALUE = 1 << 26;
public static final long PROP_VALUETYPE = 1 << 27;
public static final long PROP_FORMULA = 1 << 28;
public static final long PROP_ISHIDDEN = 1 << 29;
public static final long PROP_O_VALUE = 1 << 30; // office:value
public static final long PROP_ID = 1 << 31;
public static final long PROP_DESCRIPTION = 1 << 32;
public static final long PROP_ACTIVE = 1 << 33;
public static final long PROP_HREF = 1 << 34;
public static final long PROP_PLACEHOLDERTYPE = 1 << 35;
public static final long PROP_KIND = 1 << 36;
public static final long PROP_LANGUAGE = 1 << 37;
public static final long PROP_LINKTYPE = 1 << 38;
public static final long PROP_NUMFORMAT = 1 << 39;
public static final long PROP_PAGEADJUST = 1 << 40;
public static final long PROP_ROWNUMBER = 1 << 41;
// public static final long = 1<< 42;
public String type;
private final String className;
private final long propertyFlags;
public static final Map fieldMap = createMap();
public FieldMap(String t, String c, long flags) {
type = t;
className = c;
propertyFlags = flags;
}
public String getClassName() {
return "org.odftoolkit.odfdom.dom.element.text." + className;
}
public boolean hasFixed() {
return (propertyFlags & PROP_FIXED) != 0;
}
public boolean hasDateValue() {
return (propertyFlags & PROP_DATEVALUE) != 0;
}
public boolean hasTimeStyle() {
return (propertyFlags & PROP_TIMESTYLE) != 0;
}
public boolean hasDateFormat() {
return (propertyFlags & PROP_DATEFORMAT) != 0;
}
public boolean hasLocale() {
return (propertyFlags & PROP_LOCALE) != 0;
}
public boolean hasdbName() {
return (propertyFlags & PROP_DBNAME) != 0;
}
public boolean hasdbTable() {
return (propertyFlags & PROP_DBTABLE) != 0;
}
public boolean hasTableType() {
return (propertyFlags & PROP_TABLETYPE) != 0;
}
public boolean hasdbColumn() {
return (propertyFlags & PROP_DBCOLUMN) != 0;
}
public boolean hasDisplay() {
return (propertyFlags & PROP_DISPLAY) != 0;
}
public boolean hasRefFormat() {
return (propertyFlags & PROP_REFFORMAT) != 0;
}
public boolean hasRefName() {
return (propertyFlags & PROP_REFNAME) != 0;
}
public boolean hasOutlinelevel() {
return (propertyFlags & PROP_OUTLINELEVEL) != 0;
}
public boolean hasPageNumFormat() {
return (propertyFlags & PROP_PAGENUMFORMAT) != 0;
}
public boolean hasNumLetterSync() {
return (propertyFlags & PROP_NUMLETTERSYNC) != 0;
}
public boolean hasCondition() {
return (propertyFlags & PROP_CONDITION) != 0;
}
public boolean hasCurrentValue() {
return (propertyFlags & PROP_CURRENTVALUE) != 0;
}
public boolean hasFalseValue() {
return (propertyFlags & PROP_FALSEVALUE) != 0;
}
public boolean hasTrueValue() {
return (propertyFlags & PROP_TRUEVALUE) != 0;
}
public boolean hasConnectionName() {
return (propertyFlags & PROP_CONNECTIONNAME) != 0;
}
public boolean hasDuration() {
return (propertyFlags & PROP_DURATION) != 0;
}
public boolean hasName() {
return (propertyFlags & PROP_NAME) != 0;
}
public boolean hasBoolValue() {
return (propertyFlags & PROP_BOOLVALUE) != 0;
}
public boolean hasCurrency() {
return (propertyFlags & PROP_CURRENCY) != 0;
}
public boolean hasStringValue() {
return (propertyFlags & PROP_STRINGVALUE) != 0;
}
public boolean hasTimeValue() {
return (propertyFlags & PROP_TIMEVALUE) != 0;
}
public boolean hasTValue() {
return (propertyFlags & PROP_T_VALUE) != 0;
}
public boolean hasOValue() {
return (propertyFlags & PROP_O_VALUE) != 0;
}
public boolean hasValueType() {
return (propertyFlags & PROP_VALUETYPE) != 0;
}
public boolean hasFormula() {
return (propertyFlags & PROP_FORMULA) != 0;
}
public boolean hasIsHidden() {
return (propertyFlags & PROP_ISHIDDEN) != 0;
}
public boolean hasId() {
return (propertyFlags & PROP_ID) != 0;
}
public boolean hasDescription() {
return (propertyFlags & PROP_DESCRIPTION) != 0;
}
public boolean hasActive() {
return (propertyFlags & PROP_ACTIVE) != 0;
}
public boolean hasHref() {
return (propertyFlags & PROP_HREF) != 0;
}
public boolean hasPlaceHolderType() {
return (propertyFlags & PROP_PLACEHOLDERTYPE) != 0;
}
public boolean hasKind() {
return (propertyFlags & PROP_KIND) != 0;
}
public boolean hasLanguage() {
return (propertyFlags & PROP_LANGUAGE) != 0;
}
public boolean hasLinkType() {
return (propertyFlags & PROP_LINKTYPE) != 0;
}
public boolean hasNumFormat() {
return (propertyFlags & PROP_NUMFORMAT) != 0;
}
public boolean hasPageAdjust() {
return (propertyFlags & PROP_PAGEADJUST) != 0;
}
public boolean hasRowNumber() {
return (propertyFlags & PROP_ROWNUMBER) != 0;
}
private static Map createMap() {
Map map = new HashMap();
map.put(
"author-initials", new FieldMap("authorinitials", "TextAuthorInitialsElement", PROP_FIXED));
map.put("author-name", new FieldMap("author-name", "TextAuthorNameElement", PROP_FIXED));
map.put(
"bookmark-ref",
new FieldMap("bookmark-ref", "TextBookmarkRefElement", PROP_REFFORMAT | PROP_REFNAME));
map.put(
"chapter", new FieldMap("chapter", "TextChapterElement", PROP_DISPLAY | PROP_OUTLINELEVEL));
map.put(
"character-count",
new FieldMap(
"character-count",
"TextCharacterCountElement",
PROP_PAGENUMFORMAT | PROP_NUMLETTERSYNC));
map.put(
"conditional-text",
new FieldMap(
"conditional-text",
"TextConditionalTextElement",
PROP_CONDITION | PROP_CURRENTVALUE | PROP_FALSEVALUE | PROP_TRUEVALUE));
map.put(
"creation-date",
new FieldMap(
"creation-date",
"TextCreationDateElement",
PROP_FIXED | PROP_DATEVALUE | PROP_DATEFORMAT));
map.put(
"creation-time",
new FieldMap(
"creation-time",
"TextCreationTimeElement",
PROP_FIXED | PROP_DATEVALUE | PROP_DATEFORMAT | PROP_TIMESTYLE));
map.put("creator", new FieldMap("creator", "TextCreatorElement", PROP_FIXED));
map.put(
"database-display",
new FieldMap(
"database-display",
"TextDatabaseDisplayElement",
PROP_DBTABLE | PROP_DBNAME | PROP_DBCOLUMN));
map.put(
"database-name",
new FieldMap("database-name", "TextDatabaseNameElement", PROP_DBTABLE | PROP_DBNAME));
map.put(
"database-row-number",
new FieldMap(
"database-row-number",
"TextDatabaseRowNumberElement",
PROP_T_VALUE | PROP_DBTABLE | PROP_DBNAME));
map.put(
"database-row-select",
new FieldMap(
"database-row-select",
"TextDatabaseRowSelectElement",
PROP_CONDITION | PROP_DBTABLE | PROP_DBNAME | PROP_ROWNUMBER | PROP_TABLETYPE));
map.put(
"date",
new FieldMap("date", "TextDateElement", PROP_FIXED | PROP_DATEVALUE | PROP_DATEFORMAT));
map.put(
"dde-connection",
new FieldMap("dde-connection", "TextDdeConnectionElement", PROP_CONNECTIONNAME));
map.put("description", new FieldMap("description", "TextDescriptionElement", PROP_FIXED));
map.put(
"editing-cycles", new FieldMap("editing-cycles", "TextEditingCyclesElement", PROP_FIXED));
map.put(
"editing-duration",
new FieldMap(
"editing-duration",
"TextEditingDurationElement",
PROP_FIXED | PROP_DURATION | PROP_DATEFORMAT));
map.put("execute-macro", new FieldMap("execute-macro", "TextExecuteMacroElement", PROP_NAME));
map.put(
"expression",
new FieldMap(
"expression",
"TextExpressionElement",
PROP_BOOLVALUE
| PROP_CURRENCY
| PROP_DATEVALUE
| PROP_STRINGVALUE
| PROP_TIMEVALUE
| PROP_O_VALUE
| PROP_VALUETYPE
| PROP_DATEFORMAT
| PROP_DISPLAY
| PROP_FORMULA));
map.put(
"file-name", new FieldMap("file-name", "TextFileNameElement", PROP_DISPLAY | PROP_FIXED));
map.put(
"hidden-paragraph",
new FieldMap(
"hidden-paragraph", "TextHiddenParagraphElement", PROP_CONDITION | PROP_ISHIDDEN));
map.put(
"hidden-text",
new FieldMap(
"hidden-text",
"TextHiddenTextElement",
PROP_CONDITION | PROP_ISHIDDEN | PROP_STRINGVALUE));
map.put(
"image-count",
new FieldMap(
"image-count", "TextImageCountElement", PROP_PAGENUMFORMAT | PROP_NUMLETTERSYNC));
map.put(
"initial-creator",
new FieldMap("initial-creator", "TextInitialCreatorElement", PROP_FIXED));
map.put("keywords", new FieldMap("keywords", "TextKeywordsElement", 0));
map.put("measure", new FieldMap("measure", "TextMeasureElement", PROP_KIND));
map.put(
"meta-field",
new FieldMap("meta-field", "TextMetaFieldElement", PROP_DATEFORMAT | PROP_ID));
map.put(
"modification-date",
new FieldMap(
"modification-date",
"TextModificationDateElement",
PROP_FIXED | PROP_DATEVALUE | PROP_DATEFORMAT));
map.put(
"modification-time",
new FieldMap(
"modification-time",
"TextModificationTimeElement",
PROP_FIXED | PROP_DATEVALUE | PROP_DATEFORMAT));
map.put(
"note-ref", new FieldMap("note-ref", "TextNoteRefElement", PROP_REFFORMAT | PROP_REFNAME));
map.put(
"object-count",
new FieldMap(
"object-count", "TextObjectCountElement", PROP_PAGENUMFORMAT | PROP_NUMLETTERSYNC));
map.put(
"page-continuation", new FieldMap("page-continuation", "TextPageContinuationElement", 0));
map.put(
"page-count",
new FieldMap(
"page-count", "TextPageCountElement", PROP_PAGENUMFORMAT | PROP_NUMLETTERSYNC));
map.put(
"page-number",
new FieldMap(
"page-number", "TextPageNumberElement", PROP_PAGENUMFORMAT | PROP_NUMLETTERSYNC));
map.put(
"page-variable-get",
new FieldMap(
"page-variable-get",
"TextPageVariableGetElement",
PROP_NUMFORMAT | PROP_NUMLETTERSYNC));
map.put(
"page-variable-set",
new FieldMap(
"page-variable-set", "TextPageVariableSetElement", PROP_PAGEADJUST | PROP_ACTIVE));
map.put(
"paragraph-count",
new FieldMap(
"paragraph-count",
"TextParagraphCountElement",
PROP_PAGENUMFORMAT | PROP_NUMLETTERSYNC));
map.put(
"placeholder",
new FieldMap(
"placeholder", "TextPlaceholderElement", PROP_DESCRIPTION | PROP_PLACEHOLDERTYPE));
map.put(
"print-date",
new FieldMap(
"print-date", "TextPrintDateElement", PROP_FIXED | PROP_DATEVALUE | PROP_DATEFORMAT));
map.put(
"print-time",
new FieldMap(
"print-time",
"TextPrintTimeElement",
PROP_FIXED | PROP_TIMESTYLE | PROP_DATEVALUE | PROP_DATEFORMAT));
map.put("printed-by", new FieldMap("printed-by", "TextPrintedByElement", PROP_FIXED));
map.put(
"reference-ref",
new FieldMap("reference-ref", "TextReferenceRefElement", PROP_REFFORMAT | PROP_REFNAME));
map.put(
"script",
new FieldMap("script", "TextScriptElement", PROP_LANGUAGE | PROP_HREF | PROP_LINKTYPE));
map.put("sender-city", new FieldMap("sender-city", "TextSenderCityElement", 0));
map.put("sender-company", new FieldMap("sender-company", "TextSenderCompanyElement", 0));
map.put("sender-country", new FieldMap("sender-country", "TextSenderCountryElement", 0));
map.put("sender-email", new FieldMap("sender-email", "TextSenderEmailElement", 0));
map.put("sender-fax", new FieldMap("sender-fax", "TextSenderFaxElement", 0));
map.put("sender-firstname", new FieldMap("sender-firstname", "TextSenderFirstnameElement", 0));
map.put("sender-initials", new FieldMap("sender-initials", "TextSenderInitialsElement", 0));
map.put("sender-lastname", new FieldMap("sender-lastname", "TextSenderLastnameElement", 0));
map.put(
"sender-phone-private",
new FieldMap("sender-phone-private", "TextSenderPhonePrivateElement", 0));
map.put(
"sender-phone-work", new FieldMap("sender-phone-work", "TextSenderPhoneWorkElement", 0));
map.put("sender-position", new FieldMap("sender-position", "TextSenderPositionElement", 0));
map.put(
"sender-postal-code", new FieldMap("sender-postal-code", "TextSenderPostalCodeElement", 0));
map.put(
"sender-state-or-province",
new FieldMap("sender-state-or-province", "TextSenderStateOrProvinceElement", 0));
map.put("sender-street", new FieldMap("sender-street", "TextSenderStreetElement", 0));
map.put("sender-title", new FieldMap("sender-title", "TextSenderTitleElement", 0));
map.put(
"sequence-ref",
new FieldMap("sequence-ref", "TextSequenceRefElement", PROP_REFFORMAT | PROP_REFNAME));
map.put(
"sequence",
new FieldMap(
"sequence",
"TextSequenceElement",
PROP_DATEFORMAT | PROP_NUMLETTERSYNC | PROP_FORMULA | PROP_NAME | PROP_REFNAME));
map.put("sheet-name", new FieldMap("sheet-name", "TextSheetNameElement", 0));
map.put("subject", new FieldMap("subject", "TextSubjectElement", PROP_FIXED));
map.put(
"table-count",
new FieldMap(
"table-count", "TextTableCountElement", PROP_PAGENUMFORMAT | PROP_NUMLETTERSYNC));
map.put(
"template-name", new FieldMap("template-name", "TextTemplateNameElement", PROP_DISPLAY));
map.put("text-input", new FieldMap("text-input", "TextTextInputElement", PROP_DESCRIPTION));
map.put(
"time",
new FieldMap(
"time",
"TextTimeElement",
PROP_FIXED | PROP_DATEVALUE | PROP_TIMESTYLE | PROP_DATEFORMAT));
map.put("title", new FieldMap("title", "TextTitleElement", PROP_FIXED));
map.put(
"user-defined",
new FieldMap(
"user-defined",
"TextUserDefinedElement",
PROP_BOOLVALUE
| PROP_CURRENCY
| PROP_DATEVALUE
| PROP_STRINGVALUE
| PROP_TIMEVALUE
| PROP_O_VALUE
| PROP_DATEFORMAT
| PROP_FIXED
| PROP_NAME));
map.put(
"user-field-get",
new FieldMap(
"user-field-get",
"TextUserFieldGetElement",
PROP_DATEFORMAT | PROP_DISPLAY | PROP_NAME | PROP_VALUETYPE));
map.put(
"user-field-input",
new FieldMap(
"user-field-input",
"TextUserFieldInputElement",
PROP_DATEFORMAT | PROP_DESCRIPTION | PROP_NAME));
map.put(
"variable-get",
new FieldMap("variable-get", "TextVariableGetElement", PROP_DATEFORMAT | PROP_DISPLAY));
map.put(
"variable-input",
new FieldMap(
"variable-input",
"TextVariableInputElement",
PROP_BOOLVALUE | PROP_DATEFORMAT | PROP_DISPLAY | PROP_DESCRIPTION | PROP_NAME));
map.put(
"variable-set",
new FieldMap(
"variable-set",
"TextVariableSetElement",
PROP_BOOLVALUE
| PROP_CURRENCY
| PROP_DATEVALUE
| PROP_STRINGVALUE
| PROP_TIMEVALUE
| PROP_O_VALUE
| PROP_VALUETYPE
| PROP_DATEFORMAT
| PROP_DISPLAY
| PROP_FORMULA
| PROP_NAME));
map.put(
"word-count",
new FieldMap(
"word-count", "TextWordCountElement", PROP_PAGENUMFORMAT | PROP_NUMLETTERSYNC));
return Collections.unmodifiableMap(map);
}
}