Copyright (c) 2000, 2008 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
/*******************************************************************************
* Copyright (c) 2000, 2008 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.jface.text.templates;
import org.eclipse.core.runtime.Assert;
A template consisting of a name and a pattern.
Clients may instantiate this class. May become final in the future.
Since: 3.0 @noextend This class is not intended to be subclassed by clients.
/**
* A template consisting of a name and a pattern.
* <p>
* Clients may instantiate this class. May become final in the future.
* </p>
* @since 3.0
* @noextend This class is not intended to be subclassed by clients.
*/
public class Template {
The name of this template /** The name of this template */
private /*final*/ String fName;
A description of this template /** A description of this template */
private /*final*/ String fDescription;
The name of the context type of this template /** The name of the context type of this template */
private /*final*/ String fContextTypeId;
The template pattern. /** The template pattern. */
private /*final*/ String fPattern;
The auto insertable property.
Since: 3.1
/**
* The auto insertable property.
* @since 3.1
*/
private final boolean fIsAutoInsertable;
Creates an empty template.
/**
* Creates an empty template.
*/
public Template() {
this("", "", "", "", true); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
}
Creates a copy of a template.
Params: - template – the template to copy
/**
* Creates a copy of a template.
*
* @param template the template to copy
*/
public Template(Template template) {
this(template.getName(), template.getDescription(), template.getContextTypeId(), template.getPattern(), template.isAutoInsertable());
}
Creates a template.
Params: - name – the name of the template
- description – the description of the template
- contextTypeId – the id of the context type in which the template can be applied
- pattern – the template pattern
Deprecated: as of 3.1 replaced by Template(String, String, String, String, boolean)
/**
* Creates a template.
*
* @param name the name of the template
* @param description the description of the template
* @param contextTypeId the id of the context type in which the template can be applied
* @param pattern the template pattern
* @deprecated as of 3.1 replaced by {@link #Template(String, String, String, String, boolean)}
*/
@Deprecated
public Template(String name, String description, String contextTypeId, String pattern) {
this(name, description, contextTypeId, pattern, true); // templates are auto insertable per default
}
Creates a template.
Params: - name – the name of the template
- description – the description of the template
- contextTypeId – the id of the context type in which the template can be applied
- pattern – the template pattern
- isAutoInsertable – the auto insertable property of the template
Since: 3.1
/**
* Creates a template.
*
* @param name the name of the template
* @param description the description of the template
* @param contextTypeId the id of the context type in which the template can be applied
* @param pattern the template pattern
* @param isAutoInsertable the auto insertable property of the template
* @since 3.1
*/
public Template(String name, String description, String contextTypeId, String pattern, boolean isAutoInsertable) {
Assert.isNotNull(description);
fDescription= description;
fName= name;
Assert.isNotNull(contextTypeId);
fContextTypeId= contextTypeId;
fPattern= pattern;
fIsAutoInsertable= isAutoInsertable;
}
@Override
public int hashCode() {
return fName.hashCode() ^ fPattern.hashCode() ^ fContextTypeId.hashCode();
}
Sets the description of the template.
Params: - description – the new description
Deprecated: Templates should never be modified
/**
* Sets the description of the template.
*
* @param description the new description
* @deprecated Templates should never be modified
*/
@Deprecated
public void setDescription(String description) {
Assert.isNotNull(description);
fDescription= description;
}
Returns the description of the template.
Returns: the description of the template
/**
* Returns the description of the template.
*
* @return the description of the template
*/
public String getDescription() {
return fDescription;
}
Sets the name of the context type in which the template can be applied.
Params: - contextTypeId – the new context type name
Deprecated: Templates should never be modified
/**
* Sets the name of the context type in which the template can be applied.
*
* @param contextTypeId the new context type name
* @deprecated Templates should never be modified
*/
@Deprecated
public void setContextTypeId(String contextTypeId) {
Assert.isNotNull(contextTypeId);
fContextTypeId= contextTypeId;
}
Returns the id of the context type in which the template can be applied.
Returns: the id of the context type in which the template can be applied
/**
* Returns the id of the context type in which the template can be applied.
*
* @return the id of the context type in which the template can be applied
*/
public String getContextTypeId() {
return fContextTypeId;
}
Sets the name of the template.
Params: - name – the name of the template
Deprecated: Templates should never be modified
/**
* Sets the name of the template.
*
* @param name the name of the template
* @deprecated Templates should never be modified
*/
@Deprecated
public void setName(String name) {
fName= name;
}
Returns the name of the template.
Returns: the name of the template
/**
* Returns the name of the template.
*
* @return the name of the template
*/
public String getName() {
return fName;
}
Sets the pattern of the template.
Params: - pattern – the new pattern of the template
Deprecated: Templates should never be modified
/**
* Sets the pattern of the template.
*
* @param pattern the new pattern of the template
* @deprecated Templates should never be modified
*/
@Deprecated
public void setPattern(String pattern) {
fPattern= pattern;
}
Returns the template pattern.
Returns: the template pattern
/**
* Returns the template pattern.
*
* @return the template pattern
*/
public String getPattern() {
return fPattern;
}
Returns true
if template is enabled and matches the context,
false
otherwise.
Params: - prefix – the prefix (e.g. inside a document) to match
- contextTypeId – the context type id to match
Returns: true
if template is enabled and matches the context,
false
otherwise
/**
* Returns <code>true</code> if template is enabled and matches the context,
* <code>false</code> otherwise.
*
* @param prefix the prefix (e.g. inside a document) to match
* @param contextTypeId the context type id to match
* @return <code>true</code> if template is enabled and matches the context,
* <code>false</code> otherwise
*/
public boolean matches(String prefix, String contextTypeId) {
return fContextTypeId.equals(contextTypeId);
}
@Override
public boolean equals(Object o) {
if (!(o instanceof Template))
return false;
Template t= (Template) o;
if (t == this)
return true;
return t.fName.equals(fName)
&& t.fPattern.equals(fPattern)
&& t.fContextTypeId.equals(fContextTypeId)
&& t.fDescription.equals(fDescription)
&& t.fIsAutoInsertable == fIsAutoInsertable;
}
Returns the auto insertable property of the template.
Returns: the auto insertable property of the template Since: 3.1
/**
* Returns the auto insertable property of the template.
*
* @return the auto insertable property of the template
* @since 3.1
*/
public boolean isAutoInsertable() {
return fIsAutoInsertable;
}
}