/* See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* Esri Inc. licenses this file to You 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 com.esri.gpt.catalog.gxe;
/**
* A Geoportal XML editor definition.
*/
public class GxeDefinition {
/** instance variables ====================================================== */
private String fileLocation;
private String key;
private XmlElement rootElement;
/** constructors ============================================================ */
/** Default constructor */
public GxeDefinition() {}
/**
* Construct by duplicating an existing object.
* @param objectToDuplicate the object to duplicate
*/
public GxeDefinition(GxeDefinition objectToDuplicate) {
if (objectToDuplicate != null) {
this.setFileLocation(objectToDuplicate.getFileLocation());
this.setKey(objectToDuplicate.getKey());
if (objectToDuplicate.getRootElement() != null) {
this.setRootElement(objectToDuplicate.getRootElement().duplicate(null));
}
}
}
/** properties ============================================================== */
/**
* Gets the location of the root definition file.
* @return the location
*/
public String getFileLocation() {
return this.fileLocation;
}
/**
* Sets the location of the root definition file.
* @param fileLocation the location
*/
public void setFileLocation(String fileLocation) {
this.fileLocation = fileLocation;
}
/**
* Gets the key for this definition.
* @return the key
*/
public String getKey() {
return this.key;
}
/**
* Sets the key for this definition.
* @param key the key
*/
public void setKey(String key) {
this.key = key;
}
/**
* Gets the root element.
* @return the root element
*/
public XmlElement getRootElement() {
return this.rootElement;
}
/**
* Sets the root element.
* @param rootElement the root element
*/
public void setRootElement(XmlElement rootElement) {
this.rootElement = rootElement;
}
/** methods ================================================================= */
/**
* Produces a deep clone of the object.
* <br/>The duplication constructor is invoked.
* <br/>return new GxdDefinition(this);
* @return the duplicated object
*/
public GxeDefinition duplicate() {
return new GxeDefinition(this);
}
}