| career | drupal | java | mac | mysql | perl | scala | uml | unix  

Android example source code file (

This example Android source code file ( is included in the "Java Source Code Warehouse" project. The intent of this project is to help you "Learn Android by Example" TM.

Java - Android tags/keywords

historyrecord, language, long, object, override, separator, string

The Android example source code

 * Copyright (C) 2008 Google Inc.
 * 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
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * See the License for the specific language governing permissions and
 * limitations under the License.


import static;

 * This class describes one entry in the history
public class HistoryRecord {
    private static final String SEPARATOR = "@";

    public Language from;
    public Language to;
    public String input;
    public String output;
    public long when;

    public HistoryRecord(Language from, Language to, String input, String output, long when) {
        this.from = from; = to;
        this.input = input;
        this.output = output;
        this.when = when;

    public boolean equals(Object o) {
        if (o == null) return false;
        if (o == this) return true;
        try {
            HistoryRecord other = (HistoryRecord) o;
            return other.from.equals(from) && &&
                    other.input.equals(input) && other.output.equals(output);
        } catch(Exception ex) {
            return false;

    public int hashCode() {
        return from.hashCode() ^ to.hashCode() ^ input.hashCode() ^ output.hashCode();

    public String encode() {
        return + SEPARATOR + + SEPARATOR + input
                + SEPARATOR + output + SEPARATOR + new Long(when);
    public String toString() {
        return encode();
    public static HistoryRecord decode(String s) {
        Object[] o = s.split(SEPARATOR);
        int i = 0;
        Language from = Language.valueOf((String) o[i++]);
        Language to = Language.valueOf((String) o[i++]);
        String input = (String) o[i++];
        String output = (String) o[i++];
        Long when = Long.valueOf((String) o[i++]);
        HistoryRecord result = new HistoryRecord(from, to, input, output, when);
        return result;

Other Android examples (source code examples)

Here is a short list of links related to this Android source code file:

... this post is sponsored by my books ...

#1 New Release!

FP Best Seller


new blog posts


Copyright 1998-2021 Alvin Alexander,
All Rights Reserved.

A percentage of advertising revenue from
pages under the /java/jwarehouse URI on this website is
paid back to open source projects.