/* * ==================================================================== * Copyright (c) 2005-2012 sventon project. All rights reserved. * * This software is licensed as described in the file LICENSE, which * you should have received as part of this distribution. The terms * are also available at http://www.sventon.org. * If newer versions of this license are posted there, you may use a * newer version instead, at your option. * ==================================================================== */ package org.sventon.model; import java.io.Serializable; /** * Property. * * @author jorgen@sventon.org */ public class Property implements Serializable { private static final long serialVersionUID = 3742680425755911460L; private final String name; private static final String SVN_PREFIX = "svn:"; private static final String SVN_ENTRY_PREFIX = "svn:entry:"; public static final Property REVISION = new Property(SVN_ENTRY_PREFIX + "revision"); public static final Property HAS_PROPS = new Property(SVN_ENTRY_PREFIX + "has-props"); public static final Property HAS_PROP_MODS = new Property(SVN_ENTRY_PREFIX + "has-prop-mods"); public static final Property CACHABLE_PROPS = new Property(SVN_ENTRY_PREFIX + "cachable-props"); public static final Property PRESENT_PROPS = new Property(SVN_ENTRY_PREFIX + "present-props"); public static final Property KEEP_LOCAL = new Property(SVN_ENTRY_PREFIX + "keep-local"); public static final Property CHANGELIST = new Property(SVN_ENTRY_PREFIX + "changelist"); public static final Property CHECKSUM = new Property(SVN_ENTRY_PREFIX + "checksum"); public static final Property WORKING_SIZE = new Property(SVN_ENTRY_PREFIX + "working-size"); public static final Property DEPTH = new Property(SVN_ENTRY_PREFIX + "depth"); public static final Property FILE_EXTERNAL_PATH = new Property(SVN_ENTRY_PREFIX + "file-external-path"); public static final Property FILE_EXTERNAL_REVISION = new Property(SVN_ENTRY_PREFIX + "file-external-revision"); public static final Property FILE_EXTERNAL_PEG_REVISION = new Property(SVN_ENTRY_PREFIX + "file-external-peg-revision"); public static final Property TREE_CONFLICT_DATA = new Property(SVN_ENTRY_PREFIX + "tree-conflicts"); public static final Property URL = new Property(SVN_ENTRY_PREFIX + "url"); public static final Property COPYFROM_URL = new Property(SVN_ENTRY_PREFIX + "copyfrom-url"); public static final Property COPYFROM_REVISION = new Property(SVN_ENTRY_PREFIX + "copyfrom-rev"); public static final Property SCHEDULE = new Property(SVN_ENTRY_PREFIX + "schedule"); public static final Property COPIED = new Property(SVN_ENTRY_PREFIX + "copied"); public static final Property UUID = new Property(SVN_ENTRY_PREFIX + "uuid"); public static final Property REPOS = new Property(SVN_ENTRY_PREFIX + "repos"); public static final Property PROP_TIME = new Property(SVN_ENTRY_PREFIX + "prop-time"); public static final Property EXT_TIME = new Property(SVN_ENTRY_PREFIX + "text-time"); public static final Property NAME = new Property(SVN_ENTRY_PREFIX + "name"); public static final Property KIND = new Property(SVN_ENTRY_PREFIX + "kind"); public static final Property CONFLICT_OLD = new Property(SVN_ENTRY_PREFIX + "conflict-old"); public static final Property CONFLICT_NEW = new Property(SVN_ENTRY_PREFIX + "conflict-new"); public static final Property CONFLICT_WRK = new Property(SVN_ENTRY_PREFIX + "conflict-wrk"); public static final Property PROP_REJECT_FILE = new Property(SVN_ENTRY_PREFIX + "prop-reject-file"); public static final Property DELETED = new Property(SVN_ENTRY_PREFIX + "deleted"); public static final Property ABSENT = new Property(SVN_ENTRY_PREFIX + "absent"); public static final Property INCOMPLETE = new Property(SVN_ENTRY_PREFIX + "incomplete"); public static final Property CORRUPTED = new Property(SVN_ENTRY_PREFIX + "corrupted"); public static final Property LOCK_TOKEN = new Property(SVN_ENTRY_PREFIX + "lock-token"); public static final Property LOCK_COMMENT = new Property(SVN_ENTRY_PREFIX + "lock-comment"); public static final Property LOCK_OWNER = new Property(SVN_ENTRY_PREFIX + "lock-owner"); public static final Property LOCK_CREATION_DATE = new Property(SVN_ENTRY_PREFIX + "lock-creation-date"); public static final Property LAST_AUTHOR = new Property(SVN_ENTRY_PREFIX + "last-author"); public static final Property COMMITTED_DATE = new Property(SVN_ENTRY_PREFIX + "committed-date"); public static final Property COMMITTED_REVISION = new Property(SVN_ENTRY_PREFIX + "committed-rev"); public static final Property KEYWORDS = new Property(SVN_PREFIX + "keywords"); public static final Property NEEDS_LOCK = new Property(SVN_PREFIX + "needs-lock"); public static final Property MIME_TYPE = new Property(SVN_PREFIX + "mime-type"); public static final Property EOL_STYLE = new Property(SVN_PREFIX + "eol-style"); public static final Property IGNORE = new Property(SVN_PREFIX + "ignore"); public static final Property EXECUTABLE = new Property(SVN_PREFIX + "executable"); public static final Property EXTERNALS = new Property(SVN_PREFIX + "externals"); public static final Property SPECIAL = new Property(SVN_PREFIX + "special"); public static final Property MERGE_INFO = new Property(SVN_PREFIX + "mergeinfo"); public static final Property[] ALL_SVN_ENTRY_PROPERTIES = new Property[]{ REVISION, HAS_PROPS, HAS_PROP_MODS, CACHABLE_PROPS, PRESENT_PROPS, KEEP_LOCAL, CHANGELIST, CHECKSUM, WORKING_SIZE, DEPTH, FILE_EXTERNAL_PATH, FILE_EXTERNAL_REVISION, FILE_EXTERNAL_PEG_REVISION, TREE_CONFLICT_DATA, URL, COPYFROM_URL, COPYFROM_REVISION, SCHEDULE, COPIED, UUID, REPOS, PROP_TIME, EXT_TIME, NAME, KIND, CONFLICT_OLD, CONFLICT_NEW, CONFLICT_WRK, PROP_REJECT_FILE, DELETED, ABSENT, INCOMPLETE, CORRUPTED, LOCK_TOKEN, LOCK_COMMENT, LOCK_OWNER, LOCK_CREATION_DATE, LAST_AUTHOR, COMMITTED_DATE, COMMITTED_REVISION }; public static final Property[] COMMON_SVN_ENTRY_PROPERTIES = new Property[]{ CHECKSUM, COPYFROM_URL, COPYFROM_REVISION, UUID, KIND, LAST_AUTHOR, COMMITTED_DATE, COMMITTED_REVISION }; public Property(String name) { this.name = name; } public String getName() { return name; } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; Property property = (Property) o; return !(name != null ? !name.equals(property.name) : property.name != null); } @Override public int hashCode() { return name != null ? name.hashCode() : 0; } @Override public String toString() { return name; } }