All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.eclipse.text.templates.TemplatePersistenceData Maven / Gradle / Ivy

Go to download

AspectJ tools most notably contains the AspectJ compiler (AJC). AJC applies aspects to Java classes during compilation, fully replacing Javac for plain Java classes and also compiling native AspectJ or annotation-based @AspectJ syntax. Furthermore, AJC can weave aspects into existing class files in a post-compile binary weaving step. This library is a superset of AspectJ weaver and hence also of AspectJ runtime.

There is a newer version: 1.9.22.1
Show newest version
/*******************************************************************************
 * Copyright (c) 2000, 2018 IBM Corporation and others.
 *
 * This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License 2.0
 * which accompanies this distribution, and is available at
 * https://www.eclipse.org/legal/epl-2.0/
 *
 * SPDX-License-Identifier: EPL-2.0
 *
 * Contributors:
 *     IBM Corporation - initial API and implementation
 *******************************************************************************/
package org.eclipse.text.templates;

import java.util.Objects;
import java.util.UUID;

import org.eclipse.core.runtime.Assert;

import org.eclipse.jface.text.templates.Template;


/**
 * TemplatePersistenceData stores information about a template. It uniquely
 * references contributed templates via their id. Contributed templates may be
 * deleted or modified. All template may be enabled or not.
 * 

* Clients may use this class, although this is not usually needed except when * implementing a custom template preference page or template store. This class * is not intended to be subclassed. *

* * @since 3.7 * @noextend This class is not intended to be subclassed by clients. */ public class TemplatePersistenceData { private final Template fOriginalTemplate; private final String fId; private final boolean fOriginalIsEnabled; private Template fCustomTemplate= null; private boolean fIsDeleted= false; private boolean fCustomIsEnabled= true; /* * Required to support equals() with deprecated type org.eclipse.jface.text.templates.persistence.TemplatePersistenceData. */ private final UUID uniqueIdForEquals = UUID.randomUUID(); /** * Creates a new, user-added instance that is not linked to a contributed * template. * * @param template the template which is stored by the new instance * @param enabled whether the template is enabled */ public TemplatePersistenceData(Template template, boolean enabled) { this(template, enabled, null); } /** * Creates a new instance. If id is not null, * the instance is represents a template that is contributed and can be * identified via its id. * * @param template the template which is stored by the new instance * @param enabled whether the template is enabled * @param id the id of the template, or null if a user-added * instance should be created */ public TemplatePersistenceData(Template template, boolean enabled, String id) { Assert.isNotNull(template); fOriginalTemplate= template; fCustomTemplate= template; fOriginalIsEnabled= enabled; fCustomIsEnabled= enabled; fId= id; } /** * Returns the id of this template store, or null if there is none. * * @return the id of this template store */ public String getId() { return fId; } /** * Returns the deletion state of the stored template. This is only relevant * of contributed templates. * * @return the deletion state of the stored template */ public boolean isDeleted() { return fIsDeleted; } /** * Sets the deletion state of the stored template. * * @param isDeleted the deletion state of the stored template */ public void setDeleted(boolean isDeleted) { fIsDeleted= isDeleted; } /** * Returns the template encapsulated by the receiver. * * @return the template encapsulated by the receiver */ public Template getTemplate() { return fCustomTemplate; } /** * Sets the template encapsulated by the receiver. * * @param template the new template */ public void setTemplate(Template template) { fCustomTemplate= template; } /** * Returns whether the receiver represents a custom template, i.e. is either * a user-added template or a contributed template that has been modified. * * @return true if the contained template is a custom * template and cannot be reconstructed from the contributed * templates */ public boolean isCustom() { return fId == null || fIsDeleted || fOriginalIsEnabled != fCustomIsEnabled || !fOriginalTemplate.equals(fCustomTemplate); } /** * Returns whether the receiver represents a modified template, i.e. a * contributed template that has been changed. * * @return true if the contained template is contributed but has been modified, false otherwise */ public boolean isModified() { return isCustom() && !isUserAdded(); } /** * Returns true if the contained template was added by a * user, i.e. does not reference a contributed template. * * @return true if the contained template was added by a user, false otherwise */ public boolean isUserAdded() { return fId == null; } /** * Reverts the template to its original setting. */ public void revert() { fCustomTemplate= fOriginalTemplate; fCustomIsEnabled= fOriginalIsEnabled; fIsDeleted= false; } /** * Returns the enablement state of the contained template. * * @return the enablement state of the contained template */ public boolean isEnabled() { return fCustomIsEnabled; } /** * Sets the enablement state of the contained template. * * @param isEnabled the new enablement state of the contained template */ public void setEnabled(boolean isEnabled) { fCustomIsEnabled= isEnabled; } @Override public int hashCode() { return Objects.hash(uniqueIdForEquals); } @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (!(obj instanceof TemplatePersistenceData)) { return false; } TemplatePersistenceData other= (TemplatePersistenceData) obj; return Objects.equals(uniqueIdForEquals, other.getUniqueIdForEquals()); } /** * Required to support equals() with deprecated type org.eclipse.jface.text.templates.persistence.TemplatePersistenceData. * @return unique id to support {@link #equals(Object)} * @since 3.8 */ protected UUID getUniqueIdForEquals() { return uniqueIdForEquals; } /** * Required to support equals() with deprecated type org.eclipse.jface.text.templates.persistence.TemplatePersistenceData. * @param data non null * @return unique id to support {@link #equals(Object)} * @since 3.8 */ protected static final UUID getUniqueIdForEquals(TemplatePersistenceData data) { return data.getUniqueIdForEquals(); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy